nixos/hosts/murex-pecten.nix

171 lines
4.2 KiB
Nix
Raw Normal View History

2022-01-06 10:22:46 +01:00
{
config,
pkgs,
...
}: {
2022-01-06 10:22:46 +01:00
# Use the systemd-boot EFI boot loader.
boot.loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
2022-01-06 10:22:46 +01:00
networking = {
hostName = "murex-pecten";
networkmanager.enable = true;
};
system.fsPackages = [pkgs.sshfs];
2022-01-06 10:22:46 +01:00
settings.minimalGnome.enable = true;
settings.printing.enable = true;
2022-01-06 10:22:46 +01:00
sound.enable = true;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
config.pipewire-pulse."stream.properties" = {
"channelmix.upmix" = true;
"channelmix.lfe-cutoff" = 150;
};
config.pipewire."default.clock.allowed-rates" = [48000 44100];
media-session.config.alsa-monitor = {
rules = [
{
matches = [
{
"node.name" = "alsa_output.usb-Focusrite_Scarlett_Solo_USB_Y7ENM550A6399B-00.pro-output-0";
}
];
actions = {
update-props = {
#"audio.rate" = 96000;
"api.alsa.headroom" = 1024;
};
};
}
];
};
};
xdg.portal = {
enable = true;
extraPortals = with pkgs; [xdg-desktop-portal-gtk xdg-desktop-portal-wlr];
};
2022-02-09 15:11:24 +01:00
hardware = {
opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
extraPackages = with pkgs; [amdvlk];
extraPackages32 = with pkgs; [driversi686Linux.amdvlk];
};
2022-01-06 10:22:46 +01:00
};
users.mutableUsers = false;
users.custom.marie.enable = false;
users.custom.malte.enable = true;
2022-01-06 10:22:46 +01:00
fonts = {
enableDefaultFonts = true;
2022-04-17 19:44:06 +02:00
fonts = with pkgs; [hackNerdLigatures noto-fonts noto-fonts-cjk joypixels];
2022-01-06 10:22:46 +01:00
fontconfig = {
enable = true;
2022-04-17 19:44:06 +02:00
defaultFonts.monospace = ["Hack NF FC Ligatured"];
2022-01-06 10:22:46 +01:00
};
};
# Configure GPG with SSH support and enable the yubikey
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
pinentryFlavor = "qt";
2022-01-06 10:22:46 +01:00
};
2022-01-11 13:09:35 +01:00
security.pam = {
yubico = {
enable = false;
2022-01-11 13:09:35 +01:00
mode = "challenge-response";
control = "sufficient";
2022-01-11 13:09:35 +01:00
};
services.login.yubicoAuth = true;
services.swaylock.yubicoAuth = true;
2022-01-11 13:09:35 +01:00
};
services.udev.customRules = [
# Rename the Scarlett Solo using udev
{
name = "85-scarlett-solo";
rules = ''
SUBSYSTEM=="usb", ENV{ID_MODEL_ID}=="8211", ENV{ID_VENDOR_ID}=="1235", TAG+="systemd", SYMLINK+="scarlett_solo"
'';
}
{
name = "85-yubikey";
rules = ''
SUBSYSTEM=="usb", ENV{ID_MODEL_ID}=="0407", ENV{ID_VENDOR_ID}=="1050", TAG+="systemd", SYMLINK+="yubikey"
'';
}
];
Update lockfile • Updated input 'cataclysm-dda': 'github:CleverRaven/Cataclysm-DDA/f6be61e24299d493f714b4b1fe5189deeb5a4c06' (2022-06-16) → 'github:CleverRaven/Cataclysm-DDA/a15650196c127cc29d1d4326aa6d0a9f75adbc2b' (2022-08-15) • Updated input 'colmena': 'github:zhaofengli/colmena/1b3c272b5873f809c18434924d99967c73d4e2cf' (2022-06-10) → 'github:zhaofengli/colmena/34bb2e46747e69c9a34f94583330ad9a9f5ad20a' (2022-07-30) • Updated input 'colmena/stable': 'github:NixOS/nixpkgs/ec6eaba9dfcfdd11547d75a193e91e26701bf7e3' (2022-05-31) → 'github:NixOS/nixpkgs/babb041b7167008af3faca4c78f9dd8c6e83ef3a' (2022-06-28) • Updated input 'emulator-2a': 'github:MalteT/2a-emulator/71d8a765dc243ffe313cbbd45245830f7819b49f' (2022-03-30) → 'github:MalteT/2a-emulator/60052c33ce7ddccefa9b16d492c717afe356d205' (2022-06-26) • Updated input 'emulator-2a/nixCargoIntegration/nixpkgs': 'github:NixOS/nixpkgs/6fc5211eddddc02c50ca7f98d6cc377726417fa9' (2021-08-13) → 'github:NixOS/nixpkgs/6141b8932a5cf376fe18fcd368cecd9ad946cb68' (2022-06-23) • Updated input 'emulator-2a/nixCargoIntegration/rustOverlay': 'github:oxalica/rust-overlay/ad311f5bb5c5ef475985f1e0f264e831470a8510' (2021-08-15) → 'github:oxalica/rust-overlay/37ab3d00e8caaad1d1d3f78c9282d3d5435fc2ba' (2022-06-26) • Updated input 'fenix': 'github:nix-community/fenix/720b54260dee864d2a21745bd2bb55223f58e297' (2022-06-16) → 'github:nix-community/fenix/54253fb23a5871466ada5c0334b6e39a0bcdb4db' (2022-08-14) • Updated input 'fenix/rust-analyzer-src': 'github:rust-lang/rust-analyzer/519d7484f3b1beb25dec9f2249adeaaa21033433' (2022-06-15) → 'github:rust-lang/rust-analyzer/010f68cacfdddcc50234b54965e1326d7ad925ab' (2022-08-13) • Updated input 'home-manager': 'github:nix-community/home-manager/504d6de6a061993c3f585f9a86c6a9f68927b1c0' (2022-06-15) → 'github:nix-community/home-manager/ff5133843c26979f8abb5dd801b32f40287692fa' (2022-08-14) • Removed input 'home-manager/flake-compat' • Removed input 'home-manager/nmd' • Removed input 'home-manager/nmt' • Updated input 'hydra': 'github:NixOS/hydra/cf9f38e43fd81f9298e3f2ff50c8a6ee0acc3af0' (2022-05-31) → 'github:NixOS/hydra/2b1c1e65d5fbbe25625a31ee93cb14c9a9edf969' (2022-08-08) • Updated input 'mensa': 'github:MalteT/mensa/5b2b41d1db5d5f4e113aed499dc07bf3170e32ad' (2022-03-30) → 'github:MalteT/mensa/f1aba13e86f6c6697b8d575d18def9c32ce212a6' (2022-06-26) • Updated input 'mensa/nixCargoIntegration/nixpkgs': 'github:NixOS/nixpkgs/6fc5211eddddc02c50ca7f98d6cc377726417fa9' (2021-08-13) → 'github:NixOS/nixpkgs/6141b8932a5cf376fe18fcd368cecd9ad946cb68' (2022-06-23) • Updated input 'mensa/nixCargoIntegration/rustOverlay': 'github:oxalica/rust-overlay/ad311f5bb5c5ef475985f1e0f264e831470a8510' (2021-08-15) → 'github:oxalica/rust-overlay/37ab3d00e8caaad1d1d3f78c9282d3d5435fc2ba' (2022-06-26) • Updated input 'nickel': 'github:tweag/nickel/24bdbde6bc34d99c046a01744413f1152d3a9b4c' (2022-06-14) → 'github:tweag/nickel/397247109ef103c882161da4177dd684deca59e0' (2022-08-09) • Updated input 'nickel/flake-utils': 'github:numtide/flake-utils/04c1b180862888302ddfb2e3ad9eaa63afc60cf8' (2022-05-17) → 'github:numtide/flake-utils/bee6a7250dd1b01844a2de7e02e4df7d8a0a206c' (2022-06-24) • Updated input 'nickel/pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/521a524771a8e93caddaa0ac1d67d03766a8b0b3' (2022-05-16) → 'github:cachix/pre-commit-hooks.nix/db3bd555d3a3ceab208bed48f983ccaa6a71a25e' (2022-06-25) • Updated input 'nickel/rust-overlay': 'github:oxalica/rust-overlay/3bc2619665745f5e6f2efc3d0664edad4f62201b' (2022-05-21) → 'github:oxalica/rust-overlay/59a3a304c987dc65d2a33de0a77a1ae6ae777cd4' (2022-06-25) • Updated input 'nix-colors': 'github:Misterio77/nix-colors/2c2e107765b7b2e54b10d3fc2ffe5ed2ca2c7731' (2022-06-12) → 'github:Misterio77/nix-colors/17d4c968ae3b202a71326b59ae89727d1c21f018' (2022-07-25) • Added input 'nix-colors/nixpkgs-lib': 'github:nix-community/nixpkgs.lib/5fb55578aa2f1a502d636a8ac71aece57cb730bb' (2022-06-19) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/0cab18a48de7914ef8cad35dca0bb36868f3e1af' (2022-06-01) → 'github:NixOS/nixos-hardware/12620020f76b1b5d2b0e6fbbda831ed4f5fe56e1' (2022-08-13) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/6616de389ed55fba6eeba60377fc04732d5a207c' (2022-06-14) → 'github:NixOS/nixpkgs/e105167e98817ba9fe079c6c3c544c6ef188e276' (2022-08-13) • Updated input 'nixpkgs-wayland': 'github:nix-community/nixpkgs-wayland/7846b63c3524cabd82778c308d6b3d3fa79211b8' (2022-06-16) → 'github:nix-community/nixpkgs-wayland/68fac59e0e0ae87d351b6a08bb45713a55ef1eb8' (2022-08-14) • Updated input 'nixpkgs-wayland/cachix': 'github:nixos/nixpkgs/9227bbe43157225414e990b87587ccb1665225d9' (2022-06-14) → 'github:nixos/nixpkgs/eabc38219184cc3e04a974fe31857d8e0eac098d' (2022-08-02) • Updated input 'nixpkgs-wayland/lib-aggregate': 'github:nix-community/lib-aggregate/e0059f35f3727b94ea833489fd40d9e666f8da79' (2022-06-12) → 'github:nix-community/lib-aggregate/fb6e102dcf215dcf6879e7be4a5a3942207512aa' (2022-08-14) • Updated input 'nixpkgs-wayland/lib-aggregate/flake-utils': 'github:numtide/flake-utils/1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1' (2022-05-30) → 'github:numtide/flake-utils/c0e246b9b83f637f4681389ecabcb2681b4f3af0' (2022-08-07) • Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib': 'github:nix-community/nixpkgs.lib/8f09bff20b363b80213186156168126674990368' (2022-06-12) → 'github:nix-community/nixpkgs.lib/bbd8f7cd87d0b29294ef3072ffdbd61d60f05da4' (2022-08-14) • Updated input 'qmk-udev-rules': 'github:qmk/qmk_firmware/8e128452db4a5c93f0214a1f6ea38e213445235c' (2022-06-16) → 'github:qmk/qmk_firmware/51d5aad25b92a34bc051849616fcd93e3ae407fc' (2022-08-15) • Updated input 'sops-nix': 'github:Mic92/sops-nix/f075361ecbde21535b38e41dfaa28a28f160855c' (2022-06-05) → 'github:Mic92/sops-nix/773365016f5202a199f5aff72cac75c64add4528' (2022-08-15) • Removed input 'sops-nix/nixpkgs-21_11' • Updated input 'sops-nix/nixpkgs-22_05': 'github:NixOS/nixpkgs/d6cb04299ce8964290ae7fdcb87aa50da0500b5c' (2022-06-04) → 'github:NixOS/nixpkgs/70b6236f3cbc815f2cae8d597418c714cf83d1c8' (2022-08-13) • Updated input 'utils': 'github:gytis-ivaskevicius/flake-utils-plus/f8d6d1f87b6177e3bc674c29f247bdbf897ba274' (2022-05-16) → 'github:gytis-ivaskevicius/flake-utils-plus/2bf0f91643c2e5ae38c1b26893ac2927ac9bd82a' (2022-07-07)
2022-08-15 09:47:37 +02:00
# TODO: This defaults to true, why does it not work with virtualisation.containers.enable?
boot.enableContainers = false;
2022-01-06 10:22:46 +01:00
virtualisation = {
podman = {
enable = true;
# Create a `docker` alias for podman, to use it as a drop-in replacement
dockerCompat = true;
dockerSocket.enable = true;
defaultNetwork.dnsname.enable = true;
};
};
programs.steam.enable = true;
programs.corectrl.enable = true;
2022-01-06 10:22:46 +01:00
services.dbus.packages = with pkgs; [openrgb];
2022-01-07 08:39:12 +01:00
services.udev.packages = with pkgs; [
yubikey-personalization
chrysalis
openrgb
i2c-tools
2022-01-21 09:28:03 +01:00
gnome3.gnome-settings-daemon
2022-03-06 14:42:26 +01:00
qmk-udev-rules
vial
2022-01-07 08:39:12 +01:00
];
2022-01-06 10:22:46 +01:00
programs.sway.enable = true;
2022-01-14 12:40:14 +01:00
sops.defaultSopsFile = ../secrets/hosts/murex-pecten/secrets.yaml;
sops.age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"];
2022-01-14 12:40:14 +01:00
2022-02-09 15:11:24 +01:00
environment.systemPackages = with pkgs; [
qt5.qtwayland
2022-02-09 15:11:24 +01:00
thunderbolt
chrysalis
openrgb
gnomeExtensions.appindicator
2022-03-06 14:42:26 +01:00
qmk
vial
2022-02-09 15:11:24 +01:00
];
2022-01-06 10:22:46 +01:00
services.fwupd.enable = true;
services.devmon.enable = true;
2022-02-17 19:49:28 +01:00
services.ratbagd.enable = true;
2022-01-06 10:22:46 +01:00
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "21.11"; # Did you read the comment?
}