use xanmod

This commit is contained in:
Ray Andrew 2024-10-26 22:51:48 -05:00
parent 44bd191f2a
commit 76503f0e0c
6 changed files with 106 additions and 133 deletions

View file

@ -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

View file

@ -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.<interface>.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;
}

17
src/nixos/1password.nix Normal file
View file

@ -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";
};
};
}

View file

@ -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);
};
};

45
src/nixos/keyd.nix Normal file
View file

@ -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"
];
}

28
src/nixos/zfs.nix Normal file
View file

@ -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=";
};
};
}
);
}