use xanmod
This commit is contained in:
parent
44bd191f2a
commit
76503f0e0c
6 changed files with 106 additions and 133 deletions
|
|
@ -1,9 +1,8 @@
|
||||||
{ config, lib, pkgs, inputs, ... }:
|
{ config, lib, pkgs, inputs, user, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [];
|
imports = [];
|
||||||
|
|
||||||
|
|
||||||
networking.hostName = "pickwick";
|
networking.hostName = "pickwick";
|
||||||
networking.hostId = builtins.substring 0 8 (builtins.hashString "md5" config.networking.hostName);
|
networking.hostId = builtins.substring 0 8 (builtins.hashString "md5" config.networking.hostName);
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
@ -23,12 +22,6 @@
|
||||||
|
|
||||||
# framework setting
|
# framework setting
|
||||||
services.fwupd.enable = true;
|
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;
|
hardware.framework.amd-7040.preventWakeOnAC = true;
|
||||||
|
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
|
|
@ -39,27 +32,8 @@
|
||||||
|
|
||||||
services.libinput.enable = true;
|
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 = {};
|
users.groups.keyd = {};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
vim
|
|
||||||
wget
|
|
||||||
htop-vim
|
|
||||||
keyd
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.gnome.excludePackages = with pkgs; [
|
environment.gnome.excludePackages = with pkgs; [
|
||||||
baobab
|
baobab
|
||||||
cheese
|
cheese
|
||||||
|
|
@ -76,20 +50,6 @@
|
||||||
gnome-disk-utility
|
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;
|
programs.dconf.enable = true;
|
||||||
|
|
||||||
# environment.persistence."/persist/system" = {
|
# environment.persistence."/persist/system" = {
|
||||||
|
|
@ -109,60 +69,6 @@
|
||||||
# };
|
# };
|
||||||
|
|
||||||
programs.fuse.userAllowOther = true;
|
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 = {
|
systemd.services = {
|
||||||
# https://github.com/openzfs/zfs/issues/10891
|
# https://github.com/openzfs/zfs/issues/10891
|
||||||
|
|
|
||||||
|
|
@ -14,50 +14,20 @@
|
||||||
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
boot.extraModulePackages = [ ];
|
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.kernelParams = [ ];
|
||||||
# boot.resumeDevice = "/dev/pool/root";
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = 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"; } ];
|
swapDevices = [ { device = "/dev/disk/by-label/SWAP"; } ];
|
||||||
zramSwap.enable = true;
|
zramSwap.enable = true;
|
||||||
|
|
||||||
# filesystems
|
|
||||||
fileSystems."/cache".neededForBoot = true;
|
fileSystems."/cache".neededForBoot = true;
|
||||||
fileSystems."/persist".neededForBoot = true;
|
fileSystems."/persist".neededForBoot = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
17
src/nixos/1password.nix
Normal file
17
src/nixos/1password.nix
Normal 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -7,9 +7,12 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./1password.nix
|
||||||
./impermanence.nix
|
./impermanence.nix
|
||||||
|
./keyd.nix
|
||||||
./nix.nix
|
./nix.nix
|
||||||
./users.nix
|
./users.nix
|
||||||
|
./zfs.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
options.custom = with lib; {
|
options.custom = with lib; {
|
||||||
|
|
@ -55,6 +58,10 @@
|
||||||
yazi
|
yazi
|
||||||
ripgrep
|
ripgrep
|
||||||
htop
|
htop
|
||||||
|
vim
|
||||||
|
wget
|
||||||
|
htop-vim
|
||||||
|
keyd
|
||||||
] ++ (lib.attrValues config.custom.shell.packages);
|
] ++ (lib.attrValues config.custom.shell.packages);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
45
src/nixos/keyd.nix
Normal file
45
src/nixos/keyd.nix
Normal 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
28
src/nixos/zfs.nix
Normal 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=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue