From 737ca01e49b3d7c964c59132c124ebafd936bccf Mon Sep 17 00:00:00 2001 From: atagen Date: Fri, 21 Apr 2023 01:58:39 +1000 Subject: [PATCH] formatted --- flake-todo | 3 +- flake.nix | 136 +++++++++--------- home/bolt.nix | 23 +-- home/home.nix | 87 +++++------ home/overlay.nix | 16 +-- overlay.nix | 18 +-- pkgs/bismuth.nix | 24 ++-- pkgs/culr.nix | 18 ++- pkgs/default.nix | 2 +- pkgs/fuzzel.nix | 23 +-- pkgs/git-credential-keepassxc.nix | 10 +- pkgs/glpaper.nix | 23 ++- pkgs/headscale-ui.nix | 13 +- ...yprland-system76-scheduler-integration.nix | 69 ++++----- pkgs/kwin-system76-scheduler-integration.nix | 21 ++- pkgs/lemurs.nix | 18 ++- pkgs/ly.nix | 18 ++- pkgs/simplewaita-gtk.nix | 9 +- pkgs/swayosd.nix | 17 ++- pkgs/system76-scheduler.nix | 10 +- server-conf.nix | 119 ++++++++------- system/configuration.nix | 74 +++++----- system/overlay.nix | 18 +-- system/quiver.nix | 110 +++++++------- 24 files changed, 468 insertions(+), 411 deletions(-) diff --git a/flake-todo b/flake-todo index a418040..ce1b12b 100644 --- a/flake-todo +++ b/flake-todo @@ -1,2 +1 @@ -all systems flakes -do overlays properly for syspkgs/homepkgs +basically just laptop \ No newline at end of file diff --git a/flake.nix b/flake.nix index ca83e36..ca3f7b0 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,6 @@ description = "nixos config"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts = { @@ -11,7 +10,7 @@ }; nur.url = "github:/nix-community/NUR"; - + eww = { url = "github:elkowar/eww"; inputs.nixpkgs.follows = "nixpkgs"; @@ -40,80 +39,79 @@ hyprland.url = "github:hyprwm/Hyprland"; declarative-cachix.url = "github:jonascarpay/declarative-cachix"; - }; - - outputs = { self, nixpkgs, home-manager, nur, eww, helix, hyprland, ... }@inputs: - let - inherit (self) outputs; - forAllSystems = nixpkgs.lib.genAttrs [ - "x86_64-linux" - ]; + outputs = { + self, + nixpkgs, + home-manager, + nur, + eww, + helix, + hyprland, + ... + } @ inputs: let + inherit (self) outputs; + forAllSystems = nixpkgs.lib.genAttrs [ + "x86_64-linux" + ]; + in rec { + # custom packages + packages = forAllSystems ( + system: let + pkgs = nixpkgs.legacyPackages.${system}; + in + import ./pkgs {inherit pkgs;} + ); - in - rec { + # homepkgs = forAllSystems (system: + # let pkgs = nixpkgs.legacyPackages.${system}; + # in import ./homepkgs { inherit pkgs; } + # ); - # custom packages - packages = forAllSystems (system: - let pkgs = nixpkgs.legacyPackages.${system}; - in import ./pkgs { inherit pkgs; } - ); - - # homepkgs = forAllSystems (system: - # let pkgs = nixpkgs.legacyPackages.${system}; - # in import ./homepkgs { inherit pkgs; } - # ); - - # any overlays or modules we use - overlays = import ./overlay.nix { inherit inputs; }; - # nixosModules = import ./modules/nixos; - # homeModules = import ./modules/home; - - nixosConfigurations = { - - "quiver" = nixpkgs.lib.nixosSystem { - # pkgs = nixpkgs.legacyPackages.x86_64-linux; - system = "x86_64-linux"; - specialArgs = { inherit inputs outputs; }; - modules = [ - ./system/quiver.nix - ]; - }; - - "adrift" = nixpkgs.lib.nixosSystem { - # pkgs = nixpkgs.legacyPackages.x86_64-linux; - system = "x86_64-linux"; - specialArgs = { inherit inputs outputs; }; - modules = [ - ./system/adrift.nix - ]; - }; + # any overlays or modules we use + overlays = import ./overlay.nix {inherit inputs;}; + # nixosModules = import ./modules/nixos; + # homeModules = import ./modules/home; + nixosConfigurations = { + "quiver" = nixpkgs.lib.nixosSystem { + # pkgs = nixpkgs.legacyPackages.x86_64-linux; + system = "x86_64-linux"; + specialArgs = {inherit inputs outputs;}; + modules = [ + ./system/quiver.nix + ]; }; - homeConfigurations = { - - "bolt@quiver" = home-manager.lib.homeManagerConfiguration { - pkgs = nixpkgs.legacyPackages.x86_64-linux; - extraSpecialArgs = { inherit inputs outputs; }; - modules = [ - nur.nixosModules.nur - ./home/bolt.nix - ]; - }; - - "plank@adrift" = home-manager.lib.homeManagerConfiguration { - pkgs = nixpkgs.legacyPackages.x86_64-linux; - extraSpecialArgs = { inherit inputs outputs; }; - modules = [ - nur.nixosModules.nur - ./home/plank.nix - ]; - - }; - + "adrift" = nixpkgs.lib.nixosSystem { + # pkgs = nixpkgs.legacyPackages.x86_64-linux; + system = "x86_64-linux"; + specialArgs = {inherit inputs outputs;}; + modules = [ + ./system/adrift.nix + ]; }; }; - + + homeConfigurations = { + "bolt@quiver" = home-manager.lib.homeManagerConfiguration { + pkgs = nixpkgs.legacyPackages.x86_64-linux; + extraSpecialArgs = {inherit inputs outputs;}; + modules = [ + nur.nixosModules.nur + ./home/bolt.nix + ]; + }; + + "plank@adrift" = home-manager.lib.homeManagerConfiguration { + pkgs = nixpkgs.legacyPackages.x86_64-linux; + extraSpecialArgs = {inherit inputs outputs;}; + modules = [ + nur.nixosModules.nur + ./home/plank.nix + ]; + }; + }; + }; } diff --git a/home/bolt.nix b/home/bolt.nix index ac6e572..10c35ee 100644 --- a/home/bolt.nix +++ b/home/bolt.nix @@ -1,10 +1,17 @@ -{ inputs, outputs, lib, config, pkgs, ... }: { - imports = [ - ./home.nix - ]; +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: { + imports = [ + ./home.nix + ]; - home = { - username = "bolt"; - homeDirectory = "/home/bolt"; - }; + home = { + username = "bolt"; + homeDirectory = "/home/bolt"; + }; } diff --git a/home/home.nix b/home/home.nix index 1e67f00..7b90820 100644 --- a/home/home.nix +++ b/home/home.nix @@ -1,35 +1,37 @@ -{ inputs, outputs, lib, config, pkgs, ... }: - -let +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: let wlogout_style_base = dots/wlogout/style.css; wlogout_style = pkgs.runCommandLocal "wlogout_style_base" {wlogpath = lib.strings.escape ["/"] "${pkgs.wlogout}";} '' cp ${wlogout_style_base} $out - sed -i "s/\/usr\/share\/wlogout/$wlogpath\/share\/wlogout/g" $out + sed -i "s/\/usr\/share\/wlogout/$wlogpath\/share\/wlogout/g" $out sed -i "s/\/etc\/wlogout/$wlogpath\/etc\/wlogout/g" $out ''; -in -{ - - imports = [ +in { + imports = [ inputs.hyprland.homeManagerModules.default ./programs/eww/default.nix - ]; + ]; - nixpkgs = { + nixpkgs = { overlays = [ outputs.overlays.additions outputs.overlays.unstable-pkgs ]; - config = { - allowUnfree = true; - allowUnfreePredicate = (_: true); - }; - }; - + config = { + allowUnfree = true; + allowUnfreePredicate = _: true; + }; + }; - home.stateVersion = "22.11"; + home.stateVersion = "22.11"; - home.packages = with pkgs; [ + home.packages = with pkgs; [ thunderbird clementine inkscape @@ -42,7 +44,7 @@ in lazygit fzf zoxide - zellij + zellij glib # for gsettings grim slurp @@ -60,13 +62,13 @@ in swayosd fuzzel - kdeconnect + kdeconnect syncthing keepassxc git-credential-keepassxc direnv - + mpv meslo-lgs-nf @@ -74,10 +76,10 @@ in libsForQt5.qtstyleplugin-kvantum gtk-engine-murrine - ]; + ]; services.syncthing = { - enable = true; + enable = true; }; wayland.windowManager.hyprland = { @@ -97,14 +99,14 @@ in colors = builtins.readFile dots/eww/colors.scss; }; - systemd.user.startServices = "sd-switch"; + systemd.user.startServices = "sd-switch"; systemd.user.services."hyprland-system76" = { Unit = { Description = "the hyprland process scheduler hook"; - Requires = [ "dbus.service" ]; + Requires = ["dbus.service"]; }; Install = { - WantedBy = [ "graphical-session.target" "default.target" ]; + WantedBy = ["graphical-session.target" "default.target"]; }; Service = { ExecStart = ''${pkgs.hyprland-system76-scheduler-integration}/bin/hyprland-system76-scheduler-hook.sh''; @@ -114,15 +116,19 @@ in xresources.extraConfig = builtins.readFile ./dots/Xresources; xdg.enable = true; - xdg.configFile = builtins.mapAttrs (name: value: { enable=true; text=builtins.readFile value; }) - { - "wlogout/layout" = dots/wlogout/layout; - "wlogout/style.css" = wlogout_style; - "swaync/config.json" = dots/swaync/config.json; - "swaync/configSchema.json" = dots/swaync/configSchema.json; - "swaync/style.css" = dots/swaync/style.css; - "fuzzel/fuzzel.ini" = dots/fuzzel/fuzzel.ini; - }; + xdg.configFile = + builtins.mapAttrs (name: value: { + enable = true; + text = builtins.readFile value; + }) + { + "wlogout/layout" = dots/wlogout/layout; + "wlogout/style.css" = wlogout_style; + "swaync/config.json" = dots/swaync/config.json; + "swaync/configSchema.json" = dots/swaync/configSchema.json; + "swaync/style.css" = dots/swaync/style.css; + "fuzzel/fuzzel.ini" = dots/fuzzel/fuzzel.ini; + }; xdg.systemDirs.data = [ "${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}" @@ -151,9 +157,8 @@ in enable = true; }; }; - - programs.firefox = - { + + programs.firefox = { enable = true; profiles.default = { id = 0; @@ -174,7 +179,7 @@ in programs.helix = { enable = true; - # package = inputs.helix.packages.${pkgs.hostPlatform.system}.default; + # package = inputs.helix.packages.${pkgs.hostPlatform.system}.default; settings = { theme = "gruvbox_dark_hard"; editor.lsp.display-messages = true; @@ -288,6 +293,4 @@ in } ]; }; - - -} \ No newline at end of file +} diff --git a/home/overlay.nix b/home/overlay.nix index 989f782..21403ad 100644 --- a/home/overlay.nix +++ b/home/overlay.nix @@ -1,10 +1,10 @@ inputs: _: prev: { - hyprland-s76 = prev.callPackage ./hyprland-system76-scheduler-integration.nix {}; - swayosd = prev.callPackage ./homepkgs/swayosd.nix {}; - wlogout_style_base = dots/wlogout/style.css; - wlogout_style = prev.runCommandLocal "wlogout_style_base" {wlogpath = lib.strings.escape ["/"] "${pkgs.wlogout}";} '' - cp ${wlogout_style_base} $out - sed -i "s/\/usr\/share\/wlogout/$wlogpath\/share\/wlogout/g" $out - sed -i "s/\/etc\/wlogout/$wlogpath\/etc\/wlogout/g" $out - ''; + hyprland-s76 = prev.callPackage ./hyprland-system76-scheduler-integration.nix {}; + swayosd = prev.callPackage ./homepkgs/swayosd.nix {}; + wlogout_style_base = dots/wlogout/style.css; + wlogout_style = prev.runCommandLocal "wlogout_style_base" {wlogpath = lib.strings.escape ["/"] "${pkgs.wlogout}";} '' + cp ${wlogout_style_base} $out + sed -i "s/\/usr\/share\/wlogout/$wlogpath\/share\/wlogout/g" $out + sed -i "s/\/etc\/wlogout/$wlogpath\/etc\/wlogout/g" $out + ''; } diff --git a/overlay.nix b/overlay.nix index 242aa93..2536d3e 100644 --- a/overlay.nix +++ b/overlay.nix @@ -1,13 +1,13 @@ -{ inputs, ... }: -{ - additions = final: _prev: import ./pkgs { pkgs = final; }; - unstable-pkgs = final: _prev: { - unstable = import inputs.nixpkgs { - system = final.system; - config.allowUnfree = true; - }; - }; +{inputs, ...}: { + additions = final: _prev: import ./pkgs {pkgs = final;}; + unstable-pkgs = final: _prev: { + unstable = import inputs.nixpkgs { + system = final.system; + config.allowUnfree = true; + }; + }; } # inputs: _: prev: { # system76-scheduler = prev.callPackage ./syspkgs/system76-scheduler.nix {}; # } + diff --git a/pkgs/bismuth.nix b/pkgs/bismuth.nix index e12a8be..6fbca6b 100755 --- a/pkgs/bismuth.nix +++ b/pkgs/bismuth.nix @@ -1,15 +1,15 @@ -{ lib -, mkDerivation -, fetchFromGitHub -, kcoreaddons -, kwindowsystem -, plasma-framework -, systemsettings -, cmake -, extra-cmake-modules -, esbuild +{ + lib, + mkDerivation, + fetchFromGitHub, + kcoreaddons, + kwindowsystem, + plasma-framework, + systemsettings, + cmake, + extra-cmake-modules, + esbuild, }: - mkDerivation rec { pname = "bismuth"; version = "3.1.3"; @@ -42,7 +42,7 @@ mkDerivation rec { meta = with lib; { description = "A dynamic tiling extension for KWin"; license = licenses.mit; - maintainers = with maintainers; [ pasqui23 ]; + maintainers = with maintainers; [pasqui23]; homepage = "https://bismuth-forge.github.io/bismuth/"; inherit (kwindowsystem.meta) platforms; }; diff --git a/pkgs/culr.nix b/pkgs/culr.nix index bb0aee4..209a815 100755 --- a/pkgs/culr.nix +++ b/pkgs/culr.nix @@ -1,5 +1,10 @@ -{ lib, fetchFromGitea, rustPlatform, libX11, pkg-config }: - +{ + lib, + fetchFromGitea, + rustPlatform, + libX11, + pkg-config, +}: rustPlatform.buildRustPackage rec { pname = "culr"; version = "0.1.0"; @@ -12,16 +17,15 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-Blo1PyhzKU4LzflmeGrvWOQEon2BCTkF3uQR+7D5/kc="; }; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libX11 ]; + nativeBuildInputs = [pkg-config]; + buildInputs = [libX11]; cargoSha256 = "sha256-Vnhni8tckrexlJ85gfSDEAVWhH6oVHn9/z2O2OIVR5o="; - + meta = with lib; { description = "colourise piped input"; homepage = "https://git.atagen.co/atagen/culr"; license = licenses.mit; - maintainers = [ ]; + maintainers = []; }; - } diff --git a/pkgs/default.nix b/pkgs/default.nix index b52b110..f36bbda 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: { +{pkgs, ...}: { hyprland-system76-scheduler-integration = pkgs.callPackage ./hyprland-system76-scheduler-integration.nix {}; system76-scheduler = pkgs.callPackage ./system76-scheduler.nix {}; culr = pkgs.callPackage ./culr.nix {}; diff --git a/pkgs/fuzzel.nix b/pkgs/fuzzel.nix index 9ec4c14..92c63db 100644 --- a/pkgs/fuzzel.nix +++ b/pkgs/fuzzel.nix @@ -1,10 +1,12 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let +{ + config, + lib, + pkgs, + ... +}: +with lib; let cfg = config.programs.fuzzel; - iniFormat = pkgs.formats.ini { }; + iniFormat = pkgs.formats.ini {}; in { options = { programs.fuzzel = { @@ -19,7 +21,7 @@ in { settings = mkOption { type = iniFormat.type; - default = { }; + default = {}; example = literalExpression '' { window.dimensions = { @@ -45,18 +47,17 @@ in { config = mkMerge [ (mkIf cfg.enable { - home.packages = [ cfg.package ]; + home.packages = [cfg.package]; - xdg.configFile."fuzzel/fuzzel.ini" = mkIf (cfg.settings != { }) { + xdg.configFile."fuzzel/fuzzel.ini" = mkIf (cfg.settings != {}) { # TODO: Replace by the generate function but need to figure out how to # handle the escaping first. # # source = yamlFormat.generate "alacritty.yml" cfg.settings; text = - replaceStrings [ "\\\\" ] [ "\\" ] (builtins.toJSON cfg.settings); + replaceStrings ["\\\\"] ["\\"] (builtins.toJSON cfg.settings); }; }) ]; } - diff --git a/pkgs/git-credential-keepassxc.nix b/pkgs/git-credential-keepassxc.nix index 50b2784..9871ad0 100755 --- a/pkgs/git-credential-keepassxc.nix +++ b/pkgs/git-credential-keepassxc.nix @@ -1,5 +1,8 @@ -{ lib, fetchFromGitHub, rustPlatform }: - +{ + lib, + fetchFromGitHub, + rustPlatform, +}: rustPlatform.buildRustPackage rec { pname = "git-credential-keepassxc"; version = "0.10.0"; @@ -17,7 +20,6 @@ rustPlatform.buildRustPackage rec { description = "Helper that allows Git (and shell scripts) to use KeePassXC as credential store"; homepage = "https://github.com/frederick888/git-credential-keepassxc"; license = licenses.gpl3Only; - maintainers = [ ]; + maintainers = []; }; - } diff --git a/pkgs/glpaper.nix b/pkgs/glpaper.nix index 2527eee..bde0406 100644 --- a/pkgs/glpaper.nix +++ b/pkgs/glpaper.nix @@ -1,6 +1,16 @@ -{ lib, stdenv, fetchFromSourcehut, meson, ninja, pkg-config, wlroots, wayland, wayland-protocols -, libX11, libGL }: - +{ + lib, + stdenv, + fetchFromSourcehut, + meson, + ninja, + pkg-config, + wlroots, + wayland, + wayland-protocols, + libX11, + libGL, +}: stdenv.mkDerivation rec { pname = "glpaper"; version = "unstable-latest"; @@ -13,7 +23,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-//IKW2BfpqwcR2WAPShs0kzn5nkV/yyABPvOYm3zMPU="; }; - nativeBuildInputs = [ meson ninja pkg-config ]; + nativeBuildInputs = [meson ninja pkg-config]; buildInputs = [ wayland libX11 # required by libglvnd @@ -21,11 +31,10 @@ stdenv.mkDerivation rec { ]; meta = with lib; { - description = - "Wallpaper program for wlroots based Wayland compositors such as sway that allows you to render glsl shaders as your wallpaper"; + description = "Wallpaper program for wlroots based Wayland compositors such as sway that allows you to render glsl shaders as your wallpaper"; homepage = "https://hg.sr.ht/~scoopta/glpaper"; license = licenses.gpl3Plus; platforms = platforms.linux; - maintainers = with maintainers; [ ccellado ]; + maintainers = with maintainers; [ccellado]; }; } diff --git a/pkgs/headscale-ui.nix b/pkgs/headscale-ui.nix index d1d9891..2f88dd3 100755 --- a/pkgs/headscale-ui.nix +++ b/pkgs/headscale-ui.nix @@ -1,5 +1,9 @@ -{ lib, stdenv, fetchurl, unzip }: - +{ + lib, + stdenv, + fetchurl, + unzip, +}: stdenv.mkDerivation rec { pname = "headscale-ui"; version = "2022.12.23.2-beta"; @@ -9,7 +13,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-QF10la68Rl2t0K53CH63Qiq54ynkySQACdELorZF/cY="; }; - nativeBuildInputs = [ unzip ]; + nativeBuildInputs = [unzip]; unpackCmd = "unzip headscale-ui.zip"; @@ -19,5 +23,4 @@ stdenv.mkDerivation rec { mkdir $out/ cp -R . $out ''; - -} \ No newline at end of file +} diff --git a/pkgs/hyprland-system76-scheduler-integration.nix b/pkgs/hyprland-system76-scheduler-integration.nix index 2da3324..54ac4bf 100644 --- a/pkgs/hyprland-system76-scheduler-integration.nix +++ b/pkgs/hyprland-system76-scheduler-integration.nix @@ -1,47 +1,52 @@ - -{ lib, pkgs, stdenv, hyprland, ripgrep, socat, dbus, ... }: - +{ + lib, + pkgs, + stdenv, + hyprland, + ripgrep, + socat, + dbus, + ... +}: stdenv.mkDerivation rec { pname = "hyprland-system76-scheduler-integration"; version = "0.1.0"; nativeBuildInputs = [ - socat + socat dbus - hyprland - ripgrep + hyprland + ripgrep ]; - dontUnpack = "true"; + dontUnpack = "true"; dontBuild = true; installPhase = '' - runHook preInstall - - mkdir -p $out/bin + runHook preInstall - cat < $out/bin/hyprland-system76-scheduler-hook.sh -#!${pkgs.bash}/bin/bash -echo "opening socket.." -${pkgs.socat}/bin/socat -u UNIX-CLIENT:/tmp/hypr/\''$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock STDOUT | -while read line; do - if [[ "\''$line" == activewindow* ]]; then - echo "got \''$line." - pid="\''$(${pkgs.hyprland}/bin/hyprctl activewindow | ${pkgs.ripgrep}/bin/rg pid | ${pkgs.coreutils}/bin/cut -d' ' -f2)" - if [[ -n \''$pid ]]; then - echo "sending \''$pid!" - ${pkgs.dbus}/bin/dbus-send --system --dest=com.system76.Scheduler --type=method_call /com/system76/Scheduler com.system76.Scheduler.SetForegroundProcess uint32:\''$pid - fi - pid="" - fi - echo "continuing.." -done -echo "finished." -EOF - chmod +x $out/bin/hyprland-system76-scheduler-hook.sh + mkdir -p $out/bin - runHook postInstall + cat < $out/bin/hyprland-system76-scheduler-hook.sh + #!${pkgs.bash}/bin/bash + echo "opening socket.." + ${pkgs.socat}/bin/socat -u UNIX-CLIENT:/tmp/hypr/\''$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock STDOUT | + while read line; do + if [[ "\''$line" == activewindow* ]]; then + echo "got \''$line." + pid="\''$(${pkgs.hyprland}/bin/hyprctl activewindow | ${pkgs.ripgrep}/bin/rg pid | ${pkgs.coreutils}/bin/cut -d' ' -f2)" + if [[ -n \''$pid ]]; then + echo "sending \''$pid!" + ${pkgs.dbus}/bin/dbus-send --system --dest=com.system76.Scheduler --type=method_call /com/system76/Scheduler com.system76.Scheduler.SetForegroundProcess uint32:\''$pid + fi + pid="" + fi + echo "continuing.." + done + echo "finished." + EOF + chmod +x $out/bin/hyprland-system76-scheduler-hook.sh + + runHook postInstall ''; - - } diff --git a/pkgs/kwin-system76-scheduler-integration.nix b/pkgs/kwin-system76-scheduler-integration.nix index ea26b5d..121a149 100755 --- a/pkgs/kwin-system76-scheduler-integration.nix +++ b/pkgs/kwin-system76-scheduler-integration.nix @@ -1,9 +1,20 @@ -{ lib, pkgs, stdenv, fetchFromGitHub, dbus, qt5, qtbase, wrapQtAppsHook, kpackage, kcoreaddons, ... }: - +{ + lib, + pkgs, + stdenv, + fetchFromGitHub, + dbus, + qt5, + qtbase, + wrapQtAppsHook, + kpackage, + kcoreaddons, + ... +}: stdenv.mkDerivation rec { pname = "kwin-system76-scheduler-integration"; version = "0.1"; - + src = fetchFromGitHub { owner = "maxiberta"; repo = pname; @@ -25,7 +36,7 @@ stdenv.mkDerivation rec { installPhase = '' runHook preInstall - + mkdir -p $out/bin kpackagetool5 --type=KWin/Script -i . -p $out/share/kwin/scripts @@ -49,6 +60,4 @@ stdenv.mkDerivation rec { runHook postInstall ''; - - } diff --git a/pkgs/lemurs.nix b/pkgs/lemurs.nix index 82af7a8..6e7395f 100755 --- a/pkgs/lemurs.nix +++ b/pkgs/lemurs.nix @@ -1,5 +1,10 @@ -{ lib, fetchFromGitHub, rustPlatform, linux-pam, pkg-config }: - +{ + lib, + fetchFromGitHub, + rustPlatform, + linux-pam, + pkg-config, +}: rustPlatform.buildRustPackage rec { pname = "lemurs"; version = "0.3.1"; @@ -11,16 +16,15 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-mQXavJULD5iyOnzj72xTV0EQ1HQvj25SHsbDgfRg4lQ="; }; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ linux-pam ]; + nativeBuildInputs = [pkg-config]; + buildInputs = [linux-pam]; cargoSha256 = "sha256-OCaIeQB8reK0089vbC+4IvQt5pKdZ2SCyyGuQEYWzjo="; - + meta = with lib; { description = "A customizable TUI display/login manager written in Rust"; homepage = "https://git.atagen.co/coastalwhite/lemurs"; license = licenses.mit; - maintainers = [ ]; + maintainers = []; }; - } diff --git a/pkgs/ly.nix b/pkgs/ly.nix index dd499fe..7a2b453 100644 --- a/pkgs/ly.nix +++ b/pkgs/ly.nix @@ -1,5 +1,11 @@ -{ stdenv, lib, fetchFromGitHub, linux-pam, libxcb, git }: - +{ + stdenv, + lib, + fetchFromGitHub, + linux-pam, + libxcb, + git, +}: stdenv.mkDerivation rec { pname = "ly"; version = "0.5.0+"; @@ -12,9 +18,9 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - nativeBuildInputs = [ git ]; - buildInputs = [ linux-pam libxcb ]; - makeFlags = [ "FLAGS=-Wno-error=unused-result" ]; + nativeBuildInputs = [git]; + buildInputs = [linux-pam libxcb]; + makeFlags = ["FLAGS=-Wno-error=unused-result"]; preBuildPhase = '' mkdir -p ./data @@ -36,6 +42,6 @@ stdenv.mkDerivation rec { description = "TUI display manager"; license = licenses.wtfpl; homepage = "https://github.com/fairyglade/ly"; - maintainers = [ ]; + maintainers = []; }; } diff --git a/pkgs/simplewaita-gtk.nix b/pkgs/simplewaita-gtk.nix index 313d89e..48c8fd4 100755 --- a/pkgs/simplewaita-gtk.nix +++ b/pkgs/simplewaita-gtk.nix @@ -1,5 +1,8 @@ -{ stdenvNoCC, lib, fetchFromGitea, }: - +{ + stdenvNoCC, + lib, + fetchFromGitea, +}: stdenvNoCC.mkDerivation rec { pname = "Simplewaita"; version = "0.1.0"; @@ -26,5 +29,5 @@ stdenvNoCC.mkDerivation rec { homepage = "https://git.disroot.org/eudaimon/Simplewaita"; license = licenses.gpl1Only; platforms = platforms.linux; - }; + }; } diff --git a/pkgs/swayosd.nix b/pkgs/swayosd.nix index 0db41ec..a7cf41a 100755 --- a/pkgs/swayosd.nix +++ b/pkgs/swayosd.nix @@ -1,5 +1,12 @@ -{ lib, fetchFromGitHub, rustPlatform, pkg-config, gtk3, gtk-layer-shell, libpulseaudio }: - +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + gtk3, + gtk-layer-shell, + libpulseaudio, +}: rustPlatform.buildRustPackage rec { pname = "SwayOSD"; version = "0.1.0"; @@ -11,14 +18,12 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-3K8LlX4MrG523BwD4nZOcXgSxsnYRxxU5gCOp7rCOCY="; }; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk3 gtk-layer-shell libpulseaudio ]; + nativeBuildInputs = [pkg-config]; + buildInputs = [gtk3 gtk-layer-shell libpulseaudio]; cargoLock.lockFileContents = builtins.readFile ./swayosd.lock; postPatch = '' cp ${./swayosd.lock} Cargo.lock ''; cargoSha256 = lib.fakeSha256; - - } diff --git a/pkgs/system76-scheduler.nix b/pkgs/system76-scheduler.nix index ee80a53..a1cca65 100755 --- a/pkgs/system76-scheduler.nix +++ b/pkgs/system76-scheduler.nix @@ -1,6 +1,11 @@ -{ pkgs, lib, rustPlatform, fetchFromGitHub, ... }: +{ + pkgs, + lib, + rustPlatform, + fetchFromGitHub, + ... +}: rustPlatform.buildRustPackage rec { - pname = "system76-scheduler"; version = "1.2.2"; @@ -30,5 +35,4 @@ rustPlatform.buildRustPackage rec { # install -Dm0644 data/com.system76.Scheduler.service $out/lib/systemd/system/com.system76.Scheduler.service install -Dm0644 data/com.system76.Scheduler.conf $out/etc/dbus-1/system.d/com.system76.Scheduler.conf ''; - } diff --git a/server-conf.nix b/server-conf.nix index ce50609..8204dee 100644 --- a/server-conf.nix +++ b/server-conf.nix @@ -1,11 +1,13 @@ # Edit this configuration file to define what should be installed on # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). - -{ lib, config, pkgs, ... }: - -let - wekan-compose = pkgs.fetchurl { +{ + lib, + config, + pkgs, + ... +}: let + wekan-compose = pkgs.fetchurl { url = "https://github.com/wekan/wekan/raw/v6.68/docker-compose.yml"; sha256 = "sha256-gLZ8bZZ8ZMo1NGz3ooIgXRH6JuMoEMp+to7lfqAvc6E="; }; @@ -27,20 +29,19 @@ let url = "https://raw.githubusercontent.com/timlegge/docker-foswiki/master/docker-compose.1-simple.yml"; sha256 = "sha256-XqGWGTZ/URKsIdDEEpBQUK7xoIdZ164lRhHEiWdnKpM="; }; -in -{ - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - # ./cachix.nix - # (import (builtins.fetchTarball "https://github.com/jonascarpay/declarative-cachix/archive/master.tar.gz")) - ]; - +in { + imports = [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + # ./cachix.nix + # (import (builtins.fetchTarball "https://github.com/jonascarpay/declarative-cachix/archive/master.tar.gz")) + ]; + # cachix = [ # "nix-community" # ]; - - nix.settings.experimental-features = [ "flakes" "nix-command" ]; + + nix.settings.experimental-features = ["flakes" "nix-command"]; systemd.services.NetworkManager-wait-online.enable = false; # Use the GRUB 2 boot loader. @@ -49,7 +50,7 @@ in boot.loader.grub.device = "/dev/vda"; # or "nodev" for efi only networking.hostName = "reflector"; # Define your hostname. - networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. + networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. # Set your time zone. time.timeZone = "Australia/Sydney"; @@ -57,14 +58,13 @@ in # Define a user account. Don't forget to set a password with ‘passwd’. users.users.sunshine = { isNormalUser = true; - extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. + extraGroups = ["wheel"]; # Enable ‘sudo’ for the user. packages = with pkgs; []; openssh.authorizedKeys.keys = [ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDSQC8VgKLzoU5BSynJJuC8BFqAEN8JlSIzsZ2Vg9rfXHM7T4vbWtnxSCSbNw3CEnZCfrdDQTeRum7Uq+gvrcHWd9Aj+rVmubTdud70ybW7T7SlGv3b5TYBhMNbrAz0JIJjLnFMy3/pWids1v6mKW3i7k6Kbq8fSt7jva5Yg5x1jtkUUwvjSZjPg/E/Zl0hAcnx8fWe4foFTcYYsUbfEpp6bxdN2QuVmb17UKnLrMz6JTj88Jd2uYZkeKxGOwk+uwrd0WArY8JIiRi1NcPA3I42aAQfZKxCUY/xmVyRlF+l6K8caD4CZlysms9aXQzBhmPPDIY87AwyRlVK5JsRbaMEBMsffX2xk8DdV+2+9RbztgeXOoYk7WjJX1/+WcxY3RGn8QsUfrGALmrQTRGXgYRbtM/ZJq1m9aP6IvVQeKE1NOpKguXpmokB7JsyKPcWk/PCMVYyXM/qYspc6hRPJgGWiJsayj7myO6X5Ssl9uQnHpNNyrQNY+cx3/boBu2J1sM= bolt@quiver" ]; }; - - + nixpkgs.config.allowUnfree = true; # List packages installed in system profile. To search, run: @@ -73,23 +73,23 @@ in helix ripgrep fd - curl - + curl + cachix headscale - + comma woodpecker-agent woodpecker-server - + # podman # podman-compose # shadow - + dufs ]; - + virtualisation = { docker.enable = true; # podman = { @@ -98,13 +98,13 @@ in # defaultNetwork.dnsname.enable = true; # }; }; - + # services.resolved = { # enable = true; # fallbackDns = [ "103.1.206.179" "168.138.8.38" "168.138.12.137" ]; # dnssec = "false"; # }; - + services.fail2ban.enable = true; services.tailscale.enable = true; @@ -113,14 +113,14 @@ in enable = true; serverUrl = "https://net.atagen.co"; dns = { - nameservers = [ "103.1.206.179" "168.138.8.38" "168.138.12.137" ]; + nameservers = ["103.1.206.179" "168.138.8.38" "168.138.12.137"]; magicDns = true; }; }; - + services.syncthing = { enable = true; - extraOptions = { + extraOptions = { gui = { insecureSkipHostcheck = true; }; @@ -140,35 +140,34 @@ in }; rootUrl = "https://git.atagen.co"; settings.service.DISABLE_REGISTRATION = true; - settings.webhook.ALLOWED_HOST_LIST="external,loopback"; + settings.webhook.ALLOWED_HOST_LIST = "external,loopback"; }; - - + users.users.ci = { isSystemUser = true; createHome = true; group = "ci"; - extraGroups = [ "docker" "wheel" ]; + extraGroups = ["docker" "wheel"]; }; - users.groups.ci = { }; + users.groups.ci = {}; users.users.ci-agent = { isSystemUser = true; createHome = true; group = "ci"; - extraGroups = [ "docker" "wheel" ]; + extraGroups = ["docker" "wheel"]; }; - users.groups.ci = { }; + users.groups.ci = {}; users.users.dufs = { isSystemUser = true; createHome = true; group = "dufs"; }; - users.groups.dufs = { }; - + users.groups.dufs = {}; + systemd.services.woodpecker-server = { - wantedBy = [ "multi-user.target" ]; + wantedBy = ["multi-user.target"]; description = "woodpecker CI/CD server"; serviceConfig = { Environment = [ @@ -190,9 +189,9 @@ in Group = "ci"; }; }; - + systemd.services.woodpecker-agent = { - wantedBy = [ "multi-user.target" ]; + wantedBy = ["multi-user.target"]; description = "woodpecker CI/CD agent"; serviceConfig = { Environment = [ @@ -204,7 +203,7 @@ in User = "ci-agent"; }; }; - + # systemd.services.wekan-private = { # wantedBy = [ "multi-user.target" ]; # after = [ "network.target" "docker.service" ]; @@ -219,9 +218,9 @@ in # }; systemd.services.wekan-rhizome = { - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "docker.service" ]; - requires = [ "docker.service" ]; + wantedBy = ["multi-user.target"]; + after = ["network.target" "docker.service"]; + requires = ["docker.service"]; description = "wekan kanban board for rhizomers"; serviceConfig = { Restart = "always"; @@ -232,8 +231,8 @@ in }; systemd.services.dufs = { - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; + wantedBy = ["multi-user.target"]; + after = ["network.target"]; description = "dufs webdav server"; serviceConfig = { User = "dufs"; @@ -258,14 +257,13 @@ in services.caddy = { enable = true; virtualHosts = { - "atagen.co" = { - serverAliases = [ "www.atagen.co" ]; + serverAliases = ["www.atagen.co"]; extraConfig = '' respond "i live.. again" ''; }; - + "iced-rs.info".extraConfig = '' reverse_proxy http://127.0.0.1:8765 ''; @@ -285,15 +283,15 @@ in # "git.rhizome.tf".extraConfig = '' # reverse_proxy http://127.0.0.1:3033 # ''; - + "board.rhizome.tf".extraConfig = '' reverse_proxy http://127.0.0.1:7897 ''; - + "net.atagen.co".extraConfig = '' reverse_proxy http://127.0.0.1:8080 ''; - + "reflector.beam".extraConfig = '' tls /etc/selfsigned/cert.pem /etc/selfsigned/key.pem @@ -307,7 +305,6 @@ in reverse_proxy http://127.0.0.1:8083 } ''; - }; }; @@ -316,15 +313,15 @@ in enable = true; passwordAuthentication = false; kbdInteractiveAuthentication = false; - permitRootLogin = "no"; + permitRootLogin = "no"; }; networking.firewall = { enable = true; - trustedInterfaces = [ "tailscale0" ]; + trustedInterfaces = ["tailscale0"]; checkReversePath = "loose"; - allowedTCPPorts = [ 80 443 6660 ]; - allowedUDPPorts = [ 80 443 41641 6660 ]; + allowedTCPPorts = [80 443 6660]; + allowedUDPPorts = [80 443 41641 6660]; }; # Copy the NixOS configuration file and link it from the resulting system @@ -339,6 +336,4 @@ in # 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 = "22.11"; # Did you read the comment? - } - diff --git a/system/configuration.nix b/system/configuration.nix index 676c4e5..2d9749d 100644 --- a/system/configuration.nix +++ b/system/configuration.nix @@ -1,12 +1,16 @@ - -{ inputs, outputs, lib, config, pkgs, ... }: - -# let +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: +# let # lemurs = callPackage ./system/syspkgs/lemurs.nix {}; # ly = callPackage ./system/syspkgs/ly.nix {}; # in { - nixpkgs = { overlays = [ outputs.overlays.additions @@ -15,50 +19,49 @@ }; nix = { - registry = lib.mapAttrs(_: value: { flake = value; }) inputs; + registry = lib.mapAttrs (_: value: {flake = value;}) inputs; settings = { experimental-features = "nix-command flakes"; }; }; # imports = [ - # inputs.declarative-cachix - # inputs.helix + # inputs.declarative-cachix + # inputs.helix # ]; - + # cachix = [ # "nix-community" # ]; - + nix.extraOptions = '' keep-outputs = true keep-derivations = true ''; - systemd.services.NetworkManager-wait-online.enable = true; - environment.pathsToLink = [ "/share/zsh" ]; + environment.pathsToLink = ["/share/zsh"]; boot.loader.systemd-boot.consoleMode = "max"; boot.loader.timeout = 3; - + boot.loader.systemd-boot.enable = true; boot.tmpOnTmpfs = true; - networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. + networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. time.timeZone = "Australia/Sydney"; time.hardwareClockInLocalTime = true; # Select internationalisation properties. i18n.defaultLocale = "en_AU.UTF-8"; - i18n.supportedLocales = [ "en_AU.UTF-8/UTF-8" ]; + i18n.supportedLocales = ["en_AU.UTF-8/UTF-8"]; console = { - font = "Lat2-Terminus16"; - useXkbConfig = true; # use xkbOptions in tty. + font = "Lat2-Terminus16"; + useXkbConfig = true; # use xkbOptions in tty. }; - + nixpkgs.config.allowUnfree = true; hardware.opengl.enable = true; hardware.opengl.driSupport32Bit = true; @@ -88,10 +91,9 @@ services.resolved = { enable = true; - fallbackDns = [ "103.1.206.179" "168.138.8.38" "168.138.12.137" ]; + fallbackDns = ["103.1.206.179" "168.138.8.38" "168.138.12.137"]; dnssec = "false"; }; - # Enable sound. security.rtkit.enable = true; @@ -109,12 +111,10 @@ programs.zsh.enable = true; users.defaultUserShell = pkgs.zsh; - + services.tailscale.enable = true; - environment.systemPackages = with pkgs; [ - rnix-lsp tailscale @@ -124,9 +124,9 @@ # helix ark - + curl - + git zsh @@ -137,53 +137,49 @@ cachix alejandra - ]; # services.mullvad-vpn.enable = true; networking.wg-quick.interfaces = { mullvad = { - address = [ "10.67.227.64/32" ]; - dns = [ "10.64.0.1" ]; + address = ["10.67.227.64/32"]; + dns = ["10.64.0.1"]; privateKey = "OOPAlePjy7x2DVpg6d7BoBqpST3lDJSYght185tSUl8="; peers = [ { publicKey = "LXuRwa9JRTt2/UtldklKGlj/IVLORITqgET4II4DRkU="; - allowedIPs = [ "0.0.0.0/0" ]; + allowedIPs = ["0.0.0.0/0"]; endpoint = "146.70.200.194:51820"; persistentKeepalive = 25; } ]; }; }; - + networking.firewall.enable = true; networking.firewall = { - trustedInterfaces = [ "tailscale0" ]; + trustedInterfaces = ["tailscale0"]; checkReversePath = "loose"; }; systemd.services.fixNetworkingForTailscale = { - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "mullvad-daemon.service" ]; + wantedBy = ["multi-user.target"]; + after = ["network.target" "mullvad-daemon.service"]; description = "fix the damn routing table"; serviceConfig = { Type = "oneshot"; User = "root"; - ExecStart = ''${pkgs.bash}/bin/bash -c 'if [[ "$( ${pkgs.iproute2}/bin/ip rule | grep -e "62:.*52" | wc -l)" -eq 0 ]]; then ${pkgs.iproute2}/bin/ip rule add pref 62 table 52; fi''''; - # ExecStop = ''${pkgs.iproute2}/bin/ip rule del pref 62 table 52''; + ExecStart = '' ${pkgs.bash}/bin/bash -c 'if [[ "$( ${pkgs.iproute2}/bin/ip rule | grep -e "62:.*52" | wc -l)" -eq 0 ]]; then ${pkgs.iproute2}/bin/ip rule add pref 62 table 52; fi''''; + # ExecStop = ''${pkgs.iproute2}/bin/ip rule del pref 62 table 52''; }; }; security.pam.services.waylock = { - text ='' + text = '' auth include login ''; }; - system.stateVersion = "23.05"; # Did you read the comment? # lol no - } - diff --git a/system/overlay.nix b/system/overlay.nix index 242aa93..2536d3e 100644 --- a/system/overlay.nix +++ b/system/overlay.nix @@ -1,13 +1,13 @@ -{ inputs, ... }: -{ - additions = final: _prev: import ./pkgs { pkgs = final; }; - unstable-pkgs = final: _prev: { - unstable = import inputs.nixpkgs { - system = final.system; - config.allowUnfree = true; - }; - }; +{inputs, ...}: { + additions = final: _prev: import ./pkgs {pkgs = final;}; + unstable-pkgs = final: _prev: { + unstable = import inputs.nixpkgs { + system = final.system; + config.allowUnfree = true; + }; + }; } # inputs: _: prev: { # system76-scheduler = prev.callPackage ./syspkgs/system76-scheduler.nix {}; # } + diff --git a/system/quiver.nix b/system/quiver.nix index b397135..c6d757b 100644 --- a/system/quiver.nix +++ b/system/quiver.nix @@ -1,28 +1,34 @@ -{ inputs, outputs, config, lib, pkgs, overlays, modulesPath, ... }: - -{ - +{ + inputs, + outputs, + config, + lib, + pkgs, + overlays, + modulesPath, + ... +}: { nix.settings = { - substituters = [ "https://hyprland.cachix.org" ]; + substituters = ["https://hyprland.cachix.org"]; trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="]; }; - imports = [ - ./configuration.nix - inputs.hyprland.nixosModules.default - ]; + imports = [ + ./configuration.nix + inputs.hyprland.nixosModules.default + ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbcore" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" "i2c-dev" ]; - boot.extraModulePackages = [ ]; + boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "usbcore" "sd_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-amd" "i2c-dev"]; + boot.extraModulePackages = []; boot.kernelParams = [ - "nvidia_drm.modeset=1" - "mitigations=off" - "acpi_enforce_resources=lax" - "preempt=full" - "quiet" - "loglevel=3" + "nvidia_drm.modeset=1" + "mitigations=off" + "acpi_enforce_resources=lax" + "preempt=full" + "quiet" + "loglevel=3" "systemd.show_status=auto" "rd.udev.log_level=3" "vt.global_cursor_default=0" @@ -33,8 +39,8 @@ boot.loader.systemd-boot.configurationLimit = 5; boot.loader.efi.canTouchEfiVariables = true; # boot.plymouth.enable = true; - - boot.supportedFilesystems = [ "ntfs" ]; + + boot.supportedFilesystems = ["ntfs"]; security.tpm2.enable = true; @@ -66,7 +72,7 @@ settings = { notify_interval = 120; friendly_name = "PC"; - media_dir = [ "A,/data/Music/Slsk" ]; + media_dir = ["A,/data/Music/Slsk"]; }; }; @@ -79,14 +85,14 @@ nvidiaPatches = true; }; - services.xserver.videoDrivers = [ "nvidia" ]; + services.xserver.videoDrivers = ["nvidia"]; hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable; hardware.nvidia.modesetting.enable = true; hardware.nvidia.powerManagement.enable = true; programs.xwayland.enable = true; - + systemd.services.no-rgb = { - wantedBy = [ "multi-user.target" ]; + wantedBy = ["multi-user.target"]; description = "rgb led turn-off-er"; serviceConfig = { Type = "oneshot"; @@ -95,7 +101,7 @@ }; systemd.services."com.system76.Scheduler" = { - wantedBy = [ "multi-user.target" ]; + wantedBy = ["multi-user.target"]; description = "the system76 process scheduler"; serviceConfig = { Type = "dbus"; @@ -121,8 +127,8 @@ enable = true; motherboard = "amd"; }; - - hardware.ckb-next.enable = true; + + hardware.ckb-next.enable = true; xdg.portal = { enable = true; @@ -141,42 +147,40 @@ xdg-desktop-portal-gtk ]; }; - - environment.systemPackages = with pkgs; - [ - ckb-next - openrgb - wl-clipboard - wl-clipboard-x11 - xclip - # system76-scheduler - ]; + + environment.systemPackages = with pkgs; [ + ckb-next + openrgb + wl-clipboard + wl-clipboard-x11 + xclip + # system76-scheduler + ]; networking.hostName = "quiver"; # Define your hostname. users.users.bolt = { isNormalUser = true; - extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. + extraGroups = ["wheel"]; # Enable ‘sudo’ for the user. }; - fileSystems."/" = - { device = "/dev/disk/by-uuid/d227445f-6120-4768-8e1b-011f097505c1"; - fsType = "ext4"; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/d227445f-6120-4768-8e1b-011f097505c1"; + fsType = "ext4"; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/6B75-AF9F"; - fsType = "vfat"; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/6B75-AF9F"; + fsType = "vfat"; + }; fileSystems."/data" = { device = "/dev/disk/by-uuid/39D4F78C658E8B56"; fsType = "ntfs"; - options = [ "rw" "uid=1000" "gid=100" ]; - }; - - networking.firewall = { - allowedUDPPorts = [ 1900 ]; - allowedTCPPorts = [ 8200 2234 ]; + options = ["rw" "uid=1000" "gid=100"]; }; + networking.firewall = { + allowedUDPPorts = [1900]; + allowedTCPPorts = [8200 2234]; + }; }