Changes
7 changed files (+263/-4)
-
-
@@ -27,3 +27,6 @@ zig-out# distrobuilder output files. incus.tar.xz rootfs.squashfs # QEMU image file. *.qcow2
-
-
-
@@ -118,15 +118,31 @@{ system, module }: nixpkgs.lib.nixosSystem { inherit system; pkgs = import nixpkgs { inherit system; overlays = [ (import ./overlays/legit.nix) (import ./overlays/atkinson-hyperlegible-next.nix) # Flake packages (final: prev: { plac = plac.packages."${system}".default; }) ]; }; modules = [ module ]; specialArgs = { inherit nixpkgs home-manager; }; specialArgs = { inherit nixpkgs home-manager nix-colorizer; }; }; in { nixos-workerbee = mkNixosConfiguration { workerbee = mkNixosConfiguration { system = "x86_64-linux"; module = ./modules/nixos/profiles/workerbee.nix; }; queenbee = mkNixosConfiguration { system = "x86_64-linux"; module = ./modules/nixos/profiles/queenbee.nix; }; }; apps = builtins.listToAttrs (
-
@@ -151,7 +167,7 @@SQUASHFS=$(nix build .#nixosConfigurations."$CONFIG_NAME".config.system.build.squashfs --no-link --print-out-paths) METADATA=$(nix build .#nixosConfigurations."$CONFIG_NAME".config.system.build.metadata --no-link --print-out-paths) incus image import --alias "$CONFIG_NAME" "$METADATA"/tarball/*.tar.xz "$SQUASHFS"/nixos-lxc-image-${system}.squashfs incus image import --alias "pocka/$CONFIG_NAME/nixos" "$METADATA"/tarball/*.tar.xz "$SQUASHFS"/nixos-lxc-image-${system}.squashfs ''; }; in
-
-
-
@@ -0,0 +1,55 @@# Copyright 2025 Shota FUJI <pockawoooh@gmail.com> # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH # REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY # AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, # INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM # LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # SPDX-License-Identifier: 0BSD # # Home Manager configuration for NixOS desktop environment. # Development work is done inside workerbee container launched via Incus. # # A custom waybar module displays the first line of "$XDG_DATA_HOME/todo.md". # Create a symbolic link or normal file there. The module tries to read with # 10s interval if the file does not exist. { config, pkgs, ... }: { imports = [ ../home-manager/state-version.nix ../home-manager/cli.nix ../nix ../shell ../essentials ../signing ../terminal ../vcs ../hive ../syncthing ../fonts ../wayland-desktop ../apps/music ../apps/web ]; config = { home.username = "queenbee"; home.homeDirectory = "/home/queenbee"; xdg.enable = true; wayland-desktop.niri.outputs = [ { name = "HDMI-A-1"; scale = 1.4; } ]; }; }
-
-
-
@@ -0,0 +1,91 @@# Copyright 2025 Shota FUJI <pockawoooh@gmail.com> # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH # REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY # AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, # INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM # LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # SPDX-License-Identifier: 0BSD # # Container and VM management. { ... }: { config = { networking.nftables.enable = true; virtualisation.incus = { enable = true; preseed = { config = { "images.auto_update_interval" = "0"; }; networks = [ { config = { "ipv4.address" = "10.236.32.1/24"; "ipv4.nat" = "true"; "ipv6.address" = "fd42:d2ea:8018:467a::1/64"; "ipv6.nat" = "true"; }; name = "incusbr0"; type = "bridge"; project = "default"; } ]; storage_pools = [ { config = { source = "/var/lib/incus/storage-pools/default"; }; name = "default"; driver = "dir"; } ]; profiles = [ { description = "Default Incus profile"; devices = { eth0 = { name = "eth0"; network = "incusbr0"; type = "nic"; }; root = { path = "/"; pool = "default"; type = "disk"; }; }; name = "default"; } ]; projects = [ { config = { "features.images" = "true"; "features.networks" = "true"; "features.networks.zones" = "true"; "features.profiles" = "true"; "features.storage.buckets" = "true"; "features.storage.volumes" = "true"; }; description = "Default Incus project"; name = "default"; } ]; }; }; }; }
-
-
-
@@ -15,12 +15,13 @@# # Configures Home Manager. { home-manager, ... }: { home-manager, nix-colorizer, ... }: { imports = [ home-manager.nixosModules.home-manager ]; config = { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = { inherit nix-colorizer; }; }; }
-
-
-
@@ -0,0 +1,57 @@# Copyright 2025 Shota FUJI <pockawoooh@gmail.com> # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH # REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY # AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, # INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM # LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # SPDX-License-Identifier: 0BSD # # NixOS module for workerbee, container guest for development works. # This module is used as Incus system container. { pkgs, nixpkgs, home-manager, ... }: { imports = [ ../nixos/state-version.nix ../home-manager ../essentials ../shell ../hive ../wayland-desktop ]; config = { boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; networking.hostName = "hive"; users.mutableUsers = false; users.users = { queenbee = { uid = 1000; isNormalUser = true; # TODO: Change this initialPassword = "test"; extraGroups = [ "wheel" "incus-admin" ]; }; }; home-manager.users.queenbee = ../../hm/profiles/nixos-desktop.nix; }; }
-
-
-
@@ -0,0 +1,36 @@# Copyright 2025 Shota FUJI <pockawoooh@gmail.com> # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH # REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY # AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, # INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM # LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR # OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. # # SPDX-License-Identifier: 0BSD # # Desktop environment on Wayland. This module assumes user imports # "modules/hm/wayland-desktop". { pkgs, ... }: { config = { security.pam.services.swaylock = { }; programs.niri.enable = true; services.displayManager = { defaultSession = "niri"; sddm = { enable = true; wayland.enable = true; theme = "${pkgs.catppuccin-sddm}/share/sddm/themes/catppuccin-mocha-mauve"; }; }; }; }
-