diff --git a/machines/configuration.nix b/machines/configuration.nix index bb50a906..daa94549 100644 --- a/machines/configuration.nix +++ b/machines/configuration.nix @@ -93,6 +93,17 @@ in ]; }; + fanny = nixosSystem { + system = "x86_64-linux"; + specialArgs.inputs = inputs; + modules = defaultModules ++ [ + ./fanny/configuration.nix + inputs.disko.nixosModules.disko + ./modules/disko/btrfs-laptop.nix + ]; + }; + + durruti = nixosSystem { system = "x86_64-linux"; specialArgs.inputs = inputs; diff --git a/machines/fanny/configuration.nix b/machines/fanny/configuration.nix new file mode 100644 index 00000000..ae2fc700 --- /dev/null +++ b/machines/fanny/configuration.nix @@ -0,0 +1,41 @@ +{ config, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + #./hardware-configuration.nix + ../modules/malobeo_user.nix + ../modules/sshd.nix + ../modules/minimal_tools.nix + ../modules/autoupdate.nix + ]; + + malobeo.autoUpdate = { + enable = true; + url = "https://hydra.dynamicdiscord.de"; + project = "malobeo"; + jobset = "infrastructure"; + cacheurl = "https://cache.dynamicdiscord.de"; + }; + + boot.loader.systemd-boot.enable = true; + + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + services.tor = { + enable = true; + client.enable = true; + }; + + # needed for printing drivers + nixpkgs.config.allowUnfree = true; + + services.acpid.enable = true; + + networking.hostName = "fanny"; + networking.networkmanager.enable = true; + + time.timeZone = "Europe/Berlin"; + system.stateVersion = "23.05"; # Do.. Not.. Change.. +} + diff --git a/machines/fanny/hardware-configuration.nix b/machines/fanny/hardware-configuration.nix new file mode 100644 index 00000000..28b4c198 --- /dev/null +++ b/machines/fanny/hardware-configuration.nix @@ -0,0 +1,49 @@ +# 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" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; + boot.initrd.kernelModules = [ "dm-snapshot" ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + +boot.initrd.luks.devices = { +root = { +device = "/dev/disk/by-uuid/35ae4fa2-1076-42ae-a04c-1752126b2aaf"; +preLVM = true; +allowDiscards = true; +}; +}; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/fe34ee57-9397-4311-94f2-a4fc0a3ef09c"; + fsType = "btrfs"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/402B-2026"; + fsType = "vfat"; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/b4a28946-dcc4-437d-a1b9-08d36f4b6b27"; } + ]; + + # 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.wlp4s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +}