diff --git a/flake.lock b/flake.lock index 4a6c96d..845d516 100644 --- a/flake.lock +++ b/flake.lock @@ -913,7 +913,7 @@ "oisd": { "flake": false, "locked": { - "narHash": "sha256-fgfgm5GHDqq/RIRF8M1j6H3OZ/r1DVPgwMvwikdauNI=", + "narHash": "sha256-Yro3cUgQ8VxmcsQwbvdYdGAxsfZDGEl3tyr7ILhzK7s=", "type": "file", "url": "https://big.oisd.nl/domainswild" }, diff --git a/flake.nix b/flake.nix index 2367a0e..9424688 100644 --- a/flake.nix +++ b/flake.nix @@ -173,6 +173,16 @@ inherit self inputs username; }; }; + april = nixpkgs.lib.nixosSystem { + inherit system; + modules = [ + (import ./hosts/april) + ]; + specialArgs = { + host = "april"; + inherit self inputs username; + }; + }; }; }; } diff --git a/hosts/april/default.nix b/hosts/april/default.nix new file mode 100644 index 0000000..5e84da4 --- /dev/null +++ b/hosts/april/default.nix @@ -0,0 +1,58 @@ +{ + lib, + config, + pkgs, + ... +}: + +{ + imports = [ + ./hardware-configuration.nix + ./../../modules/core + ./../../modules/services/tailscale.nix + ./../../modules/services/mpd.nix + ]; + + liv = { + laptop.enable = true; + gui.enable = true; + desktop.enable = false; + creative.enable = false; + amdgpu.enable = false; + }; + + services = { + vnstat.enable = true; + }; + + networking.hostName = "april"; + + powerManagement = { + enable = true; + powertop.enable = true; + cpuFreqGovernor = lib.mkDefault "ondemand"; + }; + + boot = { + kernelParams = [ + "mem_sleep_default=deep" + ]; + kernelModules = [ "acpi_call" ]; + kernelPackages = pkgs.linuxPackages_latest; + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + systemd-boot.configurationLimit = 10; + }; + extraModulePackages = + with config.boot.kernelPackages; + [ + acpi_call + cpupower + ] + ++ [ pkgs.cpupower-gui ]; + }; + + time.timeZone = "Europe/Amsterdam"; + nixpkgs.config.allowUnfree = true; +} diff --git a/hosts/april/hardware-configuration.nix b/hosts/april/hardware-configuration.nix new file mode 100644 index 0000000..5704c3a --- /dev/null +++ b/hosts/april/hardware-configuration.nix @@ -0,0 +1,64 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ + config, + lib, + pkgs, + modulesPath, + ... +}: + +{ + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ + "xhci_pci" + "nvme" + "usb_storage" + "sd_mod" + ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + boot.initrd.luks.devices."luks-c4154cca-9246-40e7-9f92-f67cf412f718".device = + "/dev/disk/by-uuid/c4154cca-9246-40e7-9f92-f67cf412f718"; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/28283b70-d1ab-4c1e-9e9e-4efdcb051553"; + fsType = "ext4"; + }; + + boot.initrd.luks.devices."luks-577b813a-bbe2-479c-b439-b91964e9b36c".device = + "/dev/disk/by-uuid/577b813a-bbe2-479c-b439-b91964e9b36c"; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/44F1-737B"; + fsType = "vfat"; + options = [ + "fmask=0077" + "dmask=0077" + ]; + }; + + swapDevices = [ + { device = "/dev/disk/by-uuid/41da47c8-b3ba-4773-941e-a35dfd73aaef"; } + ]; + + # 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.enp0s31f6.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/modules/home/kanshi.nix b/modules/home/kanshi.nix index 1d96caf..6c49088 100644 --- a/modules/home/kanshi.nix +++ b/modules/home/kanshi.nix @@ -24,6 +24,15 @@ position = "0,0"; } ] + else if (host == "april") then + [ + { + criteria = "eDP-1"; + scale = 1.0; + status = "enable"; + position = "0,0"; + } + ] else if (host == "imilia") then [ { diff --git a/modules/security/dnscrypt.nix b/modules/security/dnscrypt.nix index a14d80d..7ef1d15 100644 --- a/modules/security/dnscrypt.nix +++ b/modules/security/dnscrypt.nix @@ -25,7 +25,7 @@ in "https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md" "https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md" ]; - minisign_key = "sha256-fgfgm5GHDqq/RIRF8M1j6H3OZ/r1DVPgwMvwikdauNI="; # See https://github.com/DNSCrypt/dnscrypt-resolvers/blob/master/v3/public-resolvers.md + minisign_key = "sha256-Yro3cUgQ8VxmcsQwbvdYdGAxsfZDGEl3tyr7ILhzK7s="; # See https://github.com/DNSCrypt/dnscrypt-resolvers/blob/master/v3/public-resolvers.md cache_file = "/var/lib/dnscrypt/public-resolvers.md"; }; diff --git a/roles/laptop.nix b/roles/laptop.nix index 9cd4403..6f1fa7a 100644 --- a/roles/laptop.nix +++ b/roles/laptop.nix @@ -56,6 +56,6 @@ in criticalPowerAction = "Hibernate"; }; }; - powerManagement.powertop.enable = false; # somehow figure out how to let this not apply to specific USB devices, as they will auto suspend and that is annoying. + # powerManagement.powertop.enable = false; # somehow figure out how to let this not apply to specific USB devices, as they will auto suspend and that is annoying. }; }