diff --git a/flake.nix b/flake.nix index f9536ee..2ff8265 100644 --- a/flake.nix +++ b/flake.nix @@ -49,13 +49,30 @@ stylix.url = "github:baduhai/stylix/wezterm-fancy-tab-bar"; }; - outputs = inputs@{ self, nixpkgs, home-manager, nixpkgs-stable, deploy-rs - , agenix, nixos-generators, homepage, nix-minecraft, impermanence - , nix-flatpak, nix-index-db, stylix, ... }: { + outputs = + inputs@{ + self, + nixpkgs, + home-manager, + nixpkgs-stable, + deploy-rs, + agenix, + nixos-generators, + homepage, + nix-minecraft, + impermanence, + nix-flatpak, + nix-index-db, + stylix, + ... + }: + { nixosConfigurations = { rotterdam = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; - specialArgs = { inherit inputs; }; + specialArgs = { + inherit inputs; + }; modules = [ ./hosts/desktops/rotterdam.nix agenix.nixosModules.default @@ -65,15 +82,19 @@ nix-flatpak.nixosModules.nix-flatpak stylix.nixosModules.stylix { - nixpkgs.overlays = - [ agenix.overlays.default self.overlays.custom ]; + nixpkgs.overlays = [ + agenix.overlays.default + self.overlays.custom + ]; } ]; }; io = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; - specialArgs = { inherit inputs; }; + specialArgs = { + inherit inputs; + }; modules = [ ./hosts/desktops/io.nix agenix.nixosModules.default @@ -83,42 +104,49 @@ nix-flatpak.nixosModules.nix-flatpak stylix.nixosModules.stylix { - nixpkgs.overlays = - [ agenix.overlays.default self.overlays.custom ]; + nixpkgs.overlays = [ + agenix.overlays.default + self.overlays.custom + ]; } ]; }; alexandria = nixpkgs-stable.lib.nixosSystem { system = "x86_64-linux"; - specialArgs = { inherit inputs; }; + specialArgs = { + inherit inputs; + }; modules = [ ./hosts/servers/alexandria.nix agenix.nixosModules.default self.nixosModules.qbittorrent - ({ config, pkgs, ... }: + ( + { config, pkgs, ... }: let unstable-overlay = final: prev: { unstable = nixpkgs.legacyPackages.x86_64-linux; }; - in { + in + { nixpkgs.overlays = [ unstable-overlay agenix.overlays.default nix-minecraft.overlay ]; imports = [ nix-minecraft.nixosModules.minecraft-servers ]; - }) + } + ) ]; }; }; overlays = { custom = final: prev: { - chromeos-ectool = nixpkgs.legacyPackages."x86_64-linux".callPackage - ./packages/chromeos-ectool.nix { }; - plasticity = nixpkgs.legacyPackages."x86_64-linux".callPackage - ./packages/plasticity.nix { }; + chromeos-ectool = + nixpkgs.legacyPackages."x86_64-linux".callPackage ./packages/chromeos-ectool.nix + { }; + plasticity = nixpkgs.legacyPackages."x86_64-linux".callPackage ./packages/plasticity.nix { }; }; }; @@ -133,8 +161,7 @@ user = "root"; sshUser = "root"; remoteBuild = true; - path = deploy-rs.lib.x86_64-linux.activate.nixos - self.nixosConfigurations.alexandria; + path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.alexandria; }; }; }; @@ -146,25 +173,20 @@ user = "root"; sshUser = "root"; remoteBuild = true; - path = deploy-rs.lib.x86_64-linux.activate.nixos - self.nixosConfigurations.io; + path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.io; }; }; }; }; }; - devShells = { - "x86_64-linux".default = nixpkgs.legacyPackages."x86_64-linux".mkShell { - packages = with nixpkgs.legacyPackages."x86_64-linux"; [ nil nixfmt ]; - }; - "aarch64-linux".default = - nixpkgs.legacyPackages."aarch64-linux".mkShell { - packages = with nixpkgs.legacyPackages."aarch64-linux"; [ - nil - nixfmt - ]; - }; + formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style; + + devShells."x86_64-linux".default = nixpkgs.legacyPackages."x86_64-linux".mkShell { + packages = with nixpkgs.legacyPackages."x86_64-linux"; [ + nil + nixfmt-rfc-style + ]; }; nixosModules.qbittorrent = import ./modules/qbittorrent.nix; diff --git a/hosts/common/boot.nix b/hosts/common/boot.nix index 0ce7f2f..ef4ef55 100644 --- a/hosts/common/boot.nix +++ b/hosts/common/boot.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { boot = { diff --git a/hosts/common/console.nix b/hosts/common/console.nix index 12cfbfe..0e71050 100644 --- a/hosts/common/console.nix +++ b/hosts/common/console.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { console = { diff --git a/hosts/common/environment.nix b/hosts/common/environment.nix index 3cca583..406a5cd 100644 --- a/hosts/common/environment.nix +++ b/hosts/common/environment.nix @@ -3,7 +3,6 @@ { environment.shellAliases = { neofetch = "fastfetch"; - syscleanup = - "sudo nix-collect-garbage -d; sudo /run/current-system/bin/switch-to-configuration boot"; + syscleanup = "sudo nix-collect-garbage -d; sudo /run/current-system/bin/switch-to-configuration boot"; }; } diff --git a/hosts/common/locale.nix b/hosts/common/locale.nix index 7ab6c67..837c5e2 100644 --- a/hosts/common/locale.nix +++ b/hosts/common/locale.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { time.timeZone = "America/Bahia"; diff --git a/hosts/common/networking.nix b/hosts/common/networking.nix index f9faece..3ddfb6b 100644 --- a/hosts/common/networking.nix +++ b/hosts/common/networking.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { networking = { diff --git a/hosts/common/nix.nix b/hosts/common/nix.nix index 6f3d98a..13e5f94 100644 --- a/hosts/common/nix.nix +++ b/hosts/common/nix.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { nix = { diff --git a/hosts/common/packages.nix b/hosts/common/packages.nix index 63b97a1..9b9ab93 100644 --- a/hosts/common/packages.nix +++ b/hosts/common/packages.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { nixpkgs.config.allowUnfree = true; diff --git a/hosts/common/security.nix b/hosts/common/security.nix index 3eba665..801425e 100644 --- a/hosts/common/security.nix +++ b/hosts/common/security.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { security = { diff --git a/hosts/common/services.nix b/hosts/common/services.nix index 7d66d14..96ce350 100644 --- a/hosts/common/services.nix +++ b/hosts/common/services.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { services = { diff --git a/hosts/common/users.nix b/hosts/common/users.nix index b43f90f..cf61d3a 100644 --- a/hosts/common/users.nix +++ b/hosts/common/users.nix @@ -1,17 +1,26 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { users.users = { user = { isNormalUser = true; shell = pkgs.fish; - extraGroups = [ "networkmanager" "docker" "wheel" ]; + extraGroups = [ + "networkmanager" + "docker" + "wheel" + ]; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKcwF1yuWEfYGScNocEbs0AmGxyTIzGc4/IhpU587SJE" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA1v3+q3EaruiiStWjubEJWvtejam/r41uoOpCdwJtLL" ]; - hashedPassword = - "$6$Pj7v/CpstyuWQQV0$cNujVDhfMBdwlGVEnnd8t71.kZPixbo0u25cd.874iaqLTH4V5fa1f98V5zGapjQCz5JyZmsR94xi00sUrntT0"; + hashedPassword = "$6$Pj7v/CpstyuWQQV0$cNujVDhfMBdwlGVEnnd8t71.kZPixbo0u25cd.874iaqLTH4V5fa1f98V5zGapjQCz5JyZmsR94xi00sUrntT0"; }; root = { shell = pkgs.fish; diff --git a/hosts/common/virtualisation.nix b/hosts/common/virtualisation.nix index a8a5983..69440a3 100644 --- a/hosts/common/virtualisation.nix +++ b/hosts/common/virtualisation.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { virtualisation.podman = { diff --git a/hosts/desktops/common/boot.nix b/hosts/desktops/common/boot.nix index 19ba815..2419e9e 100644 --- a/hosts/desktops/common/boot.nix +++ b/hosts/desktops/common/boot.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { boot = { @@ -9,7 +15,9 @@ extraModprobeConfig = '' options bluetooth disable_ertm=1 ''; - kernel.sysctl = { "net.ipv4.tcp_mtu_probing" = 1; }; + kernel.sysctl = { + "net.ipv4.tcp_mtu_probing" = 1; + }; kernelParams = [ "quiet" "splash" diff --git a/hosts/desktops/common/hardware.nix b/hosts/desktops/common/hardware.nix index b81beb4..b0d18f5 100644 --- a/hosts/desktops/common/hardware.nix +++ b/hosts/desktops/common/hardware.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { hardware = { @@ -10,6 +16,5 @@ i2c.enable = true; }; - security.rtkit.enable = - true; # Needed for pipewire to acquire realtime priority + security.rtkit.enable = true; # Needed for pipewire to acquire realtime priority } diff --git a/hosts/desktops/common/home-manager.nix b/hosts/desktops/common/home-manager.nix index 2630503..b65ee00 100644 --- a/hosts/desktops/common/home-manager.nix +++ b/hosts/desktops/common/home-manager.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { home-manager = { diff --git a/hosts/desktops/common/impermanence.nix b/hosts/desktops/common/impermanence.nix index 8507a91..786d3c9 100644 --- a/hosts/desktops/common/impermanence.nix +++ b/hosts/desktops/common/impermanence.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { environment.persistence.main = { diff --git a/hosts/desktops/common/nix.nix b/hosts/desktops/common/nix.nix index 4f60d5d..e81eb0b 100644 --- a/hosts/desktops/common/nix.nix +++ b/hosts/desktops/common/nix.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { environment.etc."channels/nixpkgs".source = inputs.nixpkgs.outPath; diff --git a/hosts/desktops/common/packages.nix b/hosts/desktops/common/packages.nix index 0136b20..706bc71 100644 --- a/hosts/desktops/common/packages.nix +++ b/hosts/desktops/common/packages.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: let kdepkgs = with pkgs.kdePackages; [ ark @@ -9,8 +15,10 @@ let merkuro kdepim-addons ]; -in { - environment.systemPackages = with pkgs; +in +{ + environment.systemPackages = + with pkgs; [ aspell aspellDicts.de @@ -64,7 +72,8 @@ in { ventoy virt-manager wezterm - ] ++ kdepkgs; + ] + ++ kdepkgs; services.flatpak = { enable = true; @@ -100,9 +109,22 @@ in { fonts = { fontDir.enable = true; - packages = with pkgs; [ corefonts maple-mono noto-fonts-cjk roboto ]; + packages = with pkgs; [ + corefonts + maple-mono + noto-fonts-cjk + roboto + ]; }; - environment.plasma6.excludePackages = - (with pkgs.kdePackages; [ elisa gwenview khelpcenter konsole oxygen ]); + environment.plasma6.excludePackages = ( + with pkgs.kdePackages; + [ + elisa + gwenview + khelpcenter + konsole + oxygen + ] + ); } diff --git a/hosts/desktops/common/services.nix b/hosts/desktops/common/services.nix index d130be9..ff55a7e 100644 --- a/hosts/desktops/common/services.nix +++ b/hosts/desktops/common/services.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { services = { @@ -20,19 +26,19 @@ greetd = { enable = true; settings = { - default_session.command = let - xSessions = - "${config.services.displayManager.sessionData.desktops}/share/xsessions"; - wlSessions = - "${config.services.displayManager.sessionData.desktops}/share/wayland-sessions"; - in '' - ${pkgs.greetd.tuigreet}/bin/tuigreet \ - --remember \ - --asterisks \ - --time \ - --greeting "NixOS" \ - --sessions ${xSessions}:${wlSessions} - ''; + default_session.command = + let + xSessions = "${config.services.displayManager.sessionData.desktops}/share/xsessions"; + wlSessions = "${config.services.displayManager.sessionData.desktops}/share/wayland-sessions"; + in + '' + ${pkgs.greetd.tuigreet}/bin/tuigreet \ + --remember \ + --asterisks \ + --time \ + --greeting "NixOS" \ + --sessions ${xSessions}:${wlSessions} + ''; initial_session = { command = '' ${pkgs.kdePackages.plasma-workspace}/bin/startplasma-wayland &> /dev/null @@ -46,6 +52,9 @@ xdg.portal = { enable = true; xdgOpenUsePortal = true; - extraPortals = with pkgs; [ xdg-desktop-portal-kde xdg-desktop-portal-gtk ]; + extraPortals = with pkgs; [ + xdg-desktop-portal-kde + xdg-desktop-portal-gtk + ]; }; } diff --git a/hosts/desktops/common/stylix.nix b/hosts/desktops/common/stylix.nix index a4b61e0..6c73a57 100644 --- a/hosts/desktops/common/stylix.nix +++ b/hosts/desktops/common/stylix.nix @@ -4,8 +4,7 @@ stylix = { enable = true; image = pkgs.fetchurl { - url = - "https://github.com/notAxon/wallpapers/blob/main/Nature/Pink_Flowers_Photograph_by_Lisa_Fotios.jpeg?raw=true"; + url = "https://github.com/notAxon/wallpapers/blob/main/Nature/Pink_Flowers_Photograph_by_Lisa_Fotios.jpeg?raw=true"; sha256 = "sha256-PyK/LuR7IR+FpGFZXdpYkShjKrwaqCtu64SY/wl/RvY="; }; base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml"; diff --git a/hosts/desktops/common/users.nix b/hosts/desktops/common/users.nix index 957f402..69ae863 100644 --- a/hosts/desktops/common/users.nix +++ b/hosts/desktops/common/users.nix @@ -1,11 +1,15 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { environment.sessionVariables = rec { - KDEHOME = - "$XDG_CONFIG_HOME/kde4"; # Stops kde from placing a .kde4 folder in the home dir - NIXOS_OZONE_WL = - "1"; # Forces chromium and most electron apps to run in wayland + KDEHOME = "$XDG_CONFIG_HOME/kde4"; # Stops kde from placing a .kde4 folder in the home dir + NIXOS_OZONE_WL = "1"; # Forces chromium and most electron apps to run in wayland }; users.users.user = { diff --git a/hosts/desktops/common/virtualisation.nix b/hosts/desktops/common/virtualisation.nix index 19c5c67..e3a9541 100644 --- a/hosts/desktops/common/virtualisation.nix +++ b/hosts/desktops/common/virtualisation.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { virtualisation = { diff --git a/hosts/desktops/io.nix b/hosts/desktops/io.nix index bd2d5e3..1de7d9d 100644 --- a/hosts/desktops/io.nix +++ b/hosts/desktops/io.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: let cml-ucm-conf = pkgs.alsa-ucm-conf.overrideAttrs { @@ -14,7 +19,8 @@ let cp -R $wttsrc/{cml,sof-rt5682} $out/share/alsa/ucm2/conf.d ''; }; -in { +in +{ imports = [ # Host-common imports ../common @@ -34,7 +40,11 @@ in { }; boot = { - kernelParams = [ "nosgx" "i915.fastboot=1" "mem_sleep_default=deep" ]; + kernelParams = [ + "nosgx" + "i915.fastboot=1" + "mem_sleep_default=deep" + ]; extraModprobeConfig = '' options snd-intel-dspcfg dsp_driver=3 ''; @@ -51,7 +61,9 @@ in { # TODO: remove once gmodena/nix-flatpak/issues/45 fixed systemd.services."flatpak-managed-install" = { - serviceConfig = { ExecStartPre = "${pkgs.coreutils}/bin/sleep 5"; }; + serviceConfig = { + ExecStartPre = "${pkgs.coreutils}/bin/sleep 5"; + }; }; services = { diff --git a/hosts/desktops/io/default.nix b/hosts/desktops/io/default.nix index 3b3c6ee..a480ae0 100644 --- a/hosts/desktops/io/default.nix +++ b/hosts/desktops/io/default.nix @@ -1,5 +1,8 @@ { ... }: { - imports = [ ./ephermal.nix ./hardware-configuration.nix ]; + imports = [ + ./ephermal.nix + ./hardware-configuration.nix + ]; } diff --git a/hosts/desktops/io/ephermal.nix b/hosts/desktops/io/ephermal.nix index 933381c..eabf360 100644 --- a/hosts/desktops/io/ephermal.nix +++ b/hosts/desktops/io/ephermal.nix @@ -1,10 +1,18 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { boot.initrd.systemd.services.recreate-root = { description = "Rolling over and creating new filesystem root"; requires = [ "initrd-root-device.target" ]; - after = [ "local-fs-pre.target" "initrd-root-device.target" ]; + after = [ + "local-fs-pre.target" + "initrd-root-device.target" + ]; requiredBy = [ "initrd-root-fs.target" ]; before = [ "sysroot.mount" ]; unitConfig = { diff --git a/hosts/desktops/io/hardware-configuration.nix b/hosts/desktops/io/hardware-configuration.nix index 61c687e..046956b 100644 --- a/hosts/desktops/io/hardware-configuration.nix +++ b/hosts/desktops/io/hardware-configuration.nix @@ -1,14 +1,24 @@ -{ config, lib, pkgs, modulesPath, ... }: +{ + config, + lib, + pkgs, + modulesPath, + ... +}: { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; boot = { initrd = { - availableKernelModules = - [ "xhci_pci" "ahci" "usb_storage" "sd_mod" "sdhci_pci" ]; - luks.devices."enc".device = - "/dev/disk/by-uuid/8018720e-42dd-453c-b374-adaa02eb48c9"; + availableKernelModules = [ + "xhci_pci" + "ahci" + "usb_storage" + "sd_mod" + "sdhci_pci" + ]; + luks.devices."enc".device = "/dev/disk/by-uuid/8018720e-42dd-453c-b374-adaa02eb48c9"; }; kernelModules = [ "kvm-intel" ]; extraModulePackages = [ ]; @@ -18,27 +28,47 @@ "/" = { device = "/dev/disk/by-uuid/3638cea6-5503-43cc-aa4f-3d37ebedad2f"; fsType = "btrfs"; - options = [ "subvol=@root" "noatime" "compress=zstd" ]; + options = [ + "subvol=@root" + "noatime" + "compress=zstd" + ]; }; "/home" = { device = "/dev/disk/by-uuid/3638cea6-5503-43cc-aa4f-3d37ebedad2f"; fsType = "btrfs"; - options = [ "subvol=@home" "noatime" "compress=zstd" ]; + options = [ + "subvol=@home" + "noatime" + "compress=zstd" + ]; }; "/nix" = { device = "/dev/disk/by-uuid/3638cea6-5503-43cc-aa4f-3d37ebedad2f"; fsType = "btrfs"; - options = [ "subvol=@nix" "noatime" "compress=zstd" ]; + options = [ + "subvol=@nix" + "noatime" + "compress=zstd" + ]; }; "/persistent" = { device = "/dev/disk/by-uuid/3638cea6-5503-43cc-aa4f-3d37ebedad2f"; fsType = "btrfs"; - options = [ "subvol=@persistent" "noatime" "compress=zstd" ]; + options = [ + "subvol=@persistent" + "noatime" + "compress=zstd" + ]; }; "/boot/efi" = { device = "/dev/disk/by-uuid/34AD-002A"; fsType = "vfat"; - options = [ "noatime" "fmask=0077" "dmask=0077" ]; + options = [ + "noatime" + "fmask=0077" + "dmask=0077" + ]; }; }; @@ -48,7 +78,5 @@ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = - lib.mkDefault config.hardware.enableRedistributableFirmware; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } - diff --git a/hosts/desktops/rotterdam.nix b/hosts/desktops/rotterdam.nix index 92740db..52c536f 100644 --- a/hosts/desktops/rotterdam.nix +++ b/hosts/desktops/rotterdam.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: let qubesnsh = pkgs.writeTextFile { @@ -9,8 +15,7 @@ let reboot-into-qubes = pkgs.makeDesktopItem { name = "reboot-into-qubes"; icon = pkgs.fetchurl { - url = - "https://raw.githubusercontent.com/vinceliuice/Qogir-icon-theme/31f267e1f5fd4e9596bfd78dfb41a03d3a9f33ee/src/scalable/apps/distributor-logo-qubes.svg"; + url = "https://raw.githubusercontent.com/vinceliuice/Qogir-icon-theme/31f267e1f5fd4e9596bfd78dfb41a03d3a9f33ee/src/scalable/apps/distributor-logo-qubes.svg"; sha256 = "sha256-QbHr7s5Wcs7uFtfqZctMyS0iDbMfiiZOKy2nHhDOfn0="; }; desktopName = "Qubes OS"; @@ -28,7 +33,8 @@ let fi ''; }; -in { +in +{ imports = [ # Host-common imports ../common diff --git a/hosts/desktops/rotterdam/default.nix b/hosts/desktops/rotterdam/default.nix index 7627914..eedd2b4 100644 --- a/hosts/desktops/rotterdam/default.nix +++ b/hosts/desktops/rotterdam/default.nix @@ -1,5 +1,8 @@ { ... }: { - imports = [ ./hardware-configuration.nix ./ephermal.nix ]; + imports = [ + ./hardware-configuration.nix + ./ephermal.nix + ]; } diff --git a/hosts/desktops/rotterdam/ephermal.nix b/hosts/desktops/rotterdam/ephermal.nix index 6fd284c..bec9d09 100644 --- a/hosts/desktops/rotterdam/ephermal.nix +++ b/hosts/desktops/rotterdam/ephermal.nix @@ -1,10 +1,18 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { boot.initrd.systemd.services.recreate-root = { description = "Rolling over and creating new filesystem root"; requires = [ "initrd-root-device.target" ]; - after = [ "local-fs-pre.target" "initrd-root-device.target" ]; + after = [ + "local-fs-pre.target" + "initrd-root-device.target" + ]; requiredBy = [ "initrd-root-fs.target" ]; before = [ "sysroot.mount" ]; unitConfig = { diff --git a/hosts/desktops/rotterdam/hardware-configuration.nix b/hosts/desktops/rotterdam/hardware-configuration.nix index 9d8083c..b47b652 100644 --- a/hosts/desktops/rotterdam/hardware-configuration.nix +++ b/hosts/desktops/rotterdam/hardware-configuration.nix @@ -1,14 +1,24 @@ -{ config, lib, modulesPath, ... }: +{ + config, + lib, + modulesPath, + ... +}: { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; boot = { initrd = { - availableKernelModules = - [ "amdgpu" "nvme" "xhci_pci" "ahci" "usbhid" "sd_mod" ]; - luks.devices."cryptroot".device = - "/dev/disk/by-uuid/f7dd4142-7109-4493-834d-4a831777f08d"; + availableKernelModules = [ + "amdgpu" + "nvme" + "xhci_pci" + "ahci" + "usbhid" + "sd_mod" + ]; + luks.devices."cryptroot".device = "/dev/disk/by-uuid/f7dd4142-7109-4493-834d-4a831777f08d"; }; kernelModules = [ "kvm-amd" ]; }; @@ -17,41 +27,63 @@ "/" = { device = "/dev/disk/by-uuid/3287dbc3-c0fa-4096-a0b3-59b017cfecc8"; fsType = "btrfs"; - options = [ "subvol=@root" "noatime" "compress=zstd" ]; + options = [ + "subvol=@root" + "noatime" + "compress=zstd" + ]; }; "/home" = { device = "/dev/disk/by-uuid/3287dbc3-c0fa-4096-a0b3-59b017cfecc8"; fsType = "btrfs"; - options = [ "subvol=@home" "noatime" "compress=zstd" ]; + options = [ + "subvol=@home" + "noatime" + "compress=zstd" + ]; }; "/boot/efi" = { device = "/dev/disk/by-uuid/1F5A-8945"; fsType = "vfat"; - options = [ "noatime" "fmask=0077" "dmask=0077" ]; + options = [ + "noatime" + "fmask=0077" + "dmask=0077" + ]; }; "/nix" = { device = "/dev/disk/by-uuid/3287dbc3-c0fa-4096-a0b3-59b017cfecc8"; fsType = "btrfs"; - options = [ "subvol=@nix" "noatime" "compress=zstd" ]; + options = [ + "subvol=@nix" + "noatime" + "compress=zstd" + ]; }; "/persistent" = { device = "/dev/disk/by-uuid/3287dbc3-c0fa-4096-a0b3-59b017cfecc8"; fsType = "btrfs"; - options = [ "subvol=@persistent" "noatime" "compress=zstd" ]; + options = [ + "subvol=@persistent" + "noatime" + "compress=zstd" + ]; }; "/swap" = { device = "/dev/disk/by-uuid/3287dbc3-c0fa-4096-a0b3-59b017cfecc8"; fsType = "btrfs"; - options = [ "subvol=@swap" "noatime" ]; + options = [ + "subvol=@swap" + "noatime" + ]; }; }; - swapDevices = [{ device = "/swap/swapfile"; }]; + swapDevices = [ { device = "/swap/swapfile"; } ]; networking.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = - lib.mkDefault config.hardware.enableRedistributableFirmware; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } diff --git a/hosts/servers/alexandria.nix b/hosts/servers/alexandria.nix index c84b24f..58ee71c 100644 --- a/hosts/servers/alexandria.nix +++ b/hosts/servers/alexandria.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { imports = [ @@ -12,15 +18,22 @@ nix.nixPath = [ "nixos-config=${./alexandria.nix}" ]; - swapDevices = [{ - device = "/swapfile"; - size = 8192; - }]; + swapDevices = [ + { + device = "/swapfile"; + size = 8192; + } + ]; networking = { hostName = "alexandria"; firewall = { - allowedTCPPorts = [ 80 443 8010 9666 ]; + allowedTCPPorts = [ + 80 + 443 + 8010 + 9666 + ]; allowedUDPPorts = [ 24454 ]; }; }; diff --git a/hosts/servers/alexandria/changedetection.nix b/hosts/servers/alexandria/changedetection.nix index 3e7ea1b..aecbb24 100644 --- a/hosts/servers/alexandria/changedetection.nix +++ b/hosts/servers/alexandria/changedetection.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { services = { @@ -14,8 +20,7 @@ useACMEHost = "baduhai.dev"; forceSSL = true; kTLS = true; - locations."/".proxyPass = - "http://127.0.0.1:${config.ports.changedetection-io}"; + locations."/".proxyPass = "http://127.0.0.1:${config.ports.changedetection-io}"; }; }; } diff --git a/hosts/servers/alexandria/cinny.nix b/hosts/servers/alexandria/cinny.nix index 95edb89..5c2a132 100644 --- a/hosts/servers/alexandria/cinny.nix +++ b/hosts/servers/alexandria/cinny.nix @@ -1,13 +1,23 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { virtualisation.oci-containers.containers."cinny" = { image = "ghcr.io/cinnyapp/cinny:latest"; ports = [ "${config.ports.cinny}:80" ]; - environment = { TZ = "America/Bahia"; }; + environment = { + TZ = "America/Bahia"; + }; volumes = [ "/data/matrix/cinny-config.json:/app/config.json" ]; - extraOptions = - [ "--pull=newer" "--label=io.containers.autoupdate=registry" ]; + extraOptions = [ + "--pull=newer" + "--label=io.containers.autoupdate=registry" + ]; }; services.nginx.virtualHosts."cinny.baduhai.dev" = { diff --git a/hosts/servers/alexandria/hardware-configuration.nix b/hosts/servers/alexandria/hardware-configuration.nix index fe49178..018e27e 100644 --- a/hosts/servers/alexandria/hardware-configuration.nix +++ b/hosts/servers/alexandria/hardware-configuration.nix @@ -1,13 +1,24 @@ # 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, pkgs, lib, modulesPath, ... }: +{ + config, + pkgs, + lib, + modulesPath, + ... +}: { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = - [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.availableKernelModules = [ + "xhci_pci" + "ahci" + "usbhid" + "usb_storage" + "sd_mod" + ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; @@ -32,6 +43,5 @@ # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; - hardware.cpu.intel.updateMicrocode = - lib.mkDefault config.hardware.enableRedistributableFirmware; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } diff --git a/hosts/servers/alexandria/jellyfin.nix b/hosts/servers/alexandria/jellyfin.nix index cf90692..3d036ba 100644 --- a/hosts/servers/alexandria/jellyfin.nix +++ b/hosts/servers/alexandria/jellyfin.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { services = { diff --git a/hosts/servers/alexandria/librespeed.nix b/hosts/servers/alexandria/librespeed.nix index a59330a..2042b56 100644 --- a/hosts/servers/alexandria/librespeed.nix +++ b/hosts/servers/alexandria/librespeed.nix @@ -1,12 +1,22 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { virtualisation.oci-containers.containers."librespeed" = { image = "lscr.io/linuxserver/librespeed:latest"; - environment = { TZ = "America/Bahia"; }; + environment = { + TZ = "America/Bahia"; + }; ports = [ "${config.ports.librespeed}:80" ]; - extraOptions = - [ "--pull=newer" "--label=io.containers.autoupdate=registry" ]; + extraOptions = [ + "--pull=newer" + "--label=io.containers.autoupdate=registry" + ]; }; services.nginx.virtualHosts."librespeed.baduhai.dev" = { diff --git a/hosts/servers/alexandria/minecraft.nix b/hosts/servers/alexandria/minecraft.nix index d9aa9db..cd7bef6 100644 --- a/hosts/servers/alexandria/minecraft.nix +++ b/hosts/servers/alexandria/minecraft.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { services.minecraft-servers = { @@ -16,68 +22,58 @@ online-mode = false; spawn-protection = false; }; - symlinks."mods" = pkgs.linkFarmFromDrvs "mods" (builtins.attrValues { - villagerNames = pkgs.fetchurl { - url = - "https://cdn.modrinth.com/data/gqRXDo8B/versions/rzXhJ2pH/villagernames-1.20.1-8.1.jar"; - sha256 = "0hcbbp3zi3nnr12kian9l645f22jr7495bcrlbng46nxp9h08pg5"; - }; - lithium = pkgs.fetchurl { - url = - "https://cdn.modrinth.com/data/gvQqBUqZ/versions/ZSNsJrPI/lithium-fabric-mc1.20.1-0.11.2.jar"; - sha256 = "1ycdvrs46bbdxsa6i38sfx70v47nvzzbmblfpy3hq3k8blsrbid0"; - }; - lootr = pkgs.fetchurl { - url = - "https://cdn.modrinth.com/data/EltpO5cN/versions/fqmzdpE2/lootr-fabric-1.20-0.7.33.81.jar"; - sha256 = "0db0472rb07nbc9i925qp3n7s7nmrq6q3alhprflgc9gqg0j0f14"; - }; - malilib = pkgs.fetchurl { - url = - "https://cdn.modrinth.com/data/GcWjdA9I/versions/V7yLDtJV/malilib-fabric-1.20.1-0.16.3.jar"; - sha256 = "129m1jnk58p0wid5fmagqx13wp6pw4gja01yx14aljdxgzr8kqas"; - }; - immersivePaintings = pkgs.fetchurl { - url = - "https://cdn.modrinth.com/data/6txNkua3/versions/UjL11A4h/immersive_paintings-0.6.7%2B1.20.1-fabric.jar"; - sha256 = "1di9a67q372z6lplnsa1kmh86armya83mimn61c8ai7izjlsfnid"; - }; - entityCulling = pkgs.fetchurl { - url = - "https://cdn.modrinth.com/data/NNAgCjsB/versions/mahLIqpj/entityculling-fabric-1.6.7-mc1.20.1.jar"; - sha256 = "01iz8rgljgzl0d8gcwpmr6wcvv3b0cf1siggp3dn8q5hv9przk9k"; - }; - fabricAPI = pkgs.fetchurl { - url = - "https://cdn.modrinth.com/data/P7dR8mSH/versions/P7uGFii0/fabric-api-0.92.2%2B1.20.1.jar"; - sha256 = "1z3hcxng2p9ymph1c0k729vxxaasi34n6fcdsqwx0wsmqi2gh025"; - }; - fallingTree = pkgs.fetchurl { - url = - "https://cdn.modrinth.com/data/Fb4jn8m6/versions/NrtzFkZE/FallingTree-1.20.1-4.3.4.jar"; - sha256 = "0sfv2laxzgmkhmr0kizi7g09r6fkccjhj9p5j0viqywnwx02r7fs"; - }; - carryOn = pkgs.fetchurl { - url = - "https://cdn.modrinth.com/data/joEfVgkn/versions/Mkla4B3q/carryon-fabric-1.20.1-2.1.2.7.jar"; - sha256 = "1pgbqrjrxw7bgwn6phpywgpjfmf5h341ba93j76ibk649wbgn9cd"; - }; - collective = pkgs.fetchurl { - url = - "https://cdn.modrinth.com/data/e0M1UDsY/versions/jo7YkyNS/collective-1.20.1-7.84.jar"; - sha256 = "01qvaqmd5kmxq7sins6703xq5ckc47qs5kd62gnjyfq1dbjp2y2b"; - }; - dynamicLights = pkgs.fetchurl { - url = - "https://cdn.modrinth.com/data/7YjclEGc/versions/eU6PA0pr/dynamiclights-v1.8.3-mc1.17x-1.21x-mod.jar"; - sha256 = "0vdv525gis1vj514iqh4rbl6byp7k0ls3lsyj0c3db8g58d784gm"; - }; - appleSkin = pkgs.fetchurl { - url = - "https://cdn.modrinth.com/data/EsAfCjCV/versions/xcauwnEB/appleskin-fabric-mc1.20.1-2.5.1.jar"; - sha256 = "1d9qmzjlk763ycmizqpmhcq0hhqw9j8hij6xk8p8l11ljr13mql5"; - }; - }); + symlinks."mods" = pkgs.linkFarmFromDrvs "mods" ( + builtins.attrValues { + villagerNames = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/gqRXDo8B/versions/rzXhJ2pH/villagernames-1.20.1-8.1.jar"; + sha256 = "0hcbbp3zi3nnr12kian9l645f22jr7495bcrlbng46nxp9h08pg5"; + }; + lithium = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/gvQqBUqZ/versions/ZSNsJrPI/lithium-fabric-mc1.20.1-0.11.2.jar"; + sha256 = "1ycdvrs46bbdxsa6i38sfx70v47nvzzbmblfpy3hq3k8blsrbid0"; + }; + lootr = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/EltpO5cN/versions/fqmzdpE2/lootr-fabric-1.20-0.7.33.81.jar"; + sha256 = "0db0472rb07nbc9i925qp3n7s7nmrq6q3alhprflgc9gqg0j0f14"; + }; + malilib = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/GcWjdA9I/versions/V7yLDtJV/malilib-fabric-1.20.1-0.16.3.jar"; + sha256 = "129m1jnk58p0wid5fmagqx13wp6pw4gja01yx14aljdxgzr8kqas"; + }; + immersivePaintings = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/6txNkua3/versions/UjL11A4h/immersive_paintings-0.6.7%2B1.20.1-fabric.jar"; + sha256 = "1di9a67q372z6lplnsa1kmh86armya83mimn61c8ai7izjlsfnid"; + }; + entityCulling = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/NNAgCjsB/versions/mahLIqpj/entityculling-fabric-1.6.7-mc1.20.1.jar"; + sha256 = "01iz8rgljgzl0d8gcwpmr6wcvv3b0cf1siggp3dn8q5hv9przk9k"; + }; + fabricAPI = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/P7dR8mSH/versions/P7uGFii0/fabric-api-0.92.2%2B1.20.1.jar"; + sha256 = "1z3hcxng2p9ymph1c0k729vxxaasi34n6fcdsqwx0wsmqi2gh025"; + }; + fallingTree = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/Fb4jn8m6/versions/NrtzFkZE/FallingTree-1.20.1-4.3.4.jar"; + sha256 = "0sfv2laxzgmkhmr0kizi7g09r6fkccjhj9p5j0viqywnwx02r7fs"; + }; + carryOn = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/joEfVgkn/versions/Mkla4B3q/carryon-fabric-1.20.1-2.1.2.7.jar"; + sha256 = "1pgbqrjrxw7bgwn6phpywgpjfmf5h341ba93j76ibk649wbgn9cd"; + }; + collective = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/e0M1UDsY/versions/jo7YkyNS/collective-1.20.1-7.84.jar"; + sha256 = "01qvaqmd5kmxq7sins6703xq5ckc47qs5kd62gnjyfq1dbjp2y2b"; + }; + dynamicLights = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/7YjclEGc/versions/eU6PA0pr/dynamiclights-v1.8.3-mc1.17x-1.21x-mod.jar"; + sha256 = "0vdv525gis1vj514iqh4rbl6byp7k0ls3lsyj0c3db8g58d784gm"; + }; + appleSkin = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/EsAfCjCV/versions/xcauwnEB/appleskin-fabric-mc1.20.1-2.5.1.jar"; + sha256 = "1d9qmzjlk763ycmizqpmhcq0hhqw9j8hij6xk8p8l11ljr13mql5"; + }; + } + ); }; }; } diff --git a/hosts/servers/alexandria/nextcloud.nix b/hosts/servers/alexandria/nextcloud.nix index 4fa8d6c..7fb774b 100644 --- a/hosts/servers/alexandria/nextcloud.nix +++ b/hosts/servers/alexandria/nextcloud.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { services = { @@ -25,7 +31,9 @@ dbtype = "pgsql"; adminpassFile = config.age.secrets.nextcloud-adminpass.path; }; - phpOptions = { "opcache.interned_strings_buffer" = "16"; }; + phpOptions = { + "opcache.interned_strings_buffer" = "16"; + }; }; nginx.virtualHosts.${config.services.nextcloud.hostName} = { diff --git a/hosts/servers/alexandria/nginx.nix b/hosts/servers/alexandria/nginx.nix index 982ca81..35db7e7 100644 --- a/hosts/servers/alexandria/nginx.nix +++ b/hosts/servers/alexandria/nginx.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { services.nginx = { diff --git a/hosts/servers/alexandria/pairdrop.nix b/hosts/servers/alexandria/pairdrop.nix index e2e09a9..d853ff8 100644 --- a/hosts/servers/alexandria/pairdrop.nix +++ b/hosts/servers/alexandria/pairdrop.nix @@ -1,11 +1,18 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { virtualisation.oci-containers.containers."pairdrop" = { image = "lscr.io/linuxserver/pairdrop:latest"; ports = [ "${config.ports.pairdrop}:3000" ]; - extraOptions = - [ "--pull=newer" "--label=io.containers.autoupdate=registry" ]; + extraOptions = [ + "--pull=newer" + "--label=io.containers.autoupdate=registry" + ]; }; } - diff --git a/hosts/servers/alexandria/paperless.nix b/hosts/servers/alexandria/paperless.nix index 9d7264b..205d9cf 100644 --- a/hosts/servers/alexandria/paperless.nix +++ b/hosts/servers/alexandria/paperless.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { services = { @@ -9,7 +15,9 @@ passwordFile = config.age.secrets.paperless.path; port = lib.toInt "${config.ports.paperless}"; consumptionDirIsPublic = true; - settings = { PAPERLESS_OCR_LANGUAGE = "eng+por+deu"; }; + settings = { + PAPERLESS_OCR_LANGUAGE = "eng+por+deu"; + }; }; nginx.virtualHosts."paperless.baduhai.dev" = { diff --git a/hosts/servers/alexandria/searx.nix b/hosts/servers/alexandria/searx.nix index a6afe35..227201a 100644 --- a/hosts/servers/alexandria/searx.nix +++ b/hosts/servers/alexandria/searx.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { services = { diff --git a/hosts/servers/alexandria/security.nix b/hosts/servers/alexandria/security.nix index 7b68de0..f1e623d 100644 --- a/hosts/servers/alexandria/security.nix +++ b/hosts/servers/alexandria/security.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { security.acme = { @@ -9,7 +15,9 @@ dnsProvider = "cloudflare"; credentialsFile = config.age.secrets.cloudflare.path; }; - certs."baduhai.dev" = { extraDomainNames = [ "*.baduhai.dev" ]; }; + certs."baduhai.dev" = { + extraDomainNames = [ "*.baduhai.dev" ]; + }; }; boot.kernel.sysctl = { diff --git a/hosts/servers/alexandria/services.nix b/hosts/servers/alexandria/services.nix index 6e182e9..bfc9f85 100644 --- a/hosts/servers/alexandria/services.nix +++ b/hosts/servers/alexandria/services.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { services.postgresql.enable = true; diff --git a/hosts/servers/alexandria/users.nix b/hosts/servers/alexandria/users.nix index ac234b8..f454385 100644 --- a/hosts/servers/alexandria/users.nix +++ b/hosts/servers/alexandria/users.nix @@ -1,12 +1,25 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { users = { - users = { nginx.extraGroups = [ "acme" ]; }; + users = { + nginx.extraGroups = [ "acme" ]; + }; groups = { hosted = { gid = 1005; - members = [ "user" "minecraft" "paperless" "vaultwarden" ]; + members = [ + "user" + "minecraft" + "paperless" + "vaultwarden" + ]; }; }; }; diff --git a/hosts/servers/alexandria/variables.nix b/hosts/servers/alexandria/variables.nix index 0c67330..26ea8e0 100644 --- a/hosts/servers/alexandria/variables.nix +++ b/hosts/servers/alexandria/variables.nix @@ -1,13 +1,21 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: let - mkStringOption = default: + mkStringOption = + default: lib.mkOption { inherit default; type = lib.types.str; }; -in { +in +{ options.ports = { bazaar = mkStringOption "6767"; radarr = mkStringOption "7878"; diff --git a/hosts/servers/alexandria/vaultwarden.nix b/hosts/servers/alexandria/vaultwarden.nix index f61e9d1..9e28fd2 100644 --- a/hosts/servers/alexandria/vaultwarden.nix +++ b/hosts/servers/alexandria/vaultwarden.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { services = { diff --git a/hosts/servers/common/boot.nix b/hosts/servers/common/boot.nix index aee545d..1407937 100644 --- a/hosts/servers/common/boot.nix +++ b/hosts/servers/common/boot.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { boot.kernelPackages = pkgs.linuxPackages_hardened; diff --git a/hosts/servers/common/default.nix b/hosts/servers/common/default.nix index 579cea9..b659e64 100644 --- a/hosts/servers/common/default.nix +++ b/hosts/servers/common/default.nix @@ -1,5 +1,8 @@ { ... }: { - imports = [ ./boot.nix ./nix.nix ]; + imports = [ + ./boot.nix + ./nix.nix + ]; } diff --git a/hosts/servers/common/nix.nix b/hosts/servers/common/nix.nix index 1c4acdd..4aac5b1 100644 --- a/hosts/servers/common/nix.nix +++ b/hosts/servers/common/nix.nix @@ -1,4 +1,10 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { environment.etc."channels/nixpkgs".source = inputs.nixpkgs-stable.outPath; diff --git a/modules/qbittorrent.nix b/modules/qbittorrent.nix index 81cc1a5..1cca736 100644 --- a/modules/qbittorrent.nix +++ b/modules/qbittorrent.nix @@ -1,10 +1,16 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: with lib; let cfg = config.services.qbittorrent; configDir = "${cfg.dataDir}/.config"; openFilesLimit = 4096; -in { +in +{ options.services.qbittorrent = { enable = mkOption { type = types.bool; @@ -107,7 +113,10 @@ in { }; }; - users.groups = - mkIf (cfg.group == "qbittorrent") { qbittorrent = { gid = null; }; }; + users.groups = mkIf (cfg.group == "qbittorrent") { + qbittorrent = { + gid = null; + }; + }; }; } diff --git a/packages/chromeos-ectool.nix b/packages/chromeos-ectool.nix index e78cda4..356f765 100644 --- a/packages/chromeos-ectool.nix +++ b/packages/chromeos-ectool.nix @@ -1,8 +1,18 @@ -{ stdenv, pkgs, lib }: +{ + stdenv, + pkgs, + lib, +}: pkgs.stdenv.mkDerivation rec { name = "cros-ectool"; - nativeBuildInputs = with pkgs; [ cmake ninja pkg-config libusb libftdi1 ]; + nativeBuildInputs = with pkgs; [ + cmake + ninja + pkg-config + libusb + libftdi1 + ]; src = pkgs.fetchFromGitLab { domain = "gitlab.howett.net"; owner = "DHowett"; diff --git a/packages/plasticity.nix b/packages/plasticity.nix index 5a49c63..5ffbaeb 100644 --- a/packages/plasticity.nix +++ b/packages/plasticity.nix @@ -1,21 +1,54 @@ -{ alsa-lib, at-spi2-atk, autoPatchelfHook, cairo, cups, dbus, desktop-file-utils -, expat, fetchurl, gdk-pixbuf, gtk3, gvfs, hicolor-icon-theme, lib, libdrm -, libglvnd, libnotify, libsForQt5, libxkbcommon, mesa, nspr, nss, openssl, pango -, rpmextract, stdenv, systemd, trash-cli, vulkan-loader, wrapGAppsHook3 -, xdg-utils, xorg }: +{ + alsa-lib, + at-spi2-atk, + autoPatchelfHook, + cairo, + cups, + dbus, + desktop-file-utils, + expat, + fetchurl, + gdk-pixbuf, + gtk3, + gvfs, + hicolor-icon-theme, + lib, + libdrm, + libglvnd, + libnotify, + libsForQt5, + libxkbcommon, + mesa, + nspr, + nss, + openssl, + pango, + rpmextract, + stdenv, + systemd, + trash-cli, + vulkan-loader, + wrapGAppsHook3, + xdg-utils, + xorg, +}: stdenv.mkDerivation rec { pname = "plasticity"; version = "24.2.3"; src = fetchurl { - url = - "https://github.com/nkallen/plasticity/releases/download/v${version}/Plasticity-${version}-1.x86_64.rpm"; + url = "https://github.com/nkallen/plasticity/releases/download/v${version}/Plasticity-${version}-1.x86_64.rpm"; hash = "sha256-iiVh4k5r5PXN1/VJZcropTMu36N2B/ECq2L5e59QxJY="; }; passthru.updateScript = ./update.sh; - nativeBuildInputs = [ wrapGAppsHook3 autoPatchelfHook rpmextract mesa ]; + nativeBuildInputs = [ + wrapGAppsHook3 + autoPatchelfHook + rpmextract + mesa + ]; buildInputs = [ alsa-lib diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 5faa985..6feadc4 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -1,24 +1,26 @@ let - io-user = - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKcwF1yuWEfYGScNocEbs0AmGxyTIzGc4/IhpU587SJE"; - io-host = - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKCIrKJk5zWzWEHvLMPMK8T3PyeBjsCsqzxPN+OrXfhA"; - io = [ io-user io-host ]; + io-user = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKcwF1yuWEfYGScNocEbs0AmGxyTIzGc4/IhpU587SJE"; + io-host = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKCIrKJk5zWzWEHvLMPMK8T3PyeBjsCsqzxPN+OrXfhA"; + io = [ + io-user + io-host + ]; - rotterdam-user = - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA1v3+q3EaruiiStWjubEJWvtejam/r41uoOpCdwJtLL"; - rotterdam-host = - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK7zAxgU8LNi5/O5XgoOcLKjbNMmO2S7jAuCI9Nr/V4v"; - rotterdam = [ rotterdam-user rotterdam-host ]; + rotterdam-user = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA1v3+q3EaruiiStWjubEJWvtejam/r41uoOpCdwJtLL"; + rotterdam-host = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK7zAxgU8LNi5/O5XgoOcLKjbNMmO2S7jAuCI9Nr/V4v"; + rotterdam = [ + rotterdam-user + rotterdam-host + ]; - alexandria-host = - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK95QueW+jp1ZmF299Xr3XkgHJ6dL7aZVsfWxqbOKVKA"; + alexandria-host = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK95QueW+jp1ZmF299Xr3XkgHJ6dL7aZVsfWxqbOKVKA"; alexandria = [ alexandria-host ]; desktops = io ++ rotterdam; servers = alexandria; all-hosts = desktops ++ servers; -in { +in +{ "nextcloud-secrets.json.age".publicKeys = all-hosts; "nextcloud-adminpass.age".publicKeys = all-hosts; "cloudflare.age".publicKeys = all-hosts; diff --git a/users/common/default.nix b/users/common/default.nix index f9dfb30..a6eeaf4 100644 --- a/users/common/default.nix +++ b/users/common/default.nix @@ -1,5 +1,8 @@ { ... }: { - imports = [ ./home.nix ./programs.nix ]; + imports = [ + ./home.nix + ./programs.nix + ]; } diff --git a/users/common/home.nix b/users/common/home.nix index 7a4fdca..d3c3e1d 100644 --- a/users/common/home.nix +++ b/users/common/home.nix @@ -1,11 +1,18 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { home = { username = "user"; homeDirectory = "/home/user"; stateVersion = "22.05"; - sessionVariables = { EDITOR = "hx"; }; + sessionVariables = { + EDITOR = "hx"; + }; packages = with pkgs; [ nix-your-shell ]; }; } diff --git a/users/common/programs.nix b/users/common/programs.nix index bf9f1f8..ff49848 100644 --- a/users/common/programs.nix +++ b/users/common/programs.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { programs = { @@ -29,15 +34,20 @@ space = "file_picker"; w = ":w"; q = ":q"; - esc = [ "collapse_selection" "keep_primary_selection" ]; + esc = [ + "collapse_selection" + "keep_primary_selection" + ]; }; }; languages = { - language = [{ - name = "nix"; - auto-format = true; - formatter.command = "nixfmt"; - }]; + language = [ + { + name = "nix"; + auto-format = true; + formatter.command = "nixfmt"; + } + ]; }; }; diff --git a/users/desktops/common/default.nix b/users/desktops/common/default.nix index c8f165e..0e1fc3a 100644 --- a/users/desktops/common/default.nix +++ b/users/desktops/common/default.nix @@ -1,5 +1,8 @@ { ... }: { - imports = [ ./programs.nix ./programs ]; + imports = [ + ./programs.nix + ./programs + ]; } diff --git a/users/desktops/common/programs.nix b/users/desktops/common/programs.nix index b80e538..3005795 100644 --- a/users/desktops/common/programs.nix +++ b/users/desktops/common/programs.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { fonts.fontconfig.enable = true; @@ -21,8 +26,7 @@ functions = { sysrebuild = "nh os switch --ask"; sysrebuild-boot = "nh os boot --ask"; - sysupdate = - "nix flake update --commit-lock-file /home/user/Projects/personal/nix-config"; + sysupdate = "nix flake update --commit-lock-file /home/user/Projects/personal/nix-config"; code = '' wezterm cli split-pane --top --percent=75 -- hx wezterm cli activate-pane-direction up diff --git a/users/desktops/common/programs/default.nix b/users/desktops/common/programs/default.nix index 6309a32..33f590d 100644 --- a/users/desktops/common/programs/default.nix +++ b/users/desktops/common/programs/default.nix @@ -1,5 +1,8 @@ { ... }: { - imports = [ ./wezterm.nix ./webapps.nix ]; + imports = [ + ./wezterm.nix + ./webapps.nix + ]; } diff --git a/users/desktops/common/programs/webapps.nix b/users/desktops/common/programs/webapps.nix index ed32aab..6ab25a9 100644 --- a/users/desktops/common/programs/webapps.nix +++ b/users/desktops/common/programs/webapps.nix @@ -1,8 +1,11 @@ { lib, pkgs, ... }: let - mkWebApp = webAppName: webAppLink: webAppIconLink: webAppIconHash: - let name = lib.strings.replaceStrings [ " " ] [ "" ] webAppName; - in pkgs.makeDesktopItem { + mkWebApp = + webAppName: webAppLink: webAppIconLink: webAppIconHash: + let + name = lib.strings.replaceStrings [ " " ] [ "" ] webAppName; + in + pkgs.makeDesktopItem { inherit name; icon = pkgs.fetchurl { url = webAppIconLink; @@ -12,15 +15,25 @@ let categories = [ "Network" ]; startupNotify = true; startupWMClass = "chrome-${ - lib.strings.replaceStrings [ "https://" "/" ] [ "" "" ] webAppLink - }__-Default"; - exec = - "${pkgs.ungoogled-chromium}/bin/chromium --no-first-run --no-default-browser-check --no-crash-upload --app=${webAppLink} --class=${name}"; + lib.strings.replaceStrings + [ + "https://" + "/" + ] + [ + "" + "" + ] + webAppLink + }__-Default"; + exec = "${pkgs.ungoogled-chromium}/bin/chromium --no-first-run --no-default-browser-check --no-crash-upload --app=${webAppLink} --class=${name}"; }; -in { +in +{ home.packages = [ (mkWebApp "YT Music" "https://music.youtube.com" "https://raw.githubusercontent.com/vinceliuice/Qogir-icon-theme/fff0c7f3747b9b9ddf94c6f997847d47896097c2/src/scalable/apps/youtube-music.svg" - "sha256-T+v2JOOW+nEwH/9W2PFOrw/315/bCoKHw01KNh2U8IE=") + "sha256-T+v2JOOW+nEwH/9W2PFOrw/315/bCoKHw01KNh2U8IE=" + ) ]; } diff --git a/users/desktops/common/programs/wezterm.nix b/users/desktops/common/programs/wezterm.nix index 2e2e677..90ee731 100644 --- a/users/desktops/common/programs/wezterm.nix +++ b/users/desktops/common/programs/wezterm.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { programs.wezterm = {