pull out shared components
This commit is contained in:
parent
a0eaee343f
commit
5cf1b9254e
20 changed files with 157 additions and 458 deletions
|
@ -21,16 +21,32 @@
|
||||||
boot = {
|
boot = {
|
||||||
loader.systemd-boot.enable = true;
|
loader.systemd-boot.enable = true;
|
||||||
loader.efi.canTouchEfiVariables = true;
|
loader.efi.canTouchEfiVariables = true;
|
||||||
kernelParams = [ "nouveau.config=NvGspRm=1" "quiet" ];
|
kernelParams = [ "quiet" ];
|
||||||
kernelPackages = pkgs.linuxPackagesFor ( pkgs.linux_latest );
|
kernelPackages = pkgs.linuxPackagesFor ( pkgs.linux_6_7 );
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable flatpaks
|
# Enable flatpaks
|
||||||
|
|
||||||
services.flatpak.enable = true;
|
services.flatpak.enable = true;
|
||||||
programs.thefuck.enable = true;
|
|
||||||
chaotic.mesa-git.enable = true;
|
chaotic.mesa-git.enable = true;
|
||||||
|
|
||||||
|
grimmShared = {
|
||||||
|
enable = true;
|
||||||
|
locale = true;
|
||||||
|
printing = true;
|
||||||
|
portals = true;
|
||||||
|
network = true;
|
||||||
|
tooling = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
sound = true;
|
||||||
|
graphical = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
age.identityPaths = [ "/home/grimmauld/.ssh/id_rsa" ];
|
||||||
|
|
||||||
|
networking.hostName = "grimmauld-nixos";
|
||||||
|
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
NIXPKGS_ALLOW_UNFREE="1";
|
NIXPKGS_ALLOW_UNFREE="1";
|
||||||
OMP_NUM_THREADS = "12";
|
OMP_NUM_THREADS = "12";
|
||||||
|
|
147
flake.lock
147
flake.lock
|
@ -78,11 +78,11 @@
|
||||||
"yafas": "yafas"
|
"yafas": "yafas"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709828095,
|
"lastModified": 1710512612,
|
||||||
"narHash": "sha256-subJqhj34TJ00C0qbGPUkozt4nMNi5DZltw/i4xmgVE=",
|
"narHash": "sha256-XMyG8ceRZ3aIqSJy/XlJHzkOaNCudldWq8Zrn2NfgcA=",
|
||||||
"owner": "chaotic-cx",
|
"owner": "chaotic-cx",
|
||||||
"repo": "nyx",
|
"repo": "nyx",
|
||||||
"rev": "9b54befbe7993ed2abe91f4d76e259b3e8f9d922",
|
"rev": "4417bbe33cb131959a9635815faa092c0934b36b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -138,17 +138,17 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709522437,
|
"lastModified": 1710090208,
|
||||||
"narHash": "sha256-mS0tYjN3B2cLfF+p8m/0YAMNOEQSx/HJT6BOy/XcOLw=",
|
"narHash": "sha256-1W7yDW+kqCr/9SygZwygBayE8HwLnzJq48fMAOZQLAY=",
|
||||||
"owner": "girlbossceo",
|
"owner": "girlbossceo",
|
||||||
"repo": "conduwuit",
|
"repo": "conduwuit",
|
||||||
"rev": "b527ec46661a9a5efe22aa83eeb9fbbe37c41850",
|
"rev": "e888a0a745ac979abe6a687ff24b8c5e7b7b79ed",
|
||||||
"type": "gitlab"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "girlbossceo",
|
"owner": "girlbossceo",
|
||||||
"repo": "conduwuit",
|
"repo": "conduwuit",
|
||||||
"type": "gitlab"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"crane": {
|
"crane": {
|
||||||
|
@ -230,6 +230,22 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat_2": {
|
"flake-compat_2": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696426674,
|
||||||
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat_3": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1673956053,
|
"lastModified": 1673956053,
|
||||||
|
@ -285,12 +301,12 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709126324,
|
"lastModified": 1710146030,
|
||||||
"narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=",
|
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||||
"rev": "d465f4819400de7c8d874d50b982301f28a84605",
|
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||||
"revCount": 91,
|
"revCount": 92,
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://api.flakehub.com/f/pinned/numtide/flake-utils/0.1.91%2Brev-d465f4819400de7c8d874d50b982301f28a84605/018defde-b702-7c49-9ad0-aa7e8781287b/source.tar.gz"
|
"url": "https://api.flakehub.com/f/pinned/numtide/flake-utils/0.1.92%2Brev-b1d9ab70662946ef0850d488da1c9019f3a9752a/018e2ca5-e5a2-7f80-9261-445a8cecd4d7/source.tar.gz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
|
@ -347,11 +363,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709744297,
|
"lastModified": 1710404304,
|
||||||
"narHash": "sha256-Q2LOs08hmFlzJdJMN4yNrWvZTegfpHEajLin0vcw7t0=",
|
"narHash": "sha256-tYsUAsZgt9TT7d+r1KRYHWyBRWedJ39SXNBVSCQVsGQ=",
|
||||||
"owner": "Jovian-Experiments",
|
"owner": "Jovian-Experiments",
|
||||||
"repo": "Jovian-NixOS",
|
"repo": "Jovian-NixOS",
|
||||||
"rev": "f8e3302ee1e0ccaabc443f45dc415e117b54926f",
|
"rev": "ffa51458aec4d53aac85b6dee1ee2ec29f4e953f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -373,11 +389,11 @@
|
||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709786138,
|
"lastModified": 1710484139,
|
||||||
"narHash": "sha256-yppQIffjpyQ2nqhiZbV2pSMQJx8srmHjAk+UClCQfRw=",
|
"narHash": "sha256-vOm70QgvfjHNQa9vmpxPsm1xE4PTmqtkDpe22/ra5cw=",
|
||||||
"owner": "martinvonz",
|
"owner": "martinvonz",
|
||||||
"repo": "jj",
|
"repo": "jj",
|
||||||
"rev": "bf76080f42f77cad934d9a5202c7b7d29ab2c890",
|
"rev": "3bb9fd412ac7f021a2fa09503fdec93ac066d7b7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -410,11 +426,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709751999,
|
"lastModified": 1710494976,
|
||||||
"narHash": "sha256-9I0bn0iSdYXHIPhU1Ne8Ooxfnut/qMtNDutBii9NxQE=",
|
"narHash": "sha256-WDuSPzeKecrolclXHmPk44Ch28+DQXHqYFOJkHSWFgM=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "1a784e6e66785f360da6df59ae2fb4b98370ca3c",
|
"rev": "642c6e7512f25f1fdc47dfa6a6eaec38c5faa69b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -425,11 +441,11 @@
|
||||||
},
|
},
|
||||||
"nix-filter": {
|
"nix-filter": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1705332318,
|
"lastModified": 1710156097,
|
||||||
"narHash": "sha256-kcw1yFeJe9N4PjQji9ZeX47jg0p9A0DuU4djKvg1a7I=",
|
"narHash": "sha256-1Wvk8UP7PXdf8bCCaEoMnOT1qe5/Duqgj+rL8sRQsSM=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "nix-filter",
|
"repo": "nix-filter",
|
||||||
"rev": "3449dc925982ad46246cfc36469baf66e1b64f17",
|
"rev": "3342559a24e85fc164b295c3444e8a139924675b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -442,15 +458,16 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
"shared",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709428394,
|
"lastModified": 1710551318,
|
||||||
"narHash": "sha256-WIDKofwDWFLHtk14MdBiRiM8Lxn+OByHYtybjSU/18Q=",
|
"narHash": "sha256-s1fOcZdpMbPOTuyVpzvN8QXdxS/viYjQ6J+hTR8NGys=",
|
||||||
"owner": "fufexan",
|
"owner": "fufexan",
|
||||||
"repo": "nix-gaming",
|
"repo": "nix-gaming",
|
||||||
"rev": "1f3fa3b398051c815e8500d4c4fe794ecfdee328",
|
"rev": "8b46b34b574cd1e6a9a8ded392f5b2f97b1f46a2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -484,11 +501,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709703039,
|
"lastModified": 1710451336,
|
||||||
"narHash": "sha256-6hqgQ8OK6gsMu1VtcGKBxKQInRLHtzulDo9Z5jxHEFY=",
|
"narHash": "sha256-pP86Pcfu3BrAvRO7R64x7hs+GaQrjFes+mEPowCfkxY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9df3e30ce24fd28c7b3e2de0d986769db5d6225d",
|
"rev": "d691274a972b3165335d261cc4671335f5c67de9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -536,8 +553,8 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"agenix": "agenix",
|
"agenix": "agenix",
|
||||||
"chaotic": "chaotic",
|
"chaotic": "chaotic",
|
||||||
"nix-gaming": "nix-gaming",
|
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
|
"shared": "shared",
|
||||||
"swayfx": "swayfx",
|
"swayfx": "swayfx",
|
||||||
"swaymux": "swaymux"
|
"swaymux": "swaymux"
|
||||||
}
|
}
|
||||||
|
@ -586,9 +603,32 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"swayfx": {
|
"shared": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
|
"nix-gaming": "nix-gaming",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"utils": "utils"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1710609877,
|
||||||
|
"narHash": "sha256-lKxTaTTFxsIiv4Z4X3dMIaCtCHS6pxdvEy5EASIIRKA=",
|
||||||
|
"ref": "refs/heads/main",
|
||||||
|
"rev": "5e620c121570b823d8b8d6c191c48d8016cd92b3",
|
||||||
|
"revCount": 25,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.grimmauld.de/Grimmauld/grimm-nix-shared"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.grimmauld.de/Grimmauld/grimm-nix-shared"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"swayfx": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat_3",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
|
@ -614,11 +654,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710004931,
|
"lastModified": 1710362637,
|
||||||
"narHash": "sha256-0i6cLh3Mrgj7ZnQX68Fe66ozIXCFS7WjkKV5CL2EmCQ=",
|
"narHash": "sha256-i5fTiwb4SvEIoEcJyPMLy0QYtlIuoJagpSMb+KDwLdQ=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "55384e0ceda36f7137203607179fc9b4ff85827f",
|
"rev": "4e6afa08fd8c9a302e3ad634c691fcd3fcf516d1",
|
||||||
"revCount": 14,
|
"revCount": 27,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.grimmauld.de/Grimmauld/swaymux"
|
"url": "https://git.grimmauld.de/Grimmauld/swaymux"
|
||||||
},
|
},
|
||||||
|
@ -657,6 +697,39 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_3"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1710146030,
|
||||||
|
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"yafas": {
|
"yafas": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-schemas": [
|
"flake-schemas": [
|
||||||
|
|
23
flake.nix
23
flake.nix
|
@ -21,13 +21,13 @@
|
||||||
url = "github:WillPower3309/swayfx";
|
url = "github:WillPower3309/swayfx";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nix-gaming = {
|
shared = {
|
||||||
url = "github:fufexan/nix-gaming";
|
url = "git+https://git.grimmauld.de/Grimmauld/grimm-nix-shared";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs @ { self, agenix, nix-gaming, nixpkgs, chaotic, swayfx, swaymux, ... }: let
|
outputs = inputs @ { self, agenix, shared, nixpkgs, chaotic, swayfx, swaymux, ... }: let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
|
||||||
# pkg-overlays = import nixpkgs {
|
# pkg-overlays = import nixpkgs {
|
||||||
|
@ -45,33 +45,22 @@
|
||||||
modules = [
|
modules = [
|
||||||
# ({ config, pkgs, ... }: { nixpkgs.overlays = [ (import ./overlay.nix {inherit inputs system;} ) ]; })
|
# ({ config, pkgs, ... }: { nixpkgs.overlays = [ (import ./overlay.nix {inherit inputs system;} ) ]; })
|
||||||
agenix.nixosModules.default
|
agenix.nixosModules.default
|
||||||
nix-gaming.nixosModules.pipewireLowLatency
|
|
||||||
chaotic.nixosModules.default
|
chaotic.nixosModules.default
|
||||||
|
shared.nixosModules.default
|
||||||
# swaymux.nixosModules.default
|
# swaymux.nixosModules.default
|
||||||
# ./kernel.nix
|
# ./kernel.nix
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
# ./modules/accessibility.nix
|
|
||||||
./modules/sway.nix
|
./modules/sway.nix
|
||||||
# ./modules/sunshine.nix
|
|
||||||
./modules/localisation.nix
|
|
||||||
./modules/users.nix
|
./modules/users.nix
|
||||||
./modules/tlp.nix
|
./modules/tlp.nix
|
||||||
./modules/printing.nix
|
|
||||||
./modules/network.nix
|
|
||||||
./modules/xdg.nix
|
|
||||||
./modules/fonts.nix
|
./modules/fonts.nix
|
||||||
./modules/polkit.nix
|
./modules/screenshare_select.nix
|
||||||
./modules/sound.nix
|
# ./modules/spotify-tui.nix
|
||||||
./modules/tabletdriver.nix
|
./modules/tabletdriver.nix
|
||||||
./modules/xserver.nix
|
./modules/xserver.nix
|
||||||
./modules/system-packages.nix
|
./modules/system-packages.nix
|
||||||
./modules/mypackaegsstayinstoreffs.nix
|
|
||||||
./modules/opengl.nix
|
|
||||||
# ./modules/kvm.nix
|
# ./modules/kvm.nix
|
||||||
./modules/toolchains.nix
|
|
||||||
./modules/tui.nix
|
|
||||||
./modules/cloudsync.nix
|
./modules/cloudsync.nix
|
||||||
# ./cachix.nix
|
|
||||||
{ environment.systemPackages = [ agenix.packages.${system}.default ]; }
|
{ environment.systemPackages = [ agenix.packages.${system}.default ]; }
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
sync_user = "grimmauld";
|
sync_user = "grimmauld";
|
||||||
sync_user_remote = "Grimmauld";
|
sync_user_remote = "Grimmauld";
|
||||||
sync_server = "cloud.grimmauld.de";
|
sync_server = "cloud.grimmauld.de";
|
||||||
# cloud_cmd = "${pkgs.nextcloud-client}/bin/nextcloudcmd -u ${sync_user_remote} -p -h -n --path";
|
|
||||||
sync_script = let
|
sync_script = let
|
||||||
cloud_cmd = ''${pkgs.nextcloud-client}/bin/nextcloudcmd -u ${sync_user_remote} -p "$(cat ${config.age.secrets.nextcloud_pass.path})" -h -n --path'';
|
cloud_cmd = ''${pkgs.nextcloud-client}/bin/nextcloudcmd -u ${sync_user_remote} -p "$(cat ${config.age.secrets.nextcloud_pass.path})" -h -n --path'';
|
||||||
in ''
|
in ''
|
||||||
|
@ -33,7 +32,6 @@ in {
|
||||||
wants = [ "network-online.target" ];
|
wants = [ "network-online.target" ];
|
||||||
serviceConfig.Type = "simple";
|
serviceConfig.Type = "simple";
|
||||||
serviceConfig.User = sync_user;
|
serviceConfig.User = sync_user;
|
||||||
# serviceConfig.UID = 1000;
|
|
||||||
serviceConfig.Group= "users";
|
serviceConfig.Group= "users";
|
||||||
script= sync_script;
|
script= sync_script;
|
||||||
# TimeoutStopSec = "180";
|
# TimeoutStopSec = "180";
|
||||||
|
|
|
@ -8,8 +8,4 @@
|
||||||
roboto
|
roboto
|
||||||
liberation_ttf
|
liberation_ttf
|
||||||
];
|
];
|
||||||
fonts.fontDir.enable = true;
|
|
||||||
environment.sessionVariables = {
|
|
||||||
FREETYPE_PROPERTIES="cff:no-stem-darkening=0 autofitter:no-stem-darkening=0";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
{
|
|
||||||
time.timeZone = "Europe/Berlin";
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
|
|
||||||
i18n.extraLocaleSettings = {
|
|
||||||
LC_ADDRESS = "de_DE.UTF-8";
|
|
||||||
LC_IDENTIFICATION = "de_DE.UTF-8";
|
|
||||||
LC_MEASUREMENT = "de_DE.UTF-8";
|
|
||||||
LC_MONETARY = "de_DE.UTF-8";
|
|
||||||
LC_NAME = "de_DE.UTF-8";
|
|
||||||
LC_NUMERIC = "de_DE.UTF-8";
|
|
||||||
LC_PAPER = "de_DE.UTF-8";
|
|
||||||
LC_TELEPHONE = "de_DE.UTF-8";
|
|
||||||
LC_TIME = "de_DE.UTF-8";
|
|
||||||
};
|
|
||||||
|
|
||||||
console.keyMap = "de";
|
|
||||||
|
|
||||||
services.xserver.xkb = {
|
|
||||||
layout = "de";
|
|
||||||
variant = "";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
{users, pkgs, ...}:
|
|
||||||
{
|
|
||||||
users.extraUsers.mypackaegsstayinstoreffs = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "dummy user to prevent nix gc from clearing out large packages";
|
|
||||||
packages = with pkgs; [
|
|
||||||
jetbrains.clion
|
|
||||||
jetbrains.pycharm-community
|
|
||||||
jetbrains.idea-community
|
|
||||||
# cudatoolkit_11
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,45 +0,0 @@
|
||||||
{pkgs, lib, ...}:
|
|
||||||
{
|
|
||||||
# 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.enp3s0.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
|
|
||||||
networking.hostName = "grimmauld-nixos"; # Define your hostname.
|
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
|
||||||
|
|
||||||
# Configure network proxy if necessary
|
|
||||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
|
||||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
|
||||||
|
|
||||||
# Enable networking
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
networking.firewall.allowedTCPPorts = [ 5900 ];
|
|
||||||
|
|
||||||
|
|
||||||
# Open ports in the firewall.
|
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
||||||
# Or disable the firewall altogether.
|
|
||||||
# networking.firewall.enable = false;
|
|
||||||
|
|
||||||
|
|
||||||
# Bluetooth
|
|
||||||
services.blueman.enable = true;
|
|
||||||
hardware.bluetooth.enable = true;
|
|
||||||
|
|
||||||
systemd.user.services.mpris-proxy = {
|
|
||||||
description = "Mpris proxy";
|
|
||||||
after = [ "network.target" "sound.target" ];
|
|
||||||
wantedBy = [ "default.target" ];
|
|
||||||
serviceConfig.ExecStart = "${pkgs.bluez}/bin/mpris-proxy";
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
wireguard-tools
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,54 +0,0 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ];
|
|
||||||
hardware.nvidia = {
|
|
||||||
# Modesetting is required.
|
|
||||||
modesetting.enable = true;
|
|
||||||
|
|
||||||
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
|
||||||
powerManagement.enable = false;
|
|
||||||
# Fine-grained power management. Turns off GPU when not in use.
|
|
||||||
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
|
||||||
powerManagement.finegrained = false;
|
|
||||||
|
|
||||||
# Use the NVidia open source kernel module (not to be confused with the
|
|
||||||
# independent third-party "nouveau" open source driver).
|
|
||||||
# Support is limited to the Turing and later architectures. Full list of
|
|
||||||
# supported GPUs is at:
|
|
||||||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
|
||||||
# Only available from driver 515.43.04+
|
|
||||||
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
|
||||||
open = true;
|
|
||||||
|
|
||||||
# Enable the Nvidia settings menu,
|
|
||||||
# accessible via `nvidia-settings`.
|
|
||||||
nvidiaSettings = true;
|
|
||||||
|
|
||||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware.nvidia.prime = {
|
|
||||||
sync.enable = true;
|
|
||||||
# offload = {
|
|
||||||
# enable = true;
|
|
||||||
# enableOffloadCmd = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# Make sure to use the correct Bus ID values for your system!
|
|
||||||
intelBusId = "PCI:0:2:0";
|
|
||||||
nvidiaBusId = "PCI:1:0:0";
|
|
||||||
};
|
|
||||||
|
|
||||||
specialisation = {
|
|
||||||
on-the-go.configuration = {
|
|
||||||
system.nixos.tags = [ "on-the-go" ];
|
|
||||||
powerManagement.cpuFreqGovernor = lib.mkForce "powersave";
|
|
||||||
hardware.nvidia = {
|
|
||||||
prime.offload.enable = lib.mkForce true;
|
|
||||||
prime.offload.enableOffloadCmd = lib.mkForce true;
|
|
||||||
prime.sync.enable = lib.mkForce false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
# Enable OpenGL
|
|
||||||
hardware.opengl = {
|
|
||||||
enable = true;
|
|
||||||
driSupport = true;
|
|
||||||
driSupport32Bit = true;
|
|
||||||
extraPackages = with pkgs; [];
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.sessionVariables = {
|
|
||||||
__GL_LOG_MAX_ANISO = "0";
|
|
||||||
__GL_SHADER_DISK_CACHE = "1";
|
|
||||||
__GL_SYNC_TO_VBLANK = "0";
|
|
||||||
__GL_THREADED_OPTIMIZATIONS = "1";
|
|
||||||
__GL_VRR_ALLOWED = "1";
|
|
||||||
# MESA_LOADER_DRIVER_OVERRIDE="zink";
|
|
||||||
# FLATPAK_GL_DRIVERS="mesa-git";
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
glfw
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
{pkgs, ...}:
|
|
||||||
{
|
|
||||||
security.polkit.enable = true;
|
|
||||||
|
|
||||||
systemd.user.services.polkit-kde-authentication-agent-1 = {
|
|
||||||
enable = true;
|
|
||||||
description = "polkit-kde-authentication-agent-1";
|
|
||||||
wantedBy = [ "graphical-session.target" ];
|
|
||||||
wants = [ "graphical-session.target" ];
|
|
||||||
after = [ "graphical-session.target" ];
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "simple";
|
|
||||||
ExecStart = "${pkgs.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1";
|
|
||||||
Restart = "on-failure";
|
|
||||||
RestartSec = 1;
|
|
||||||
TimeoutStopSec = 10;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
{pkgs, ... }:
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[ # Include the results of the hardware scan.
|
|
||||||
# <nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix>
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
|
||||||
services.printing.enable = true;
|
|
||||||
services.printing.drivers = with pkgs; [ brgenml1lpr brgenml1cupswrapper ];
|
|
||||||
services.avahi = {
|
|
||||||
enable = true;
|
|
||||||
nssmdns4 = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
services.printing.cups-pdf.enable = true;
|
|
||||||
hardware.sane.brscan4.enable = true; # enables support for SANE scanners
|
|
||||||
}
|
|
17
modules/screenshare_select.nix
Normal file
17
modules/screenshare_select.nix
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{pkgs, ...}:
|
||||||
|
{
|
||||||
|
xdg.portal.wlr.settings = {
|
||||||
|
screencastExternal = {
|
||||||
|
output_name = "HDMI-A-1";
|
||||||
|
max_fps = 60;
|
||||||
|
chooser_type = "simple";
|
||||||
|
chooser_cmd = "${pkgs.slurp}/bin/slurp -f %o -or";
|
||||||
|
};
|
||||||
|
screencastInternal = {
|
||||||
|
output_name = "eDP-1";
|
||||||
|
max_fps = 144;
|
||||||
|
chooser_type = "simple";
|
||||||
|
chooser_cmd = "${pkgs.slurp}/bin/slurp -f %o -or";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -26,21 +26,8 @@ END
|
||||||
'';
|
'';
|
||||||
});})
|
});})
|
||||||
];
|
];
|
||||||
# Enable sound with pipewire.
|
|
||||||
sound.enable = true;
|
|
||||||
hardware.pulseaudio.enable = false;
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
jack.enable = true; # osu uses jack
|
|
||||||
systemWide = true; # required for spotifyd as spotifyd runs as the spotifyd user
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
pavucontrol
|
|
||||||
spotify-tui
|
spotify-tui
|
||||||
spotifyd
|
spotifyd
|
||||||
];
|
];
|
|
@ -1,28 +1,11 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
programs.droidcam.enable = true;
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
spice-gtk
|
spice-gtk
|
||||||
wget
|
|
||||||
tree
|
|
||||||
file
|
|
||||||
kate
|
kate
|
||||||
util-linux
|
|
||||||
btop
|
|
||||||
kitty
|
|
||||||
polkit-kde-agent
|
|
||||||
skanpage
|
|
||||||
cached-nix-shell
|
|
||||||
gnupg
|
|
||||||
visualvm
|
|
||||||
ffmpeg-full
|
|
||||||
lm_sensors
|
|
||||||
oci-cli
|
oci-cli
|
||||||
xcb-util-cursor
|
xcb-util-cursor
|
||||||
krfb
|
krfb
|
||||||
|
|
||||||
imagemagick
|
|
||||||
pypy3
|
|
||||||
|
|
||||||
kdePackages.audiocd-kio
|
kdePackages.audiocd-kio
|
||||||
|
|
||||||
(writeShellScriptBin "primerun" ''
|
(writeShellScriptBin "primerun" ''
|
||||||
|
|
|
@ -1,111 +0,0 @@
|
||||||
{config, pkgs, ...}: let
|
|
||||||
git_user = "Grimmauld";
|
|
||||||
in {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
(writeShellScriptBin "silent-add" "git add --intent-to-add $@ ; git update-index --assume-unchanged $@")
|
|
||||||
(writeShellScriptBin "systemd-owner" "systemctl show -pUser,UID $@")
|
|
||||||
(writeShellScriptBin "nix-referrers" "nix-store --query --referrers $@")
|
|
||||||
mkpasswd
|
|
||||||
cargo
|
|
||||||
gcc
|
|
||||||
rustc
|
|
||||||
rustfmt
|
|
||||||
rust-analyzer
|
|
||||||
jdk17
|
|
||||||
python3
|
|
||||||
pkg-config
|
|
||||||
|
|
||||||
pinentry
|
|
||||||
pass
|
|
||||||
libsecret
|
|
||||||
tea
|
|
||||||
acpi
|
|
||||||
(writeShellScriptBin "passw" "pass $@")
|
|
||||||
# nodejs_21 # ugh.... somehow nvim needs node now?!?
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
lfs.enable = true;
|
|
||||||
config = {
|
|
||||||
init.defaultBranch = "main";
|
|
||||||
credential.username = git_user;
|
|
||||||
core.editor = "${pkgs.neovim}/bin/nvim";
|
|
||||||
user.name = git_user;
|
|
||||||
user.email = "${git_user}@grimmauld.de";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.tmux = {
|
|
||||||
enable = true;
|
|
||||||
historyLimit = 42000;
|
|
||||||
#keyMode = "vi";
|
|
||||||
};
|
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
|
||||||
|
|
||||||
|
|
||||||
programs.neovim = {
|
|
||||||
enable = true;
|
|
||||||
viAlias = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
configure = {
|
|
||||||
customRC = ''
|
|
||||||
set number
|
|
||||||
set hidden
|
|
||||||
set fileencodings=utf-8
|
|
||||||
set nocompatible
|
|
||||||
set clipboard+=unnamedplus
|
|
||||||
if filereadable($HOME . "/.vimrc")
|
|
||||||
source ~/.vimrc
|
|
||||||
endif
|
|
||||||
'';
|
|
||||||
packages.myVimPackage = with pkgs.vimPlugins; {
|
|
||||||
# loaded on launch
|
|
||||||
start = [
|
|
||||||
vim-nix
|
|
||||||
vim-scala
|
|
||||||
fugitive
|
|
||||||
nvim-lspconfig
|
|
||||||
# autoclose-nvim
|
|
||||||
# coc-nvim
|
|
||||||
# mason-nvim
|
|
||||||
# mason-lspconfig-nvim
|
|
||||||
# coc-rust-analyzer
|
|
||||||
# rust-tools-nvim
|
|
||||||
vim-vsnip
|
|
||||||
cmp-path
|
|
||||||
cmp-nvim-lsp-signature-help
|
|
||||||
cmp-nvim-lua
|
|
||||||
cmp-buffer
|
|
||||||
cmp-vsnip
|
|
||||||
nvim-dap
|
|
||||||
nvim-treesitter-parsers.rust
|
|
||||||
nvim-treesitter-parsers.lua
|
|
||||||
nvim-treesitter-parsers.toml
|
|
||||||
nvim-treesitter-parsers.c
|
|
||||||
nvim-treesitter-parsers.vimdoc
|
|
||||||
nvim-treesitter
|
|
||||||
vimspector
|
|
||||||
snippets-nvim
|
|
||||||
];
|
|
||||||
|
|
||||||
# manually loadable by calling `:packadd $plugin-name`
|
|
||||||
opt = [ ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.passSecretService.enable = true;
|
|
||||||
services.pcscd.enable = true;
|
|
||||||
programs.xonsh.enable = true;
|
|
||||||
programs.ssh.startAgent = true;
|
|
||||||
programs.gnupg.agent = {
|
|
||||||
settings = {
|
|
||||||
# default-cache-ttl = 6000;
|
|
||||||
};
|
|
||||||
pinentryFlavor = "tty";
|
|
||||||
enable = true;
|
|
||||||
# enableSSHSupport = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,15 +0,0 @@
|
||||||
{pkgs, ... }: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
fbcat
|
|
||||||
gomuks
|
|
||||||
gotop
|
|
||||||
bluetuith
|
|
||||||
spotify-tui
|
|
||||||
ranger
|
|
||||||
alacritty
|
|
||||||
playerctl
|
|
||||||
pulseaudio
|
|
||||||
nix-search-cli
|
|
||||||
nixos-option
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -7,15 +7,10 @@
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
webcord
|
webcord
|
||||||
discord
|
discord
|
||||||
nomacs
|
|
||||||
heroic
|
heroic
|
||||||
plasma-browser-integration
|
plasma-browser-integration
|
||||||
pdfarranger
|
|
||||||
kwrited
|
kwrited
|
||||||
hyfetch
|
|
||||||
gparted
|
|
||||||
element-desktop
|
element-desktop
|
||||||
nmap
|
|
||||||
ghidra
|
ghidra
|
||||||
# firefox
|
# firefox
|
||||||
kcalc
|
kcalc
|
||||||
|
@ -57,5 +52,4 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
services.udev.packages = [ pkgs.wooting-udev-rules ];
|
services.udev.packages = [ pkgs.wooting-udev-rules ];
|
||||||
services.blueman.enable = true;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
{pkgs, ...}:
|
|
||||||
{
|
|
||||||
xdg.portal = {
|
|
||||||
enable = true;
|
|
||||||
wlr.enable = true;
|
|
||||||
extraPortals = with pkgs; [
|
|
||||||
xdg-desktop-portal-wlr
|
|
||||||
xdg-desktop-portal-kde
|
|
||||||
xdg-desktop-portal-gtk
|
|
||||||
];
|
|
||||||
wlr.settings = {
|
|
||||||
screencastExternal = {
|
|
||||||
output_name = "HDMI-A-1";
|
|
||||||
max_fps = 60;
|
|
||||||
# exec_before = "disable_notifications.sh";
|
|
||||||
# exec_after = "enable_notifications.sh";
|
|
||||||
chooser_type = "simple";
|
|
||||||
chooser_cmd = "${pkgs.slurp}/bin/slurp -f %o -or";
|
|
||||||
};
|
|
||||||
screencastInternal = {
|
|
||||||
output_name = "eDP-1";
|
|
||||||
max_fps = 144;
|
|
||||||
# exec_before = "disable_notifications.sh";
|
|
||||||
# exec_after = "enable_notifications.sh";
|
|
||||||
chooser_type = "simple";
|
|
||||||
chooser_cmd = "${pkgs.slurp}/bin/slurp -f %o -or";
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.sessionVariables = {
|
|
||||||
XDG_CONFIG_HOME = "$HOME/.config";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -13,11 +13,15 @@
|
||||||
defaultSession = "sway";
|
defaultSession = "sway";
|
||||||
};
|
};
|
||||||
desktopManager = {
|
desktopManager = {
|
||||||
plasma6.enable = true;
|
|
||||||
# xfce.enable = true;
|
# xfce.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.desktopManager = {
|
||||||
|
plasma6.enable = true;
|
||||||
|
# xfce.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
# services.xserver.libinput.enable = true;
|
# services.xserver.libinput.enable = true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue