diff --git a/flake.lock b/flake.lock index a4c1454..ef81198 100644 --- a/flake.lock +++ b/flake.lock @@ -55,26 +55,6 @@ "type": "github" } }, - "nix-index-database": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1729394935, - "narHash": "sha256-2ntUG+NJKdfhlrh/tF+jOU0fOesO7lm5ZZVSYitsvH8=", - "owner": "nix-community", - "repo": "nix-index-database", - "rev": "04f8a11f247ba00263b060fbcdc95484fd046104", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-index-database", - "type": "github" - } - }, "nixos-hardware": { "locked": { "lastModified": 1729742320, @@ -112,7 +92,6 @@ "disko": "disko", "home-manager": "home-manager", "impermanence": "impermanence", - "nix-index-database": "nix-index-database", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs" } diff --git a/flake.nix b/flake.nix index 60e2591..6e30e20 100644 --- a/flake.nix +++ b/flake.nix @@ -21,7 +21,7 @@ inherit system; config.allowUnfree = true; }; - lib = import ./src/lib.nix { + lib = import ./lib.nix { inherit (nixpkgs) lib; inherit pkgs; inherit (inputs) home-manager; @@ -52,7 +52,7 @@ in { inherit lib self; - nixosConfigurations = (import ./src/hosts/default.nix commonArgs); + nixosConfigurations = (import ./src/hosts/nixos.nix commonArgs); }; # outputs = {nixpkgs, ...} @ inputs: diff --git a/src/hosts/default.nix b/src/hosts/default.nix index bcb9292..d45568e 100644 --- a/src/hosts/default.nix +++ b/src/hosts/default.nix @@ -27,9 +27,10 @@ let modules = [ inputs.disko.nixosModules.default + inputs.home-manager.nixosModules.home-manager + inputs.impermanence.nixosModules.impermanence ./${host} ./${host}/hardware.nix - ../nixos { home-manager = { useGlobalPkgs = true; @@ -43,7 +44,7 @@ let imports = [ inputs.nix-index-database.hmModules.nix-index # ./${host}/home.nix - ../home + ../../home ]; }; }; @@ -54,8 +55,6 @@ let "users" user ]) - inputs.home-manager.nixosModules.home-manager - inputs.impermanence.nixosModules.impermanence ]; }; in diff --git a/src/hosts/pickwick/default.nix b/src/hosts/pickwick/default.nix index 78e97d6..1fb381b 100644 --- a/src/hosts/pickwick/default.nix +++ b/src/hosts/pickwick/default.nix @@ -1,15 +1,17 @@ { config, lib, pkgs, inputs, ... }: { - imports = []; + imports = [ + ]; + + nixpkgs.config.allowUnfree = true; boot.kernelParams = [ "resume_offset=533760" ]; - # boot.resumeDevice = "/dev/pool/root"; + boot.resumeDevice = "/dev/pool/root"; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; networking.hostName = "pickwick"; - networking.hostId = builtins.substring 0 8 (builtins.hashString "md5" config.networking.hostName); networking.networkmanager.enable = true; time.timeZone = "America/Chicago"; @@ -22,6 +24,7 @@ services.xserver.desktopManager.gnome.enable = true; services.xserver.xkb.layout = "us"; + security.sudo.extraConfig = "Defaults lecture=never"; security.pam.services.login.fprintAuth = false; security.pam.services.sudo.fprintAuth = false; @@ -44,17 +47,17 @@ services.libinput.enable = true; - # users.users.root.hashedPasswordFile = "/persist/passwords/root"; - # users.users.rayandrew = { - # isNormalUser = true; - # # initialPassword = "12345"; - # hashedPasswordFile = "/persist/passwords/rayandrew"; - # extraGroups = [ "wheel" "audio" "keyd" ]; - # packages = with pkgs; [ - # firefox - # tree - # ]; - # }; + users.users.root.hashedPasswordFile = "/persist/passwords/root"; + users.users.rayandrew = { + isNormalUser = true; + # initialPassword = "12345"; + hashedPasswordFile = "/persist/passwords/rayandrew"; + extraGroups = [ "wheel" "audio" "keyd" ]; + packages = with pkgs; [ + firefox + tree + ]; + }; users.groups.keyd = {}; environment.systemPackages = with pkgs; [ @@ -96,31 +99,32 @@ programs.dconf.enable = true; - # environment.persistence."/persist/system" = { - # hideMounts = true; - # directories = [ - # "/var/log" - # "/var/lib/fprint" - # "/var/lib/nixos" - # "/var/lib/bluetooth" - # "/var/lib/systemd/coredump" - # "/etc/NetworkManager/system-connections" - # { directory = "/var/lib/colord"; user = "colord"; group = "colord"; mode = "u=rwx,g=rx,o="; } - # ]; - # files = [ - # "/etc/machine-id" - # ]; - # }; + fileSystems."/persist".neededForBoot = true; + environment.persistence."/persist/system" = { + hideMounts = true; + directories = [ + "/var/log" + "/var/lib/fprint" + "/var/lib/nixos" + "/var/lib/bluetooth" + "/var/lib/systemd/coredump" + "/etc/NetworkManager/system-connections" + { directory = "/var/lib/colord"; user = "colord"; group = "colord"; mode = "u=rwx,g=rx,o="; } + ]; + files = [ + "/etc/machine-id" + ]; + }; programs.fuse.userAllowOther = true; - # home-manager = { - # extraSpecialArgs = {inherit inputs pkgs;}; - # users = { - # "rayandrew" = import ./home.nix; - # }; - # useGlobalPkgs = true; - # useUserPackages = true; - # }; + home-manager = { + extraSpecialArgs = {inherit inputs pkgs;}; + users = { + "rayandrew" = import ./home.nix; + }; + useGlobalPkgs = true; + useUserPackages = true; + }; services.keyd = { enable = true; diff --git a/src/hosts/pickwick/disko.nix b/src/hosts/pickwick/disko.nix index 2b796fb..a0ae040 100644 --- a/src/hosts/pickwick/disko.nix +++ b/src/hosts/pickwick/disko.nix @@ -71,24 +71,23 @@ zpool = { zroot = { type = "zpool"; - # mode = "mirror"; + mode = "mirror"; options = { cachefile = "none"; - ashift = "12"; + ashift = 12; autotrim = "on"; }; rootFsOptions = { compression = "zstd"; acltype = "posixacl"; xattr = "sa"; + "com.sun:auto-snapshot" = "false"; mountpoint = "none"; encryption = "aes-256-gcm"; keyformat = "passphrase"; keylocation = "prompt"; - normalization = "formD"; - "com.sun:auto-snapshot" = "false"; }; - mountpoint = null; + mountpoint = "none"; postCreateHook = "zfs list -t snapshot -H -o name | grep -E '^zroot@blank$' || zfs snapshot zroot@blank"; datasets = { nix = { diff --git a/src/hosts/pickwick/hardware.nix b/src/hosts/pickwick/hardware.nix index 80cd2dd..71a87ed 100644 --- a/src/hosts/pickwick/hardware.nix +++ b/src/hosts/pickwick/hardware.nix @@ -1,7 +1,7 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ inputs, config, lib, pkgs, modulesPath, ... }: +{ input, config, lib, pkgs, modulesPath, ... }: { imports = [ @@ -25,9 +25,4 @@ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; - - # filesystems - fileSystems."/cache".neededForBoot = true; - fileSystems."/persist".neededForBoot = true; } -