From 76503f0e0cdbc18ceda4d39360f41c19d328dfe9 Mon Sep 17 00:00:00 2001 From: Ray Andrew Date: Sat, 26 Oct 2024 22:51:48 -0500 Subject: [PATCH] use xanmod --- src/hosts/pickwick/default.nix | 96 +-------------------------------- src/hosts/pickwick/hardware.nix | 46 +++------------- src/nixos/1password.nix | 17 ++++++ src/nixos/default.nix | 7 +++ src/nixos/keyd.nix | 45 ++++++++++++++++ src/nixos/zfs.nix | 28 ++++++++++ 6 files changed, 106 insertions(+), 133 deletions(-) create mode 100644 src/nixos/1password.nix create mode 100644 src/nixos/keyd.nix create mode 100644 src/nixos/zfs.nix diff --git a/src/hosts/pickwick/default.nix b/src/hosts/pickwick/default.nix index a1e8fa6..12ae2ff 100644 --- a/src/hosts/pickwick/default.nix +++ b/src/hosts/pickwick/default.nix @@ -1,9 +1,8 @@ -{ config, lib, pkgs, inputs, ... }: +{ config, lib, pkgs, inputs, user, ... }: { imports = []; - networking.hostName = "pickwick"; networking.hostId = builtins.substring 0 8 (builtins.hashString "md5" config.networking.hostName); networking.networkmanager.enable = true; @@ -23,12 +22,6 @@ # framework setting services.fwupd.enable = true; - # services.fwupd.package = (import (builtins.fetchTarball { - # url = "https://github.com/NixOS/nixpkgs/archive/bb2009ca185d97813e75736c2b8d1d8bb81bde05.tar.gz"; - # sha256 = "sha256:003qcrsq5g5lggfrpq31gcvj82lb065xvr7bpfa8ddsw8x4dnysk"; - # }) { - # inherit (pkgs) system; - # }).fwupd; hardware.framework.amd-7040.preventWakeOnAC = true; services.pipewire = { @@ -39,27 +32,8 @@ 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.groups.keyd = {}; - environment.systemPackages = with pkgs; [ - vim - wget - htop-vim - keyd - ]; - environment.gnome.excludePackages = with pkgs; [ baobab cheese @@ -76,20 +50,6 @@ gnome-disk-utility ]; - programs._1password.enable = true; - programs._1password-gui = { - enable = true; - polkitPolicyOwners = [ "rayandrew" ]; - }; - environment.etc = { - "1password/custom_allowed_browsers" = { - text = '' - firefox - ''; - mode = "0755"; - }; - }; - programs.dconf.enable = true; # environment.persistence."/persist/system" = { @@ -109,60 +69,6 @@ # }; programs.fuse.userAllowOther = true; - # home-manager = { - # extraSpecialArgs = {inherit inputs pkgs;}; - # users = { - # "rayandrew" = import ./home.nix; - # }; - # useGlobalPkgs = true; - # useUserPackages = true; - # }; - - services.keyd = { - enable = true; - keyboards = { - default = { - ids = [ "*" ]; - settings = { - main = { - capslock = "layer(capslock)"; - insert = "S-insert"; - }; - meta = { - w = "macro(C-w)"; - a = "macro(C-a)"; - }; - "capslock:C" = { }; - }; - }; - framework = { - ids = [ "0001:0001:a38e6885" ]; - settings = { - main = { - leftalt = "layer(meta)"; - leftmeta = "layer(alt)"; - }; - }; - }; - normal = { - ids = [ "413c:2107:eb8bfad1" ]; - settings = { - main = { - leftalt = "layer(meta)"; - leftmeta = "layer(alt)"; - }; - }; - }; - }; - }; - - systemd.services.keyd.serviceConfig.CapabilityBoundingSet = [ - "CAP_SETGID" - ]; - - # swapDevices = [ - # { device = "/swap/swapfile"; } - # ]; systemd.services = { # https://github.com/openzfs/zfs/issues/10891 diff --git a/src/hosts/pickwick/hardware.nix b/src/hosts/pickwick/hardware.nix index bfd6a08..f88b6e6 100644 --- a/src/hosts/pickwick/hardware.nix +++ b/src/hosts/pickwick/hardware.nix @@ -14,50 +14,20 @@ boot.initrd.kernelModules = [ "dm-snapshot" ]; boot.kernelModules = [ "kvm-amd" ]; boot.extraModulePackages = [ ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.eth0.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; - - boot.supportedFilesystems.zfs = true; - boot.zfs = { - devNodes ="/dev/disk/by-partuuid"; - package = pkgs.zfs_unstable; - requestEncryptionCredentials = true; - }; - # boot.kernelPackages = - # assert lib.assertMsg (lib.versionOlder pkgs.zfs_unstable.version "2.3") - # "zfs 2.3 supports kernel 6.11 or greater"; - # pkgs.linuxPackagesFor ( - # pkgs.linux_xanmod_latest.override { - # argsOverride = rec { - # version = "6.10.11"; - # modDirVersion = lib.versions.pad 3 "${version}-xanmod1"; - # src = pkgs.fetchFromGitHub { - # owner = "xanmod"; - # repo = "linux"; - # rev = modDirVersion; - # hash = "sha256-FDWFpiN0VvzdXcS3nZHm1HFgASazNX5+pL/8UJ3hkI8="; - # }; - # }; - # } - # ); - boot.kernelParams = [ ]; - # boot.resumeDevice = "/dev/pool/root"; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; + + networking.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + + hardware.enableRedistributableFirmware = true; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + swapDevices = [ { device = "/dev/disk/by-label/SWAP"; } ]; zramSwap.enable = true; - # filesystems fileSystems."/cache".neededForBoot = true; fileSystems."/persist".neededForBoot = true; } diff --git a/src/nixos/1password.nix b/src/nixos/1password.nix new file mode 100644 index 0000000..a5c7903 --- /dev/null +++ b/src/nixos/1password.nix @@ -0,0 +1,17 @@ +{ config, pkgs, user, ... }: + +{ + programs._1password.enable = true; + programs._1password-gui = { + enable = true; + polkitPolicyOwners = [ user ]; + }; + environment.etc = { + "1password/custom_allowed_browsers" = { + text = '' + firefox + ''; + mode = "0755"; + }; + }; +} diff --git a/src/nixos/default.nix b/src/nixos/default.nix index 5817136..684a89e 100644 --- a/src/nixos/default.nix +++ b/src/nixos/default.nix @@ -7,9 +7,12 @@ { imports = [ + ./1password.nix ./impermanence.nix + ./keyd.nix ./nix.nix ./users.nix + ./zfs.nix ]; options.custom = with lib; { @@ -55,6 +58,10 @@ yazi ripgrep htop + vim + wget + htop-vim + keyd ] ++ (lib.attrValues config.custom.shell.packages); }; }; diff --git a/src/nixos/keyd.nix b/src/nixos/keyd.nix new file mode 100644 index 0000000..1e64acb --- /dev/null +++ b/src/nixos/keyd.nix @@ -0,0 +1,45 @@ +{ config, ... }: + +{ + services.keyd = { + enable = true; + keyboards = { + default = { + ids = [ "*" ]; + settings = { + main = { + capslock = "layer(capslock)"; + insert = "S-insert"; + }; + meta = { + w = "macro(C-w)"; + a = "macro(C-a)"; + }; + "capslock:C" = { }; + }; + }; + framework = { + ids = [ "0001:0001:a38e6885" ]; + settings = { + main = { + leftalt = "layer(meta)"; + leftmeta = "layer(alt)"; + }; + }; + }; + normal = { + ids = [ "413c:2107:eb8bfad1" ]; + settings = { + main = { + leftalt = "layer(meta)"; + leftmeta = "layer(alt)"; + }; + }; + }; + }; + }; + + systemd.services.keyd.serviceConfig.CapabilityBoundingSet = [ + "CAP_SETGID" + ]; +} diff --git a/src/nixos/zfs.nix b/src/nixos/zfs.nix new file mode 100644 index 0000000..c3675ad --- /dev/null +++ b/src/nixos/zfs.nix @@ -0,0 +1,28 @@ +{ config, pkgs, lib, ... }: + +{ + boot.supportedFilesystems.zfs = true; + boot.zfs = { + devNodes ="/dev/disk/by-partuuid"; + package = pkgs.zfs_unstable; + requestEncryptionCredentials = true; + }; + boot.kernelPackages = + assert lib.assertMsg (lib.versionOlder pkgs.zfs_unstable.version "2.3") + "zfs 2.3 supports kernel 6.11 or greater"; + pkgs.linuxPackagesFor ( + pkgs.linux_xanmod_latest.override { + argsOverride = rec { + version = "6.10.11"; + modDirVersion = lib.versions.pad 3 "${version}-xanmod1"; + src = pkgs.fetchFromGitHub { + owner = "xanmod"; + repo = "linux"; + rev = modDirVersion; + hash = "sha256-FDWFpiN0VvzdXcS3nZHm1HFgASazNX5+pL/8UJ3hkI8="; + }; + }; + } + ); + +}