diff --git a/machines/bakunin/configuration.nix b/machines/bakunin/configuration.nix new file mode 100644 index 0000000..5a8158a --- /dev/null +++ b/machines/bakunin/configuration.nix @@ -0,0 +1,87 @@ +{ config, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ../modules/xserver.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; + + hardware.sane.enable = true; #scanner support + + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + users.users.malobeo = { + packages = with pkgs; [ + firefox + thunderbird + telegram-desktop + tor-browser-bundle-bin + keepassxc + libreoffice + gimp + inkscape + okular + element-desktop + chromium + mpv + vlc + simple-scan + ]; + }; + + services.tor = { + enable = true; + client.enable = true; + }; + + services.printing.enable = true; + services.printing.drivers = [ + (pkgs.writeTextDir "share/cups/model/brother5350.ppd" (builtins.readFile ../modules/BR5350_2_GPL.ppd)) + pkgs.gutenprint + pkgs.gutenprintBin + pkgs.brlaser + pkgs.brgenml1lpr + pkgs.brgenml1cupswrapper + ]; + + # needed for printing drivers + nixpkgs.config.allowUnfree = true; + + services.acpid.enable = true; + + networking.hostName = "bakunin"; + networking.networkmanager.enable = true; + + sound.enable = true; + hardware.pulseaudio = { + enable = true; + zeroconf.discovery.enable = true; + extraConfig = '' + load-module module-zeroconf-discover + ''; + }; + + services.avahi = { + enable = true; + }; + + + time.timeZone = "Europe/Berlin"; + system.stateVersion = "23.05"; # Do.. Not.. Change.. +} + diff --git a/machines/bakunin/hardware-configuration.nix b/machines/bakunin/hardware-configuration.nix new file mode 100644 index 0000000..28b4c19 --- /dev/null +++ b/machines/bakunin/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; +} diff --git a/machines/configuration.nix b/machines/configuration.nix index 4b7616a..df738e4 100644 --- a/machines/configuration.nix +++ b/machines/configuration.nix @@ -83,6 +83,15 @@ in ]; }; + + bakunin = nixosSystem { + system = "x86_64-linux"; + specialArgs.inputs = inputs; + modules = defaultModules ++ [ + ./bakunin/configuration.nix + ]; + }; + durruti = nixosSystem { system = "x86_64-linux"; specialArgs.inputs = inputs;