From 11337b8f9e3a5e94ec2f774c7e932f020477db77 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Sat, 4 Jul 2026 23:11:21 +0800 Subject: [PATCH] chore: Use nixfmt reformat all nix source code --- flake/deploy.nix | 61 +- flake/home.nix | 94 +- flake/nixos.nix | 40 +- flake/overlays.nix | 21 +- flake/perSystem.nix | 142 +- home/alice/configurations/Cape/default.nix | 3 +- home/alice/modules/default.nix | 2 +- home/david/configurations/Akun/default.nix | 47 +- home/david/configurations/Akun/niri.nix | 2 +- .../configurations/Tytonidae/default.nix | 61 +- home/david/configurations/Tytonidae/niri.nix | 6 +- home/david/modules/default.nix | 2 +- home/david/modules/emails.nix | 6 +- .../modules/programs/alacritty/default.nix | 16 +- home/david/modules/programs/chromium.nix | 6 +- home/david/modules/programs/espanso.nix | 8 +- home/david/modules/programs/foot/default.nix | 6 +- home/david/modules/programs/fuzzel.nix | 6 +- home/david/modules/programs/ghostty.nix | 57 +- home/david/modules/programs/helix.nix | 6 +- home/david/modules/programs/kanshi.nix | 6 +- home/david/modules/programs/mpv.nix | 6 +- home/david/modules/programs/niri/config.nix | 1192 ++++++++--------- home/david/modules/programs/niri/default.nix | 78 +- .../modules/programs/noctalia/default.nix | 155 ++- home/david/modules/programs/openssh.nix | 8 +- home/david/modules/programs/radicle.nix | 6 +- home/david/modules/programs/spotify.nix | 6 +- home/david/modules/programs/swaylock.nix | 6 +- home/david/modules/programs/swaync.nix | 8 +- home/david/modules/programs/thunderbird.nix | 6 +- home/david/modules/programs/waybar.nix | 10 +- home/david/modules/programs/waypaper.nix | 8 +- home/david/modules/programs/wluma.nix | 35 +- home/david/modules/programs/zed.nix | 8 +- home/david/modules/programs/zen-browser.nix | 43 +- home/david/modules/wallpaper.nix | 6 +- home/extra/default.nix | 3 +- home/extra/nix.nix | 3 +- home/modules/default.nix | 3 +- home/modules/programs/atuin.nix | 6 +- home/modules/programs/awscli.nix | 8 +- home/modules/programs/bash.nix | 6 +- home/modules/programs/direnv/default.nix | 6 +- home/modules/programs/eza.nix | 6 +- home/modules/programs/fish.nix | 8 +- home/modules/programs/fzf.nix | 6 +- home/modules/programs/git.nix | 12 +- home/modules/programs/gpg/default.nix | 10 +- home/modules/programs/helix/default.nix | 362 ++--- home/modules/programs/ion.nix | 6 +- home/modules/programs/jujutsu.nix | 36 +- home/modules/programs/kvm.nix | 10 +- home/modules/programs/radicle.nix | 12 +- home/modules/programs/rustypaste-cli.nix | 12 +- home/modules/programs/sops.nix | 13 +- home/modules/programs/spotifyd.nix | 6 +- home/modules/programs/starship/default.nix | 13 +- home/modules/programs/yazi.nix | 11 +- home/modules/programs/zoxide.nix | 6 +- home/modules/xdg-dirs.nix | 6 +- lib/default.nix | 49 +- nixos/configurations/Akun/default.nix | 7 +- nixos/configurations/Akun/disk-config.nix | 2 +- nixos/configurations/Akun/gui.nix | 2 +- .../Akun/hardware-configuration.nix | 9 +- nixos/configurations/Akun/networking.nix | 2 +- nixos/configurations/Akun/stylix.nix | 3 +- nixos/configurations/Akun/users/default.nix | 3 +- nixos/configurations/Cape/default.nix | 14 +- nixos/configurations/Cape/disko-config.nix | 2 +- nixos/configurations/Cape/forgejo.nix | 4 +- .../Cape/hardware-configuration.nix | 9 +- nixos/configurations/Cape/miniflux.nix | 2 +- nixos/configurations/Cape/networking.nix | 2 +- nixos/configurations/Cape/radicle.nix | 4 +- nixos/configurations/Cape/stylix.nix | 2 +- nixos/configurations/Cape/users/default.nix | 2 +- nixos/configurations/Tytonidae/default.nix | 31 +- .../configurations/Tytonidae/disk-config.nix | 2 +- nixos/configurations/Tytonidae/gui.nix | 2 +- .../Tytonidae/hardware-configuration.nix | 9 +- nixos/configurations/Tytonidae/hardware.nix | 99 +- nixos/configurations/Tytonidae/kanata.nix | 2 +- nixos/configurations/Tytonidae/networking.nix | 2 +- .../Tytonidae/specialisation/cosmic.nix | 2 +- .../Tytonidae/specialisation/kde.nix | 2 +- .../Tytonidae/specialisation/niri-dgpu.nix | 2 +- nixos/configurations/Tytonidae/stylix.nix | 3 +- .../Tytonidae/users/default.nix | 3 +- nixos/modules/containers/default.nix | 6 +- nixos/modules/containers/forgejo.nix | 16 +- nixos/modules/containers/miniflux.nix | 20 +- nixos/modules/default.nix | 5 +- nixos/modules/deploy/default.nix | 6 +- nixos/modules/documentation.nix | 5 +- nixos/modules/gui/cosmic.nix | 6 +- nixos/modules/gui/default.nix | 11 +- nixos/modules/gui/kde.nix | 6 +- nixos/modules/gui/niri.nix | 83 +- nixos/modules/hardware.nix | 6 +- nixos/modules/home.nix | 18 +- nixos/modules/i18n.nix | 8 +- nixos/modules/lix.nix | 31 +- nixos/modules/nix.nix | 22 +- nixos/modules/programs/asusd.nix | 6 +- nixos/modules/programs/bash.nix | 6 +- .../caddy/OuterWildsTextAdventure.nix | 6 +- nixos/modules/programs/caddy/cinny.nix | 6 +- nixos/modules/programs/caddy/default.nix | 8 +- nixos/modules/programs/caddy/garage.nix | 6 +- .../programs/caddy/radicle-explorer.nix | 6 +- nixos/modules/programs/clash-verge.nix | 6 +- nixos/modules/programs/emacs.nix | 20 +- nixos/modules/programs/forgejo.nix | 22 +- nixos/modules/programs/garage.nix | 6 +- nixos/modules/programs/guix.nix | 15 +- nixos/modules/programs/juicity/default.nix | 20 +- nixos/modules/programs/juicity/template.nix | 34 +- nixos/modules/programs/kanata/default.nix | 8 +- nixos/modules/programs/kdeconnect.nix | 6 +- nixos/modules/programs/matrix-tuwunel.nix | 8 +- nixos/modules/programs/mautrix-telegram.nix | 10 +- nixos/modules/programs/miniflux.nix | 6 +- nixos/modules/programs/minio.nix | 6 +- nixos/modules/programs/miniserve/cinny.nix | 6 +- nixos/modules/programs/miniserve/default.nix | 122 +- nixos/modules/programs/nh.nix | 2 +- nixos/modules/programs/nix-ld.nix | 6 +- nixos/modules/programs/obs.nix | 6 +- nixos/modules/programs/open-webui.nix | 22 +- nixos/modules/programs/openssh.nix | 8 +- nixos/modules/programs/owncast.nix | 6 +- nixos/modules/programs/postgresql.nix | 8 +- nixos/modules/programs/radicle.nix | 12 +- nixos/modules/programs/rqbit.nix | 39 +- nixos/modules/programs/rustypaste/default.nix | 6 +- .../modules/programs/rustypaste/template.nix | 18 +- nixos/modules/programs/steam.nix | 6 +- nixos/modules/programs/sunshine.nix | 6 +- nixos/modules/programs/supergfxd.nix | 6 +- nixos/modules/programs/tailscale.nix | 6 +- nixos/modules/programs/transfer-sh.nix | 6 +- nixos/modules/programs/transmission.nix | 32 +- nixos/modules/programs/wshowkeys.nix | 6 +- nixos/modules/sops.nix | 4 +- nixos/modules/top-level/default.nix | 3 +- nixos/modules/top-level/gui.nix | 15 +- nixos/modules/virtualisation/kvm.nix | 12 +- nixos/modules/virtualisation/virtualbox.nix | 8 +- nixos/modules/virtualisation/waydroid.nix | 8 +- .../additions/OuterWildsTextAdventure.nix | 7 +- overlays/additions/TrackersListCollection.nix | 7 +- overlays/additions/default.nix | 36 +- overlays/additions/editor-runtime.nix | 7 +- overlays/additions/iosevka-serif_fixed.nix | 2 +- overlays/additions/linux-cachyos.nix | 2 +- overlays/additions/pkgsNoCuda.nix | 7 +- overlays/additions/rime-all.nix | 7 +- overlays/additions/wallpapers.nix | 7 +- overlays/modifications/QQ.nix | 7 +- overlays/modifications/default.nix | 42 +- overlays/modifications/helix.nix | 7 +- overlays/modifications/nautilus.nix | 4 +- overlays/modifications/niri.nix | 2 +- overlays/modifications/nur.nix | 2 +- overlays/modifications/prismlauncher.nix | 7 +- overlays/modifications/radicle-explorer.nix | 7 +- overlays/modifications/vim.nix | 7 +- overlays/modifications/wshowkeys.nix | 7 +- overlays/modifications/zulip.nix | 4 +- pkgs/OuterWildsTextAdventure.nix | 35 +- pkgs/QQ.nix | 2 +- pkgs/TrackersListCollection.nix | 5 +- pkgs/editor-runtime.nix | 2 +- pkgs/helix/package.nix | 41 +- pkgs/helix/runtime.nix | 28 +- pkgs/nixvimPlugins/vim-startuptime.nix | 13 +- pkgs/prismlauncher'.nix | 7 +- pkgs/radicle-explorer'.nix | 8 +- pkgs/vim'/package.nix | 2 +- pkgs/wallpapers.nix | 2 +- pkgs/wshowkeys-mao.nix | 17 +- treefmt.nix | 87 +- 184 files changed, 2349 insertions(+), 1943 deletions(-) diff --git a/flake/deploy.nix b/flake/deploy.nix index 9da8ea9..cc91f14 100644 --- a/flake/deploy.nix +++ b/flake/deploy.nix @@ -4,28 +4,32 @@ flake-parts-lib, self, ... -}: let +}: +let inherit (self) outputs; inherit (inputs) deploy-rs; - mkDeployNode = { - hostName, - unixName ? "deploy", - system ? "x86_64-linux", - sshName ? hostName, - }: { - "${hostName}" = { - hostname = "${sshName}"; - sshUser = "${unixName}"; - interactiveSudo = true; - profiles = { - system = { - user = "root"; - path = deploy-rs.lib."${system}".activate.nixos outputs.nixosConfigurations."${hostName}"; + mkDeployNode = + { + hostName, + unixName ? "deploy", + system ? "x86_64-linux", + sshName ? hostName, + }: + { + "${hostName}" = { + hostname = "${sshName}"; + sshUser = "${unixName}"; + interactiveSudo = true; + profiles = { + system = { + user = "root"; + path = deploy-rs.lib."${system}".activate.nixos outputs.nixosConfigurations."${hostName}"; + }; }; }; }; - }; -in { +in +{ options = { flake = flake-parts-lib.mkSubmoduleOptions { deploy = lib.mkOption { @@ -34,20 +38,21 @@ in { }; }; config = { - flake.deploy.nodes = with lib; + flake.deploy.nodes = + with lib; pipe - [ - "Cape" - "Akun" - ] - [ - (map ( - hostName: + [ + "Cape" + "Akun" + ] + [ + (map ( + hostName: mkDeployNode { inherit hostName; } - )) - (foldr (a: b: a // b) {}) - ]; + )) + (foldr (a: b: a // b) { }) + ]; }; } diff --git a/flake/home.nix b/flake/home.nix index e467315..88e403b 100644 --- a/flake/home.nix +++ b/flake/home.nix @@ -4,42 +4,44 @@ self, rootPath, ... -}: let +}: +let inherit (self) outputs; homeModules = ( with lib; - pipe (rootPath + "/home") [ - builtins.readDir - (filterAttrs (_key: value: value == "directory")) - (filterAttrs ( - key: _value: - !builtins.elem key [ - "modules" - "extra" - ] - )) - builtins.attrNames - (flip genAttrs (name: import (rootPath + "/home/${name}/modules"))) - ] + pipe (rootPath + "/home") [ + builtins.readDir + (filterAttrs (_key: value: value == "directory")) + (filterAttrs ( + key: _value: + !builtins.elem key [ + "modules" + "extra" + ] + )) + builtins.attrNames + (flip genAttrs (name: import (rootPath + "/home/${name}/modules"))) + ] ) // { default = import "${toString rootPath}/home/modules"; extra = import "${toString rootPath}/home/extra"; }; - makeHomeConfiguration = { - hostName, - unixName ? "david", - system ? "x86_64-linux", - nixpkgs ? inputs.nixpkgs, - home-manager ? inputs.home-manager, - }: { - "${unixName}@${hostName}" = home-manager.lib.homeManagerConfiguration { - pkgs = import nixpkgs { - localSystem = {inherit system;}; - }; - modules = - [ + makeHomeConfiguration = + { + hostName, + unixName ? "david", + system ? "x86_64-linux", + nixpkgs ? inputs.nixpkgs, + home-manager ? inputs.home-manager, + }: + { + "${unixName}@${hostName}" = home-manager.lib.homeManagerConfiguration { + pkgs = import nixpkgs { + localSystem = { inherit system; }; + }; + modules = [ (rootPath + "/home/${unixName}/configurations/${hostName}") ] ++ (with homeModules; [ @@ -51,30 +53,32 @@ ] ++ [ { - lib = {inherit (lib) youthlic;}; + lib = { inherit (lib) youthlic; }; } ]; - extraSpecialArgs = { - inherit - inputs - outputs - unixName - hostName - system - rootPath - ; + extraSpecialArgs = { + inherit + inputs + outputs + unixName + hostName + system + rootPath + ; + }; }; }; - }; -in { +in +{ flake = { - homeConfigurations = with lib; - foldr (a: b: a // b) {} ( + homeConfigurations = + with lib; + foldr (a: b: a // b) { } ( pipe - [ - # Hostname - ] - [(map (hostName: makeHomeConfiguration {inherit hostName;}))] + [ + # Hostname + ] + [ (map (hostName: makeHomeConfiguration { inherit hostName; })) ] ); inherit homeModules; }; diff --git a/flake/nixos.nix b/flake/nixos.nix index 29b70d7..5373d48 100644 --- a/flake/nixos.nix +++ b/flake/nixos.nix @@ -4,36 +4,40 @@ self, rootPath, ... -}: let +}: +let inherit (self) outputs; -in { +in +{ flake = { nixosModules = { default = import (rootPath + "/nixos/modules/top-level"); gui = import (rootPath + "/nixos/modules/top-level/gui.nix"); }; - nixosConfigurations = let - makeNixosConfiguration = hostName: - lib.nixpkgs-patcher.nixosSystem { - nixpkgsPatcher.inputs = inputs; - modules = [(rootPath + "/nixos/configurations/${hostName}")]; - specialArgs = { - inherit - inputs - outputs - rootPath - lib - ; + nixosConfigurations = + let + makeNixosConfiguration = + hostName: + lib.nixpkgs-patcher.nixosSystem { + nixpkgsPatcher.inputs = inputs; + modules = [ (rootPath + "/nixos/configurations/${hostName}") ]; + specialArgs = { + inherit + inputs + outputs + rootPath + lib + ; + }; }; - }; - in + in with lib; - pipe + pipe [ "Tytonidae" "Cape" "Akun" ] - [(flip genAttrs makeNixosConfiguration)]; + [ (flip genAttrs makeNixosConfiguration) ]; }; } diff --git a/flake/overlays.nix b/flake/overlays.nix index 6299af2..95d165b 100644 --- a/flake/overlays.nix +++ b/flake/overlays.nix @@ -4,15 +4,18 @@ lib, rootPath, ... -}: let +}: +let inherit (self) outputs; - importWithArgs = lib.flip import {inherit inputs outputs;}; -in { - flake.overlays = with lib; + importWithArgs = lib.flip import { inherit inputs outputs; }; +in +{ + flake.overlays = + with lib; pipe - [ - "modifications" - "additions" - ] - [(flip genAttrs (name: importWithArgs (rootPath + "/overlays/${name}")))]; + [ + "modifications" + "additions" + ] + [ (flip genAttrs (name: importWithArgs (rootPath + "/overlays/${name}"))) ]; } diff --git a/flake/perSystem.nix b/flake/perSystem.nix index bea40bf..5320076 100644 --- a/flake/perSystem.nix +++ b/flake/perSystem.nix @@ -2,85 +2,91 @@ inputs, rootPath, ... -}: { +}: +{ imports = [ (rootPath + "/treefmt.nix") ]; - perSystem = { - pkgs, - system, - lib, - self', - inputs', - ... - }: let - patchedNixpkgs = lib.nixpkgs-patcher.patchNixpkgs { - inherit system inputs; - }; - in { - _module.args.pkgs = import patchedNixpkgs { - localSystem = {inherit system;}; - config = { - allowUnfree = true; + perSystem = + { + pkgs, + system, + lib, + self', + inputs', + ... + }: + let + patchedNixpkgs = lib.nixpkgs-patcher.patchNixpkgs { + inherit system inputs; }; - overlays = [(_final: _prev: {inherit lib;})]; - }; - devShells.default = pkgs.mkShell { - name = "nixos-shell"; - packages = with pkgs; [ - nixd - nil - typos - typos-lsp - just - nvfetcher - alejandra - oxfmt - - lua-language-server - ]; - }; - legacyPackages = let - inputsScope = lib.makeScope pkgs.newScope (self: { - inherit inputs rootPath; - srcs = self.callPackage (rootPath + "/_sources/generated.nix") {}; - }); in - inputsScope.overrideScope ( - final: _prev: + { + _module.args.pkgs = import patchedNixpkgs { + localSystem = { inherit system; }; + config = { + allowUnfree = true; + }; + overlays = [ (_final: _prev: { inherit lib; }) ]; + }; + devShells.default = pkgs.mkShell { + name = "nixos-shell"; + packages = with pkgs; [ + nixd + nil + typos + typos-lsp + just + nvfetcher + alejandra + oxfmt + + lua-language-server + ]; + }; + legacyPackages = + let + inputsScope = lib.makeScope pkgs.newScope (self: { + inherit inputs rootPath; + srcs = self.callPackage (rootPath + "/_sources/generated.nix") { }; + }); + in + inputsScope.overrideScope ( + final: _prev: lib.packagesFromDirectoryRecursive { inherit (final) callPackage; directory = rootPath + "/pkgs"; } - ); - packages = let - flattenPkgs = path: value: - if lib.isDerivation value - then { - ${lib.concatStringsSep ":" path} = value; - } - else if lib.isAttrs value - then lib.concatMapAttrs (name: flattenPkgs (path ++ [name])) value - else {}; - in - flattenPkgs [] ( - lib.removeAttrs self'.legacyPackages [ - "inputs" + ); + packages = + let + flattenPkgs = + path: value: + if lib.isDerivation value then + { + ${lib.concatStringsSep ":" path} = value; + } + else if lib.isAttrs value then + lib.concatMapAttrs (name: flattenPkgs (path ++ [ name ])) value + else + { }; + in + flattenPkgs [ ] ( + lib.removeAttrs self'.legacyPackages [ + "inputs" - "srcs" + "srcs" - "rootPath" + "rootPath" - "newScope" - "overrideScope" - "packages" - "callPackage" - ] - ); - checks = - lib.concatMapAttrs (name: value: { + "newScope" + "overrideScope" + "packages" + "callPackage" + ] + ); + checks = lib.concatMapAttrs (name: value: { "package-${name}" = value; - }) - self'.packages; - }; + }) self'.packages; + }; } diff --git a/home/alice/configurations/Cape/default.nix b/home/alice/configurations/Cape/default.nix index 619f02c..57c31f0 100644 --- a/home/alice/configurations/Cape/default.nix +++ b/home/alice/configurations/Cape/default.nix @@ -2,7 +2,8 @@ pkgs, unixName, ... -}: { +}: +{ youthlic = { xdg-dirs.enable = true; programs = { diff --git a/home/alice/modules/default.nix b/home/alice/modules/default.nix index 6462967..c915eb0 100644 --- a/home/alice/modules/default.nix +++ b/home/alice/modules/default.nix @@ -1 +1 @@ -{...}: {} +{ ... }: { } diff --git a/home/david/configurations/Akun/default.nix b/home/david/configurations/Akun/default.nix index cc6526b..6e7a243 100644 --- a/home/david/configurations/Akun/default.nix +++ b/home/david/configurations/Akun/default.nix @@ -4,32 +4,35 @@ unixName, config, ... -}: { +}: +{ imports = lib.youthlic.loadImports ./.; youthlic = { xdg-dirs.enable = true; - programs = let - email = config.accounts.email.accounts.ulic-youthlic; - inherit (email) address name; - signKey = email.gpg.key; - in { - gpg.enable = true; - git = { - inherit name signKey; - email = address; - encrypt-credential = true; + programs = + let + email = config.accounts.email.accounts.ulic-youthlic; + inherit (email) address name; + signKey = email.gpg.key; + in + { + gpg.enable = true; + git = { + inherit name signKey; + email = address; + encrypt-credential = true; + }; + fish.enable = true; + bash.enable = true; + jujutsu = { + enable = true; + inherit name signKey; + email = address; + }; + starship.enable = true; + sops.enable = true; + atuin.enable = true; }; - fish.enable = true; - bash.enable = true; - jujutsu = { - enable = true; - inherit name signKey; - email = address; - }; - starship.enable = true; - sops.enable = true; - atuin.enable = true; - }; }; david = { diff --git a/home/david/configurations/Akun/niri.nix b/home/david/configurations/Akun/niri.nix index e3e2d42..135225c 100644 --- a/home/david/configurations/Akun/niri.nix +++ b/home/david/configurations/Akun/niri.nix @@ -1,4 +1,4 @@ -{...}: { +{ ... }: { david.programs.niri = { wluma.extraSettings = { output = { diff --git a/home/david/configurations/Tytonidae/default.nix b/home/david/configurations/Tytonidae/default.nix index fe1c0e7..17d86c7 100644 --- a/home/david/configurations/Tytonidae/default.nix +++ b/home/david/configurations/Tytonidae/default.nix @@ -4,39 +4,42 @@ config, unixName, ... -}: { +}: +{ imports = lib.youthlic.loadImports ./.; youthlic = { xdg-dirs.enable = true; - programs = let - email = config.accounts.email.accounts.ulic-youthlic; - inherit (email) name address; - signKey = email.gpg.key; - in { - rustypaste-cli.enable = true; - gpg.enable = true; - jujutsu = { - enable = true; - inherit name signKey; - email = address; + programs = + let + email = config.accounts.email.accounts.ulic-youthlic; + inherit (email) name address; + signKey = email.gpg.key; + in + { + rustypaste-cli.enable = true; + gpg.enable = true; + jujutsu = { + enable = true; + inherit name signKey; + email = address; + }; + git = { + inherit name signKey; + email = address; + encrypt-credential = true; + }; + fish.enable = true; + bash.enable = true; + starship.enable = true; + sops.enable = true; + kvm.enable = true; + atuin.enable = true; + ion.enable = true; + awscli = { + enable = true; + url = "http://localhost:8491"; + }; }; - git = { - inherit name signKey; - email = address; - encrypt-credential = true; - }; - fish.enable = true; - bash.enable = true; - starship.enable = true; - sops.enable = true; - kvm.enable = true; - atuin.enable = true; - ion.enable = true; - awscli = { - enable = true; - url = "http://localhost:8491"; - }; - }; }; david = { diff --git a/home/david/configurations/Tytonidae/niri.nix b/home/david/configurations/Tytonidae/niri.nix index 56f940d..b45672f 100644 --- a/home/david/configurations/Tytonidae/niri.nix +++ b/home/david/configurations/Tytonidae/niri.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.david.programs.niri; -in { +in +{ david.programs.niri = lib.mkIf cfg.enable { wluma.extraSettings = { output = { diff --git a/home/david/modules/default.nix b/home/david/modules/default.nix index 85fde6c..96eb524 100644 --- a/home/david/modules/default.nix +++ b/home/david/modules/default.nix @@ -1,4 +1,4 @@ -{lib, ...}: { +{ lib, ... }: { imports = lib.youthlic.loadImports ./.; config = { youthlic.programs = { diff --git a/home/david/modules/emails.nix b/home/david/modules/emails.nix index 1e6a5d5..55c4c0f 100644 --- a/home/david/modules/emails.nix +++ b/home/david/modules/emails.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.david.accounts.email; -in { +in +{ options = { david.accounts.email = { enable = lib.mkEnableOption "emails"; diff --git a/home/david/modules/programs/alacritty/default.nix b/home/david/modules/programs/alacritty/default.nix index ad72a08..f049e67 100644 --- a/home/david/modules/programs/alacritty/default.nix +++ b/home/david/modules/programs/alacritty/default.nix @@ -3,9 +3,11 @@ config, pkgs, ... -}: let +}: +let cfg = config.david.programs.alacritty; -in { +in +{ options = { david.programs.alacritty = { enable = lib.mkEnableOption "alacritty"; @@ -17,13 +19,13 @@ in { settings = ( with lib; - pipe ./alacritty.toml [ - builtins.readFile - builtins.fromTOML - ] + pipe ./alacritty.toml [ + builtins.readFile + builtins.fromTOML + ] ) // { - colors = lib.mkForce {}; + colors = lib.mkForce { }; font.size = lib.mkForce 16; window.opacity = lib.mkForce 0.8; general.import = [ diff --git a/home/david/modules/programs/chromium.nix b/home/david/modules/programs/chromium.nix index 9d07e86..69da8f5 100644 --- a/home/david/modules/programs/chromium.nix +++ b/home/david/modules/programs/chromium.nix @@ -2,9 +2,11 @@ lib, config, ... -}: let +}: +let cfg = config.david.programs.chromium; -in { +in +{ options = { david.programs.chromium = { enable = lib.mkEnableOption "chromium"; diff --git a/home/david/modules/programs/espanso.nix b/home/david/modules/programs/espanso.nix index 56d3d72..ceaa139 100644 --- a/home/david/modules/programs/espanso.nix +++ b/home/david/modules/programs/espanso.nix @@ -3,9 +3,11 @@ lib, pkgs, ... -}: let +}: +let cfg = config.david.programs.espanso; -in { +in +{ options = { david.programs.espanso = { enable = lib.mkEnableOption "espanso"; @@ -16,7 +18,7 @@ in { enable = true; package = pkgs.espanso-wayland; configs = { - default = {}; + default = { }; }; matches = { base = { diff --git a/home/david/modules/programs/foot/default.nix b/home/david/modules/programs/foot/default.nix index 0772f33..c7f6bd1 100644 --- a/home/david/modules/programs/foot/default.nix +++ b/home/david/modules/programs/foot/default.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.david.programs.foot; -in { +in +{ options = { david.programs.foot = { enable = lib.mkEnableOption "foot"; diff --git a/home/david/modules/programs/fuzzel.nix b/home/david/modules/programs/fuzzel.nix index 135c170..39bb031 100644 --- a/home/david/modules/programs/fuzzel.nix +++ b/home/david/modules/programs/fuzzel.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.david.programs.fuzzel; -in { +in +{ options = { david.programs.fuzzel = { enable = lib.mkEnableOption "fuzzel"; diff --git a/home/david/modules/programs/ghostty.nix b/home/david/modules/programs/ghostty.nix index 663fc8d..9b27a7f 100644 --- a/home/david/modules/programs/ghostty.nix +++ b/home/david/modules/programs/ghostty.nix @@ -2,36 +2,39 @@ config, lib, ... -}: { +}: +{ options = { david.programs.ghostty = { enable = lib.mkEnableOption "ghostty"; }; }; - config = let - cfg = config.david.programs.ghostty; - in (lib.mkIf cfg.enable { - stylix.targets.ghostty.enable = false; - programs.ghostty = lib.mkMerge [ - { - enable = true; - settings = { - font-family = [ - "MonoLisa" - "Source Han Sans SC" - ]; - font-size = lib.mkForce 17; - theme = "Atom One Dark"; - background-opacity = 0.8; - confirm-close-surface = "false"; - }; - } - (lib.mkIf config.youthlic.programs.fish.enable { - enableFishIntegration = true; - }) - (lib.mkIf config.youthlic.programs.bash.enable { - enableBashIntegration = true; - }) - ]; - }); + config = + let + cfg = config.david.programs.ghostty; + in + (lib.mkIf cfg.enable { + stylix.targets.ghostty.enable = false; + programs.ghostty = lib.mkMerge [ + { + enable = true; + settings = { + font-family = [ + "MonoLisa" + "Source Han Sans SC" + ]; + font-size = lib.mkForce 17; + theme = "Atom One Dark"; + background-opacity = 0.8; + confirm-close-surface = "false"; + }; + } + (lib.mkIf config.youthlic.programs.fish.enable { + enableFishIntegration = true; + }) + (lib.mkIf config.youthlic.programs.bash.enable { + enableBashIntegration = true; + }) + ]; + }); } diff --git a/home/david/modules/programs/helix.nix b/home/david/modules/programs/helix.nix index d4ffb81..94af43e 100644 --- a/home/david/modules/programs/helix.nix +++ b/home/david/modules/programs/helix.nix @@ -3,9 +3,11 @@ config, pkgs, ... -}: let +}: +let cfg = config.david.programs.helix; -in { +in +{ options = { david.programs.helix = { enable = lib.mkEnableOption "helix"; diff --git a/home/david/modules/programs/kanshi.nix b/home/david/modules/programs/kanshi.nix index 28d302b..158f619 100644 --- a/home/david/modules/programs/kanshi.nix +++ b/home/david/modules/programs/kanshi.nix @@ -2,9 +2,11 @@ lib, config, ... -}: let +}: +let cfg = config.david.programs.kanshi; -in { +in +{ options = { david.programs.kanshi = { enable = lib.mkEnableOption "kanshi"; diff --git a/home/david/modules/programs/mpv.nix b/home/david/modules/programs/mpv.nix index 095828d..54c5307 100644 --- a/home/david/modules/programs/mpv.nix +++ b/home/david/modules/programs/mpv.nix @@ -3,9 +3,11 @@ config, pkgs, ... -}: let +}: +let cfg = config.david.programs.mpv; -in { +in +{ options = { david.programs.mpv = { enable = lib.mkEnableOption "mpv"; diff --git a/home/david/modules/programs/niri/config.nix b/home/david/modules/programs/niri/config.nix index d0bd502..18a50b4 100644 --- a/home/david/modules/programs/niri/config.nix +++ b/home/david/modules/programs/niri/config.nix @@ -3,12 +3,12 @@ lib, inputs, ... -}: { +}: +{ config.david.programs.niri.config = let inherit (lib) getExe getExe'; - inherit - (inputs.niri-flake.lib.kdl) + inherit (inputs.niri-flake.lib.kdl) # node with args, props and children # node:: \lambda name -> [argOrProp] -> [child] -> Output # arg: single value @@ -40,453 +40,442 @@ # cliphist-fuzzel-img = getExe' pkgs.cliphist "cliphist-fuzzel-img"; # wl-clip-persist = getExe pkgs.wl-clip-persist; in - ( - let - spawn = leaf "spawn"; - in [ - (plain "binds" [ - # (plain "Mod+V" [ - # (spawn [cliphist-fuzzel-img]) - # ]) - # (plain "Mod+Shift+P" [ - # (spawn [ - # swaylock - # "--screenshots" - # "--clock" - # "--indicator" - # "--indicator-radius" - # "100" - # "--indicator-thickness" - # "7" - # "--effect-blur" - # "7x5" - # "--effect-vignette" - # "0.5:0.5" - # "--grace" - # "2" - # "--fade-in" - # "0.5" - # ]) - # ]) - (plain "Mod+B" [ - (spawn [default-browser]) - ]) - (plain "Mod+Shift+Slash" [ - (flag "show-hotkey-overlay") - ]) - (plain "Mod+T" [ - (spawn [ - default-terminal - ]) - ]) - (plain "Mod+Shift+T" [ - (flag "toggle-column-tabbed-display") - ]) - # (plain "Mod+Space" [ - # (spawn [fuzzel]) - # ]) - # ( - # node "XF86AudioRaiseVolume" - # [{allow-when-locked = true;}] - # [ - # (spawn [ - # wpctl - # "set-volume" - # "@DEFAULT_AUDIO_SINK@" - # "0.1+" - # ]) - # ] - # ) - # ( - # node "XF86AudioLowerVolume" - # [{allow-when-locked = true;}] - # [ - # (spawn [ - # wpctl - # "set-volume" - # "@DEFAULT_AUDIO_SINK@" - # "0.1-" - # ]) - # ] - # ) - # ( - # node "XF86AudioMute" - # [{allow-when-locked = true;}] - # [ - # (spawn [ - # wpctl - # "set-volume" - # "@DEFAULT_AUDIO_SINK@" - # "toggle" - # ]) - # ] - # ) - # ( - # node "XF86AudioMicMute" - # [{allow-when-locked = true;}] - # [ - # (spawn [ - # wpctl - # "set-volume" - # "@DEFAULT_AUDIO_SOURCE@" - # "toggle" - # ]) - # ] - # ) - (plain "Mod+Q" [ - (flag "close-window") - ]) - ( - node "Mod+O" - [{repeat = false;}] - [ - (flag "toggle-overview") - ] - ) - (plain "Mod+Left" [ - (flag "focus-column-left") - ]) - (plain "Mod+Down" [ - (flag "focus-window-down") - ]) - (plain "Mod+Up" [ - (flag "focus-window-up") - ]) - (plain "Mod+Right" [ - (flag "focus-column-right") - ]) - (plain "Mod+H" [ - (flag "focus-column-or-monitor-left") - ]) - (plain "Mod+J" [ - (flag "focus-window-or-workspace-down") - ]) - (plain "Mod+K" [ - (flag "focus-window-or-workspace-up") - ]) - (plain "Mod+L" [ - (flag "focus-column-or-monitor-right") - ]) - (plain "Mod+Shift+Left" [ - (flag "move-column-left") - ]) - (plain "Mod+Shift+Down" [ - (flag "move-window-down") - ]) - (plain "Mod+Shift+Up" [ - (flag "move-window-up") - ]) - (plain "Mod+Shift+Right" [ - (flag "move-column-right") - ]) - (plain "Mod+Shift+H" [ - (flag "move-column-left-or-to-monitor-left") - ]) - (plain "Mod+Shift+J" [ - (flag "move-window-down-or-to-workspace-down") - ]) - (plain "Mod+Shift+K" [ - (flag "move-window-up-or-to-workspace-up") - ]) - (plain "Mod+Shift+L" [ - (flag "move-column-right-or-to-monitor-right") - ]) - (plain "Mod+Home" [ - (flag "focus-column-first") - ]) - (plain "Mod+End" [ - (flag "focus-column-last") - ]) - (plain "Mod+Ctrl+Home" [ - (flag "move-column-to-first") - ]) - (plain "Mod+Ctrl+End" [ - (flag "move-column-to-last") - ]) - (plain "Mod+Ctrl+Left" [ - (flag "focus-monitor-left") - ]) - (plain "Mod+Ctrl+Down" [ - (flag "focus-monitor-down") - ]) - (plain "Mod+Ctrl+Up" [ - (flag "focus-monitor-up") - ]) - (plain "Mod+Ctrl+Right" [ - (flag "focus-monitor-right") - ]) - (plain "Mod+Ctrl+H" [ - (flag "focus-monitor-left") - ]) - (plain "Mod+Ctrl+J" [ - (flag "focus-monitor-down") - ]) - (plain "Mod+Ctrl+K" [ - (flag "focus-monitor-up") - ]) - (plain "Mod+Ctrl+L" [ - (flag "focus-monitor-right") - ]) - (plain "Mod+Shift+Ctrl+Left" [ - (flag "move-column-to-monitor-left") - ]) - (plain "Mod+Shift+Ctrl+Down" [ - (flag "move-column-to-monitor-down") - ]) - (plain "Mod+Shift+Ctrl+Up" [ - (flag "move-column-to-monitor-up") - ]) - (plain "Mod+Shift+Ctrl+Right" [ - (flag "move-column-to-monitor-right") - ]) - (plain "Mod+Shift+Ctrl+H" [ - (flag "move-column-to-monitor-left") - ]) - (plain "Mod+Shift+Ctrl+J" [ - (flag "move-column-to-monitor-down") - ]) - (plain "Mod+Shift+Ctrl+K" [ - (flag "move-column-to-monitor-up") - ]) - (plain "Mod+Shift+Ctrl+L" [ - (flag "move-column-to-monitor-right") - ]) - (plain "Mod+Page_Down" [ - (flag "focus-workspace-down") - ]) - (plain "Mod+Page_Up" [ - (flag "focus-workspace-up") - ]) - (plain "Mod+U" [ - (flag "focus-workspace-down") - ]) - (plain "Mod+I" [ - (flag "focus-workspace-up") - ]) - (plain "Mod+Shift+Page_Down" [ - (flag "move-column-to-workspace-down") - ]) - (plain "Mod+Shift+Page_Up" [ - (flag "move-column-to-workspace-up") - ]) - (plain "Mod+Shift+U" [ - (flag "move-column-to-workspace-down") - ]) - (plain "Mod+Shift+I" [ - (flag "move-column-to-workspace-up") - ]) - (plain "Mod+Ctrl+Page_Down" [ - (flag "move-workspace-down") - ]) - (plain "Mod+Ctrl+Page_Up" [ - (flag "move-workspace-up") - ]) - (plain "Mod+Ctrl+U" [ - (flag "move-workspace-down") - ]) - (plain "Mod+Ctrl+I" [ - (flag "move-workspace-up") - ]) - ( - node "Mod+Shift+WheelScrollDown" - [{cooldown-ms = 150;}] - [ - (flag "focus-workspace-down") - ] - ) - ( - node "Mod+Shift+WheelScrollUp" - [{cooldown-ms = 150;}] - [ - (flag "focus-workspace-up") - ] - ) - (plain "Mod+WheelScrollDown" [ - (flag "focus-column-right") - ]) - (plain "Mod+WheelScrollUp" [ - (flag "focus-column-left") - ]) - (plain "Mod+1" [ - (leaf "focus-workspace" [1]) - ]) - (plain "Mod+2" [ - (leaf "focus-workspace" [2]) - ]) - (plain "Mod+3" [ - (leaf "focus-workspace" [3]) - ]) - (plain "Mod+4" [ - (leaf "focus-workspace" [4]) - ]) - (plain "Mod+5" [ - (leaf "focus-workspace" [5]) - ]) - (plain "Mod+6" [ - (leaf "focus-workspace" [6]) - ]) - (plain "Mod+7" [ - (leaf "focus-workspace" [7]) - ]) - (plain "Mod+8" [ - (leaf "focus-workspace" [8]) - ]) - (plain "Mod+9" [ - (leaf "focus-workspace" [9]) - ]) - (plain "Mod+Shift+1" [ - (leaf "move-column-to-workspace" [1]) - ]) - (plain "Mod+Shift+2" [ - (leaf "move-column-to-workspace" [2]) - ]) - (plain "Mod+Shift+3" [ - (leaf "move-column-to-workspace" [3]) - ]) - (plain "Mod+Shift+4" [ - (leaf "move-column-to-workspace" [4]) - ]) - (plain "Mod+Shift+5" [ - (leaf "move-column-to-workspace" [5]) - ]) - (plain "Mod+Shift+6" [ - (leaf "move-column-to-workspace" [6]) - ]) - (plain "Mod+Shift+7" [ - (leaf "move-column-to-workspace" [7]) - ]) - (plain "Mod+Shift+8" [ - (leaf "move-column-to-workspace" [8]) - ]) - (plain "Mod+Shift+9" [ - (leaf "move-column-to-workspace" [9]) - ]) - (plain "Mod+F" [ - (flag "toggle-window-floating") - ]) - (plain "Mod+Shift+F" [ - (flag "toggle-windowed-fullscreen") - ]) - (plain "Mod+Tab" [ - (flag "focus-window-previous") - ]) - (plain "Mod+Shift+Tab" [ - (flag "switch-focus-between-floating-and-tiling") - ]) - (plain "Mod+BracketLeft" [ - (flag "consume-or-expel-window-left") - ]) - (plain "Mod+BracketRight" [ - (flag "consume-or-expel-window-right") - ]) - (plain "Mod+Comma" [ - (flag "consume-window-into-column") - ]) - (plain "Mod+Period" [ - (flag "expel-window-from-column") - ]) - ( - node "Mod+R" - [{repeat = false;}] - [ - (flag "switch-preset-column-width") - ] - ) - ( - node "Mod+Shift+R" - [{repeat = false;}] - [ - (flag "switch-preset-window-height") - ] - ) - (plain "Mod+Ctrl+R" [ - (flag "reset-window-height") - ]) - ( - node "Mod+M" - [{repeat = false;}] - [ - (flag "maximize-column") - ] - ) - ( - node "Mod+Shift+M" - [{repeat = false;}] - [ - (flag "fullscreen-window") - ] - ) - ( - node "Mod+Ctrl+M" - [{repeat = false;}] - [ - (flag "maximize-window-to-edges") - ] - ) - (plain "Mod+Z" [ - (flag "center-column") - ]) - ( - node "Mod+Minus" - [{repeat = false;}] - [ - (leaf "set-column-width" ["-10%"]) - ] - ) - ( - node "Mod+Equal" - [{repeat = false;}] - [ - (leaf "set-column-width" ["+10%"]) - ] - ) - ( - node "Mod+Shift+Minus" - [{repeat = false;}] - [ - (leaf "set-window-height" ["-10%"]) - ] - ) - ( - node "Mod+Shift+Equal" - [{repeat = false;}] - [ - (leaf "set-window-height" ["+10%"]) - ] - ) - (plain "Print" [ - (flag "screenshot") - ]) - (plain "Ctrl+Print" [ - (flag "screenshot-screen") - ]) - (plain "Alt+Print" [ - (flag "screenshot-window") - ]) - (plain "Mod+Shift+Q" [ - (flag "quit") - ]) - (plain "Mod+E" [ - (flag "expand-column-to-available-width") - ]) - (plain "Mod+Shift+S" [ - (flag "toggle-keyboard-shortcuts-inhibit") - ]) - (plain "Mod+Shift+C" [ - (flag "set-dynamic-cast-window") - ]) - (plain "Mod+Shift+Ctrl+C" [ - (flag "clear-dynamic-cast-target") + ( + let + spawn = leaf "spawn"; + in + [ + (plain "binds" [ + # (plain "Mod+V" [ + # (spawn [cliphist-fuzzel-img]) + # ]) + # (plain "Mod+Shift+P" [ + # (spawn [ + # swaylock + # "--screenshots" + # "--clock" + # "--indicator" + # "--indicator-radius" + # "100" + # "--indicator-thickness" + # "7" + # "--effect-blur" + # "7x5" + # "--effect-vignette" + # "0.5:0.5" + # "--grace" + # "2" + # "--fade-in" + # "0.5" + # ]) + # ]) + (plain "Mod+B" [ + (spawn [ default-browser ]) + ]) + (plain "Mod+Shift+Slash" [ + (flag "show-hotkey-overlay") + ]) + (plain "Mod+T" [ + (spawn [ + default-terminal ]) ]) - ] # binds - ) - ++ + (plain "Mod+Shift+T" [ + (flag "toggle-column-tabbed-display") + ]) + # (plain "Mod+Space" [ + # (spawn [fuzzel]) + # ]) + # ( + # node "XF86AudioRaiseVolume" + # [{allow-when-locked = true;}] + # [ + # (spawn [ + # wpctl + # "set-volume" + # "@DEFAULT_AUDIO_SINK@" + # "0.1+" + # ]) + # ] + # ) + # ( + # node "XF86AudioLowerVolume" + # [{allow-when-locked = true;}] + # [ + # (spawn [ + # wpctl + # "set-volume" + # "@DEFAULT_AUDIO_SINK@" + # "0.1-" + # ]) + # ] + # ) + # ( + # node "XF86AudioMute" + # [{allow-when-locked = true;}] + # [ + # (spawn [ + # wpctl + # "set-volume" + # "@DEFAULT_AUDIO_SINK@" + # "toggle" + # ]) + # ] + # ) + # ( + # node "XF86AudioMicMute" + # [{allow-when-locked = true;}] + # [ + # (spawn [ + # wpctl + # "set-volume" + # "@DEFAULT_AUDIO_SOURCE@" + # "toggle" + # ]) + # ] + # ) + (plain "Mod+Q" [ + (flag "close-window") + ]) + (node "Mod+O" + [ { repeat = false; } ] + [ + (flag "toggle-overview") + ] + ) + (plain "Mod+Left" [ + (flag "focus-column-left") + ]) + (plain "Mod+Down" [ + (flag "focus-window-down") + ]) + (plain "Mod+Up" [ + (flag "focus-window-up") + ]) + (plain "Mod+Right" [ + (flag "focus-column-right") + ]) + (plain "Mod+H" [ + (flag "focus-column-or-monitor-left") + ]) + (plain "Mod+J" [ + (flag "focus-window-or-workspace-down") + ]) + (plain "Mod+K" [ + (flag "focus-window-or-workspace-up") + ]) + (plain "Mod+L" [ + (flag "focus-column-or-monitor-right") + ]) + (plain "Mod+Shift+Left" [ + (flag "move-column-left") + ]) + (plain "Mod+Shift+Down" [ + (flag "move-window-down") + ]) + (plain "Mod+Shift+Up" [ + (flag "move-window-up") + ]) + (plain "Mod+Shift+Right" [ + (flag "move-column-right") + ]) + (plain "Mod+Shift+H" [ + (flag "move-column-left-or-to-monitor-left") + ]) + (plain "Mod+Shift+J" [ + (flag "move-window-down-or-to-workspace-down") + ]) + (plain "Mod+Shift+K" [ + (flag "move-window-up-or-to-workspace-up") + ]) + (plain "Mod+Shift+L" [ + (flag "move-column-right-or-to-monitor-right") + ]) + (plain "Mod+Home" [ + (flag "focus-column-first") + ]) + (plain "Mod+End" [ + (flag "focus-column-last") + ]) + (plain "Mod+Ctrl+Home" [ + (flag "move-column-to-first") + ]) + (plain "Mod+Ctrl+End" [ + (flag "move-column-to-last") + ]) + (plain "Mod+Ctrl+Left" [ + (flag "focus-monitor-left") + ]) + (plain "Mod+Ctrl+Down" [ + (flag "focus-monitor-down") + ]) + (plain "Mod+Ctrl+Up" [ + (flag "focus-monitor-up") + ]) + (plain "Mod+Ctrl+Right" [ + (flag "focus-monitor-right") + ]) + (plain "Mod+Ctrl+H" [ + (flag "focus-monitor-left") + ]) + (plain "Mod+Ctrl+J" [ + (flag "focus-monitor-down") + ]) + (plain "Mod+Ctrl+K" [ + (flag "focus-monitor-up") + ]) + (plain "Mod+Ctrl+L" [ + (flag "focus-monitor-right") + ]) + (plain "Mod+Shift+Ctrl+Left" [ + (flag "move-column-to-monitor-left") + ]) + (plain "Mod+Shift+Ctrl+Down" [ + (flag "move-column-to-monitor-down") + ]) + (plain "Mod+Shift+Ctrl+Up" [ + (flag "move-column-to-monitor-up") + ]) + (plain "Mod+Shift+Ctrl+Right" [ + (flag "move-column-to-monitor-right") + ]) + (plain "Mod+Shift+Ctrl+H" [ + (flag "move-column-to-monitor-left") + ]) + (plain "Mod+Shift+Ctrl+J" [ + (flag "move-column-to-monitor-down") + ]) + (plain "Mod+Shift+Ctrl+K" [ + (flag "move-column-to-monitor-up") + ]) + (plain "Mod+Shift+Ctrl+L" [ + (flag "move-column-to-monitor-right") + ]) + (plain "Mod+Page_Down" [ + (flag "focus-workspace-down") + ]) + (plain "Mod+Page_Up" [ + (flag "focus-workspace-up") + ]) + (plain "Mod+U" [ + (flag "focus-workspace-down") + ]) + (plain "Mod+I" [ + (flag "focus-workspace-up") + ]) + (plain "Mod+Shift+Page_Down" [ + (flag "move-column-to-workspace-down") + ]) + (plain "Mod+Shift+Page_Up" [ + (flag "move-column-to-workspace-up") + ]) + (plain "Mod+Shift+U" [ + (flag "move-column-to-workspace-down") + ]) + (plain "Mod+Shift+I" [ + (flag "move-column-to-workspace-up") + ]) + (plain "Mod+Ctrl+Page_Down" [ + (flag "move-workspace-down") + ]) + (plain "Mod+Ctrl+Page_Up" [ + (flag "move-workspace-up") + ]) + (plain "Mod+Ctrl+U" [ + (flag "move-workspace-down") + ]) + (plain "Mod+Ctrl+I" [ + (flag "move-workspace-up") + ]) + (node "Mod+Shift+WheelScrollDown" + [ { cooldown-ms = 150; } ] + [ + (flag "focus-workspace-down") + ] + ) + (node "Mod+Shift+WheelScrollUp" + [ { cooldown-ms = 150; } ] + [ + (flag "focus-workspace-up") + ] + ) + (plain "Mod+WheelScrollDown" [ + (flag "focus-column-right") + ]) + (plain "Mod+WheelScrollUp" [ + (flag "focus-column-left") + ]) + (plain "Mod+1" [ + (leaf "focus-workspace" [ 1 ]) + ]) + (plain "Mod+2" [ + (leaf "focus-workspace" [ 2 ]) + ]) + (plain "Mod+3" [ + (leaf "focus-workspace" [ 3 ]) + ]) + (plain "Mod+4" [ + (leaf "focus-workspace" [ 4 ]) + ]) + (plain "Mod+5" [ + (leaf "focus-workspace" [ 5 ]) + ]) + (plain "Mod+6" [ + (leaf "focus-workspace" [ 6 ]) + ]) + (plain "Mod+7" [ + (leaf "focus-workspace" [ 7 ]) + ]) + (plain "Mod+8" [ + (leaf "focus-workspace" [ 8 ]) + ]) + (plain "Mod+9" [ + (leaf "focus-workspace" [ 9 ]) + ]) + (plain "Mod+Shift+1" [ + (leaf "move-column-to-workspace" [ 1 ]) + ]) + (plain "Mod+Shift+2" [ + (leaf "move-column-to-workspace" [ 2 ]) + ]) + (plain "Mod+Shift+3" [ + (leaf "move-column-to-workspace" [ 3 ]) + ]) + (plain "Mod+Shift+4" [ + (leaf "move-column-to-workspace" [ 4 ]) + ]) + (plain "Mod+Shift+5" [ + (leaf "move-column-to-workspace" [ 5 ]) + ]) + (plain "Mod+Shift+6" [ + (leaf "move-column-to-workspace" [ 6 ]) + ]) + (plain "Mod+Shift+7" [ + (leaf "move-column-to-workspace" [ 7 ]) + ]) + (plain "Mod+Shift+8" [ + (leaf "move-column-to-workspace" [ 8 ]) + ]) + (plain "Mod+Shift+9" [ + (leaf "move-column-to-workspace" [ 9 ]) + ]) + (plain "Mod+F" [ + (flag "toggle-window-floating") + ]) + (plain "Mod+Shift+F" [ + (flag "toggle-windowed-fullscreen") + ]) + (plain "Mod+Tab" [ + (flag "focus-window-previous") + ]) + (plain "Mod+Shift+Tab" [ + (flag "switch-focus-between-floating-and-tiling") + ]) + (plain "Mod+BracketLeft" [ + (flag "consume-or-expel-window-left") + ]) + (plain "Mod+BracketRight" [ + (flag "consume-or-expel-window-right") + ]) + (plain "Mod+Comma" [ + (flag "consume-window-into-column") + ]) + (plain "Mod+Period" [ + (flag "expel-window-from-column") + ]) + (node "Mod+R" + [ { repeat = false; } ] + [ + (flag "switch-preset-column-width") + ] + ) + (node "Mod+Shift+R" + [ { repeat = false; } ] + [ + (flag "switch-preset-window-height") + ] + ) + (plain "Mod+Ctrl+R" [ + (flag "reset-window-height") + ]) + (node "Mod+M" + [ { repeat = false; } ] + [ + (flag "maximize-column") + ] + ) + (node "Mod+Shift+M" + [ { repeat = false; } ] + [ + (flag "fullscreen-window") + ] + ) + (node "Mod+Ctrl+M" + [ { repeat = false; } ] + [ + (flag "maximize-window-to-edges") + ] + ) + (plain "Mod+Z" [ + (flag "center-column") + ]) + (node "Mod+Minus" + [ { repeat = false; } ] + [ + (leaf "set-column-width" [ "-10%" ]) + ] + ) + (node "Mod+Equal" + [ { repeat = false; } ] + [ + (leaf "set-column-width" [ "+10%" ]) + ] + ) + (node "Mod+Shift+Minus" + [ { repeat = false; } ] + [ + (leaf "set-window-height" [ "-10%" ]) + ] + ) + (node "Mod+Shift+Equal" + [ { repeat = false; } ] + [ + (leaf "set-window-height" [ "+10%" ]) + ] + ) + (plain "Print" [ + (flag "screenshot") + ]) + (plain "Ctrl+Print" [ + (flag "screenshot-screen") + ]) + (plain "Alt+Print" [ + (flag "screenshot-window") + ]) + (plain "Mod+Shift+Q" [ + (flag "quit") + ]) + (plain "Mod+E" [ + (flag "expand-column-to-available-width") + ]) + (plain "Mod+Shift+S" [ + (flag "toggle-keyboard-shortcuts-inhibit") + ]) + (plain "Mod+Shift+C" [ + (flag "set-dynamic-cast-window") + ]) + (plain "Mod+Shift+Ctrl+C" [ + (flag "clear-dynamic-cast-target") + ]) + ]) + ] # binds + ) + ++ # let # spawn-at-startup = leaf "spawn-at-startup"; # in [ - (leaf "screenshot-path" ["${config.xdg.userDirs.pictures}/screenshots/%Y-%m-%d_%H:%M:%S.png"]) + (leaf "screenshot-path" [ "${config.xdg.userDirs.pictures}/screenshots/%Y-%m-%d_%H:%M:%S.png" ]) (plain "hotkey-overlay" [ (flag "skip-at-startup") ]) @@ -514,31 +503,31 @@ # ]) (plain "input" [ (plain "touchpad" [ - (leaf "scroll-method" ["two-finger"]) + (leaf "scroll-method" [ "two-finger" ]) (flag "middle-emulation") (flag "tap") (flag "dwt") - (leaf "drag" [true]) - (leaf "click-method" ["clickfinger"]) - (leaf "tap-button-map" ["left-right-middle"]) + (leaf "drag" [ true ]) + (leaf "click-method" [ "clickfinger" ]) + (leaf "tap-button-map" [ "left-right-middle" ]) ]) ]) (plain "cursor" [ - (leaf "hide-after-inactive-ms" [3000]) + (leaf "hide-after-inactive-ms" [ 3000 ]) (flag "hide-when-typing") ]) (plain "layout" [ - (leaf "background-color" ["transparent"]) + (leaf "background-color" [ "transparent" ]) (plain "border" [ (flag "off") - (leaf "width" [4]) - (leaf "active-color" ["#7fc8ff"]) - (leaf "inactive-color" ["#505050"]) + (leaf "width" [ 4 ]) + (leaf "active-color" [ "#7fc8ff" ]) + (leaf "inactive-color" [ "#505050" ]) ]) (plain "focus-ring" [ # (flag "off") - (leaf "width" [4]) - (leaf "active-color" ["#7fc8ff"]) + (leaf "width" [ 4 ]) + (leaf "active-color" [ "#7fc8ff" ]) (leaf "active-gradient" [ { from = "#e00a54"; @@ -546,27 +535,27 @@ angle = 45; } ]) - (leaf "inactive-color" ["#505050"]) + (leaf "inactive-color" [ "#505050" ]) ]) (plain "tab-indicator" [ (flag "hide-when-single-tab") ]) (plain "preset-column-widths" [ - (leaf "proportion" [(1. / 4.)]) - (leaf "proportion" [(1. / 3.)]) - (leaf "proportion" [(1. / 2.)]) - (leaf "proportion" [(2. / 3.)]) - (leaf "proportion" [(3. / 4.)]) - (leaf "proportion" [(4. / 4.)]) + (leaf "proportion" [ (1. / 4.) ]) + (leaf "proportion" [ (1. / 3.) ]) + (leaf "proportion" [ (1. / 2.) ]) + (leaf "proportion" [ (2. / 3.) ]) + (leaf "proportion" [ (3. / 4.) ]) + (leaf "proportion" [ (4. / 4.) ]) ]) (flag "always-center-single-column") - (leaf "center-focused-column" ["never"]) - (leaf "default-column-display" ["tabbed"]) + (leaf "center-focused-column" [ "never" ]) + (leaf "default-column-display" [ "tabbed" ]) (plain "default-column-width" [ - (leaf "proportion" [(1. / 2.)]) + (leaf "proportion" [ (1. / 2.) ]) ]) (flag "empty-workspace-above-first") - (leaf "gaps" [16]) + (leaf "gaps" [ 16 ]) ]) (plain "animations" [ (plain "window-close" [ @@ -585,152 +574,153 @@ ]) ]) (plain "blur" [ - (leaf "passes" [4]) - (leaf "offset" [4]) - (leaf "noise" [0.02]) - (leaf "saturation" [1.0]) + (leaf "passes" [ 4 ]) + (leaf "offset" [ 4 ]) + (leaf "noise" [ 0.02 ]) + (leaf "saturation" [ 1.0 ]) ]) ] # others - ++ ( - let - window-rule = plain "window-rule"; - match = leaf "match"; - in [ - (window-rule [ - (leaf "draw-border-with-background" [true]) - (leaf "geometry-corner-radius" [0.0]) - (leaf "clip-to-geometry" [true]) + ++ ( + let + window-rule = plain "window-rule"; + match = leaf "match"; + in + [ + (window-rule [ + (leaf "draw-border-with-background" [ true ]) + (leaf "geometry-corner-radius" [ 0.0 ]) + (leaf "clip-to-geometry" [ true ]) + ]) + (window-rule [ + (match [ { app-id = "^org\\.keepassxc\\.KeePassXC$"; } ]) + (match [ { app-id = "^org\\.gnome\\.World\\.Secrets$"; } ]) + (leaf "block-out-from" [ "screen-capture" ]) + ]) + (window-rule [ + (plain "background-effect" [ + (leaf "blur" [ true ]) ]) - (window-rule [ - (match [{app-id = "^org\\.keepassxc\\.KeePassXC$";}]) - (match [{app-id = "^org\\.gnome\\.World\\.Secrets$";}]) - (leaf "block-out-from" ["screen-capture"]) + ]) + (window-rule [ + (match [ { is-active = true; } ]) + (leaf "opacity" [ 1.0 ]) + ]) + (window-rule [ + (match [ { is-active = false; } ]) + (leaf "opacity" [ 0.8 ]) + (leaf "draw-border-with-background" [ false ]) + ]) + (window-rule [ + (match [ { app-id = "^Alacritty$"; } ]) + (match [ { app-id = "^com\\.mitchellh\\.ghostty$"; } ]) + (match [ { app-id = "^neovide$"; } ]) + (leaf "draw-border-with-background" [ false ]) + (leaf "opacity" [ 0.65 ]) + ]) + (window-rule [ + (match [ { app-id = "^org\\.kde\\.polkit-kde-authentication-agent-1$"; } ]) + (leaf "open-floating" [ true ]) + ]) + (window-rule [ + (match [ { app-id = "^swayimg$"; } ]) + (leaf "draw-border-with-background" [ false ]) + (leaf "open-floating" [ true ]) + ]) + (window-rule [ + (match [ { is-window-cast-target = true; } ]) + (plain "focus-ring" [ + (leaf "active-color" [ "#f38ba8" ]) + (leaf "inactive-color" [ "#7d0d2d" ]) ]) - (window-rule [ - (plain "background-effect" [ - (leaf "blur" [true]) - ]) + (plain "border" [ + (leaf "active-color" [ "#f38ba8" ]) + (leaf "inactive-color" [ "#7d0d2d" ]) ]) - (window-rule [ - (match [{is-active = true;}]) - (leaf "opacity" [1.0]) + (plain "tab-indicator" [ + (leaf "active-color" [ "#f38ba8" ]) + (leaf "inactive-color" [ "#7d0d2d" ]) ]) - (window-rule [ - (match [{is-active = false;}]) - (leaf "opacity" [0.8]) - (leaf "draw-border-with-background" [false]) + (plain "shadow" [ + (flag "on") ]) - (window-rule [ - (match [{app-id = "^Alacritty$";}]) - (match [{app-id = "^com\\.mitchellh\\.ghostty$";}]) - (match [{app-id = "^neovide$";}]) - (leaf "draw-border-with-background" [false]) - (leaf "opacity" [0.65]) + ]) + (window-rule [ + (match [ + { + app-id = "^org\\.telegram\\.desktop$"; + title = "Media viewer"; + } ]) - (window-rule [ - (match [{app-id = "^org\\.kde\\.polkit-kde-authentication-agent-1$";}]) - (leaf "open-floating" [true]) + (match [ + { + app-id = "^QQ$"; + title = "图片查看器"; + } ]) - (window-rule [ - (match [{app-id = "^swayimg$";}]) - (leaf "draw-border-with-background" [false]) - (leaf "open-floating" [true]) + (leaf "open-floating" [ true ]) + (leaf "open-fullscreen" [ false ]) + ]) + (window-rule [ + (match [ + { + app-id = "^wechat$"; + title = "^wechat$"; + } ]) - (window-rule [ - (match [{is-window-cast-target = true;}]) - (plain "focus-ring" [ - (leaf "active-color" ["#f38ba8"]) - (leaf "inactive-color" ["#7d0d2d"]) - ]) - (plain "border" [ - (leaf "active-color" ["#f38ba8"]) - (leaf "inactive-color" ["#7d0d2d"]) - ]) - (plain "tab-indicator" [ - (leaf "active-color" ["#f38ba8"]) - (leaf "inactive-color" ["#7d0d2d"]) - ]) - (plain "shadow" [ - (flag "on") - ]) + (leaf "open-focused" [ false ]) + ]) + (window-rule [ + (match [ + { + app-id = "^steam$"; + title = "^notificationtoasts_\\d+_desktop$"; + } ]) - (window-rule [ - (match [ - { - app-id = "^org\\.telegram\\.desktop$"; - title = "Media viewer"; - } - ]) - (match [ - { - app-id = "^QQ$"; - title = "图片查看器"; - } - ]) - (leaf "open-floating" [true]) - (leaf "open-fullscreen" [false]) + (leaf "open-floating" [ true ]) + (leaf "open-focused" [ false ]) + (leaf "default-floating-position" [ + { + x = 10; + y = 10; + "relative-to" = "bottom-right"; + } ]) - (window-rule [ - (match [ - { - app-id = "^wechat$"; - title = "^wechat$"; - } - ]) - (leaf "open-focused" [false]) + (leaf "clip-to-geometry" [ false ]) + ]) + (window-rule [ + (match [ + { + app-id = "^zen-twilight$"; + title = "^画中画$"; + } ]) - (window-rule [ - (match [ - { - app-id = "^steam$"; - title = "^notificationtoasts_\\d+_desktop$"; - } - ]) - (leaf "open-floating" [true]) - (leaf "open-focused" [false]) - (leaf "default-floating-position" [ - { - x = 10; - y = 10; - "relative-to" = "bottom-right"; - } - ]) - (leaf "clip-to-geometry" [false]) - ]) - (window-rule [ - (match [ - { - app-id = "^zen-twilight$"; - title = "^画中画$"; - } - ]) - (leaf "open-floating" [true]) - (leaf "open-focused" [false]) - ]) - ] # window-rule - ) - # ++ ( - # let - # layer-rule = plain "layer-rule"; - # match = leaf "match"; - # in [ - # (layer-rule [ - # (match [{namespace = "^swaync-notification-window$";}]) - # (match [{namespace = "^swaync-control-center$";}]) - # (leaf "block-out-from" ["screen-capture"]) - # ]) - # (layer-rule [ - # (match [{namespace = "^launcher$";}]) - # (plain "shadow" [ - # (flag "on") - # ]) - # (leaf "geometry-corner-radius" [10.0]) - # ]) - # (layer-rule [ - # (match [{namespace = "^mpvpaper$";}]) - # (leaf "place-within-backdrop" [true]) - # ]) - # ] # layer-rule - # ) - ; + (leaf "open-floating" [ true ]) + (leaf "open-focused" [ false ]) + ]) + ] # window-rule + ) + # ++ ( + # let + # layer-rule = plain "layer-rule"; + # match = leaf "match"; + # in [ + # (layer-rule [ + # (match [{namespace = "^swaync-notification-window$";}]) + # (match [{namespace = "^swaync-control-center$";}]) + # (leaf "block-out-from" ["screen-capture"]) + # ]) + # (layer-rule [ + # (match [{namespace = "^launcher$";}]) + # (plain "shadow" [ + # (flag "on") + # ]) + # (leaf "geometry-corner-radius" [10.0]) + # ]) + # (layer-rule [ + # (match [{namespace = "^mpvpaper$";}]) + # (leaf "place-within-backdrop" [true]) + # ]) + # ] # layer-rule + # ) + ; } diff --git a/home/david/modules/programs/niri/default.nix b/home/david/modules/programs/niri/default.nix index e5eb353..222a379 100644 --- a/home/david/modules/programs/niri/default.nix +++ b/home/david/modules/programs/niri/default.nix @@ -3,39 +3,43 @@ lib, inputs, pkgs, - osConfig ? (throw "Trying to access osConfig, the home-manager module is not being used in the nixos module"), + osConfig ? ( + throw "Trying to access osConfig, the home-manager module is not being used in the nixos module" + ), options, ... -}: let +}: +let cfg = config.david.programs.niri; -in { +in +{ imports = [ ./config.nix ]; options = { david.programs.niri = { - enable = - (lib.mkEnableOption "niri") - // { - default = osConfig.youthlic.gui.enabled == "niri"; - }; + enable = (lib.mkEnableOption "niri") // { + default = osConfig.youthlic.gui.enabled == "niri"; + }; config = lib.mkOption { type = inputs.niri-flake.lib.kdl.types.kdl-document; }; configHelper = lib.mkOption { type = lib.types.anything; default = { - validated-config-for = configuration: - pkgs.runCommand "config.kdl" { - inherit configuration; - passAsFile = ["configuration"]; - buildInputs = [config.programs.niri.package]; - } - #bash - '' - niri validate -c $configurationPath - cp $configurationPath $out - ''; + validated-config-for = + configuration: + pkgs.runCommand "config.kdl" + { + inherit configuration; + passAsFile = [ "configuration" ]; + buildInputs = [ config.programs.niri.package ]; + } + #bash + '' + niri validate -c $configurationPath + cp $configurationPath $out + ''; }; }; wluma.extraSettings = lib.mkOption { @@ -52,19 +56,21 @@ in { swayimg seahorse ]; - xdg.configFile = let - qtctConf = '' - [Appearance] - standard_dialogs=xdgdesktopportal - ''; - in { - "qt5ct/qt5ct.conf" = { - text = qtctConf; + xdg.configFile = + let + qtctConf = '' + [Appearance] + standard_dialogs=xdgdesktopportal + ''; + in + { + "qt5ct/qt5ct.conf" = { + text = qtctConf; + }; + "qt6ct/qt6ct.conf" = { + text = qtctConf; + }; }; - "qt6ct/qt6ct.conf" = { - text = qtctConf; - }; - }; david.programs = { # fuzzel.enable = true; # waybar = { @@ -83,11 +89,11 @@ in { }; programs = { niri = { - config = - cfg.config - ++ [ - (inputs.niri-flake.lib.kdl.leaf "include" [(toString config.david.programs.noctalia.niriExtraConfig)]) - ]; + config = cfg.config ++ [ + (inputs.niri-flake.lib.kdl.leaf "include" [ + (toString config.david.programs.noctalia.niriExtraConfig) + ]) + ]; }; }; }) diff --git a/home/david/modules/programs/noctalia/default.nix b/home/david/modules/programs/noctalia/default.nix index c762d0a..6401cf3 100644 --- a/home/david/modules/programs/noctalia/default.nix +++ b/home/david/modules/programs/noctalia/default.nix @@ -4,42 +4,101 @@ inputs, pkgs, ... -}: let +}: +let cfg = config.david.programs.noctalia; - inherit (inputs.niri-flake.lib.kdl) node leaf flag plain; + inherit (inputs.niri-flake.lib.kdl) + node + leaf + flag + plain + ; spawn = leaf "spawn"; - noctalia = args: (spawn (["noctalia-shell" "ipc" "call"] ++ args)); + noctalia = + args: + (spawn ( + [ + "noctalia-shell" + "ipc" + "call" + ] + ++ args + )); layer-rule = plain "layer-rule"; match = leaf "match"; -in { +in +{ options = { david.programs.noctalia = { enable = lib.mkEnableOption "noctalia"; niriExtraConfig = lib.mkOption { type = inputs.niri-flake.lib.kdl.types.kdl-document; default = [ - (leaf "spawn-at-startup" [(lib.getExe config.programs.noctalia-shell.package)]) + (leaf "spawn-at-startup" [ (lib.getExe config.programs.noctalia-shell.package) ]) (plain "binds" [ - (plain "Mod+V" [(noctalia ["launcher" "clipboard"])]) - (plain "Mod+Shift+P" [(noctalia ["lockScreen" "lock"])]) - (plain "Mod+Space" [(noctalia ["launcher" "toggle"])]) - (node "XF86AudioRaiseVolume" [{allow-when-locked = true;}] - [(noctalia ["volume" "increase"])]) - (node "XF86AudioLowerVolume" [{allow-when-locked = true;}] - [(noctalia ["volume" "decrease"])]) - (node "XF86AudioMute" [{allow-when-locked = true;}] - [(noctalia ["volume" "muteOutput"])]) - (node "XF86AudioMicMute" [{allow-when-locked = true;}] - [(noctalia ["volume" "muteInput"])]) + (plain "Mod+V" [ + (noctalia [ + "launcher" + "clipboard" + ]) + ]) + (plain "Mod+Shift+P" [ + (noctalia [ + "lockScreen" + "lock" + ]) + ]) + (plain "Mod+Space" [ + (noctalia [ + "launcher" + "toggle" + ]) + ]) + (node "XF86AudioRaiseVolume" + [ { allow-when-locked = true; } ] + [ + (noctalia [ + "volume" + "increase" + ]) + ] + ) + (node "XF86AudioLowerVolume" + [ { allow-when-locked = true; } ] + [ + (noctalia [ + "volume" + "decrease" + ]) + ] + ) + (node "XF86AudioMute" + [ { allow-when-locked = true; } ] + [ + (noctalia [ + "volume" + "muteOutput" + ]) + ] + ) + (node "XF86AudioMicMute" + [ { allow-when-locked = true; } ] + [ + (noctalia [ + "volume" + "muteInput" + ]) + ] + ) ]) (layer-rule [ - (match [{namespace = "^noctalia-wallpaper-.*$";}]) - (leaf "place-within-backdrop" [true]) + (match [ { namespace = "^noctalia-wallpaper-.*$"; } ]) + (leaf "place-within-backdrop" [ true ]) ]) (layer-rule [ - (match [{namespace = "^noctalia-notifications-.*$";}]) - (leaf "block-out-from" ["screen-capture"]) + (match [ { namespace = "^noctalia-notifications-.*$"; } ]) + (leaf "block-out-from" [ "screen-capture" ]) ]) (plain "layout" [ (plain "focus-ring" [ @@ -54,41 +113,49 @@ in { ]) ]) ]; - apply = configuration: config.david.programs.niri.configHelper.validated-config-for (inputs.niri-flake.lib.kdl.serialize.nodes configuration); + apply = + configuration: + config.david.programs.niri.configHelper.validated-config-for ( + inputs.niri-flake.lib.kdl.serialize.nodes configuration + ); }; }; }; config = lib.mkIf cfg.enable { stylix.targets.noctalia-shell.enable = false; - home.packages = [pkgs.app2unit pkgs.gpu-screen-recorder]; + home.packages = [ + pkgs.app2unit + pkgs.gpu-screen-recorder + ]; programs.noctalia-shell = { enable = true; plugins = builtins.fromJSON (builtins.readFile ./plugins.json); - pluginSettings = let - enabledPlugins = with lib; - flip pipe [ - (filterAttrs (_name: settings: settings.enabled or false)) - builtins.attrNames - ] - config.programs.noctalia-shell.plugins.states; - staticSettings = lib.genAttrs enabledPlugins (name: let - pluginSettingPath = ./plugin + "/${name}.json"; + pluginSettings = + let + enabledPlugins = + with lib; + flip pipe [ + (filterAttrs (_name: settings: settings.enabled or false)) + builtins.attrNames + ] config.programs.noctalia-shell.plugins.states; + staticSettings = lib.genAttrs enabledPlugins ( + name: + let + pluginSettingPath = ./plugin + "/${name}.json"; + in + if lib.pathIsRegularFile pluginSettingPath then + builtins.fromJSON (builtins.readFile pluginSettingPath) + else + { } + ); in - if lib.pathIsRegularFile pluginSettingPath - then builtins.fromJSON (builtins.readFile pluginSettingPath) - else {}); - in - lib.recursiveUpdate - staticSettings { + lib.recursiveUpdate staticSettings { screen-recorder.directory = "${config.xdg.userDirs.videos}/records"; }; - settings = - lib.recursiveUpdate - (builtins.fromJSON (builtins.readFile ./settings.json)) - { - general.avatarImage = "${config.home.homeDirectory}/.face"; - wallpaper.directory = "${config.home.homeDirectory}/${config.david.wallpaper.path}"; - }; + settings = lib.recursiveUpdate (builtins.fromJSON (builtins.readFile ./settings.json)) { + general.avatarImage = "${config.home.homeDirectory}/.face"; + wallpaper.directory = "${config.home.homeDirectory}/${config.david.wallpaper.path}"; + }; }; }; } diff --git a/home/david/modules/programs/openssh.nix b/home/david/modules/programs/openssh.nix index 230c93c..08a634f 100644 --- a/home/david/modules/programs/openssh.nix +++ b/home/david/modules/programs/openssh.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.david.programs.openssh; -in { +in +{ options = { david.programs.openssh = { enable = lib.mkEnableOption "openssh"; @@ -33,7 +35,7 @@ in { }; }) (lib.mkIf (cfg.enable && config.youthlic.programs.sops.enable) { - programs.ssh.includes = [config.sops.secrets.ssh-config.path]; + programs.ssh.includes = [ config.sops.secrets.ssh-config.path ]; sops.secrets = { "ssh-private-key/tytonidae" = { mode = "0600"; diff --git a/home/david/modules/programs/radicle.nix b/home/david/modules/programs/radicle.nix index 92f2e7e..c25d270 100644 --- a/home/david/modules/programs/radicle.nix +++ b/home/david/modules/programs/radicle.nix @@ -2,9 +2,11 @@ lib, config, ... -}: let +}: +let cfg = config.david.programs.radicle; -in { +in +{ options = { david.programs.radicle = { enable = lib.mkEnableOption "radicle"; diff --git a/home/david/modules/programs/spotify.nix b/home/david/modules/programs/spotify.nix index f321082..e83fa33 100644 --- a/home/david/modules/programs/spotify.nix +++ b/home/david/modules/programs/spotify.nix @@ -4,10 +4,12 @@ inputs, pkgs, ... -}: let +}: +let cfg = config.david.programs.spotify; spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system}; -in { +in +{ options = { david.programs.spotify = { enable = lib.mkEnableOption "spotify"; diff --git a/home/david/modules/programs/swaylock.nix b/home/david/modules/programs/swaylock.nix index 0b61590..5b60b0b 100644 --- a/home/david/modules/programs/swaylock.nix +++ b/home/david/modules/programs/swaylock.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.david.programs.swaylock; -in { +in +{ options = { david.programs.swaylock = { enable = lib.mkEnableOption "swaylock"; diff --git a/home/david/modules/programs/swaync.nix b/home/david/modules/programs/swaync.nix index 6a8981b..509e369 100644 --- a/home/david/modules/programs/swaync.nix +++ b/home/david/modules/programs/swaync.nix @@ -2,9 +2,11 @@ lib, config, ... -}: let +}: +let cfg = config.david.programs.swaync; -in { +in +{ options = { david.programs.swaync = { enable = lib.mkEnableOption "swaync"; @@ -18,7 +20,7 @@ in { }; }) (lib.mkIf (!cfg.systemd.enable) { - systemd.user.services.swaync = lib.mkForce {}; + systemd.user.services.swaync = lib.mkForce { }; }) ]; } diff --git a/home/david/modules/programs/thunderbird.nix b/home/david/modules/programs/thunderbird.nix index 61ebcda..5063a38 100644 --- a/home/david/modules/programs/thunderbird.nix +++ b/home/david/modules/programs/thunderbird.nix @@ -3,9 +3,11 @@ lib, pkgs, ... -}: let +}: +let cfg = config.david.programs.thunderbird; -in { +in +{ options = { david.programs.thunderbird = { enable = lib.mkEnableOption "thunderbird"; diff --git a/home/david/modules/programs/waybar.nix b/home/david/modules/programs/waybar.nix index 66ead8e..3087933 100644 --- a/home/david/modules/programs/waybar.nix +++ b/home/david/modules/programs/waybar.nix @@ -4,9 +4,11 @@ lib, options, ... -}: let +}: +let cfg = config.david.programs.waybar; -in { +in +{ options = { david.programs.waybar = { enable = lib.mkEnableOption "waybar"; @@ -23,7 +25,7 @@ in { "niri/workspaces" "wlr/taskbar" ]; - modules-center = ["clock"]; + modules-center = [ "clock" ]; modules-right = [ "tray" "idle_inhibitor" @@ -37,7 +39,7 @@ in { on-click = "activate"; }; - "niri/worksapces" = {}; + "niri/worksapces" = { }; "niri/taskbar" = { icon-size = 15; on-click = "activate"; diff --git a/home/david/modules/programs/waypaper.nix b/home/david/modules/programs/waypaper.nix index 7167312..916b50c 100644 --- a/home/david/modules/programs/waypaper.nix +++ b/home/david/modules/programs/waypaper.nix @@ -3,9 +3,11 @@ config, pkgs, ... -}: let +}: +let cfg = config.david.programs.waypaper; -in { +in +{ options = { david.programs.waypaper = { enable = lib.mkEnableOption "waypaper"; @@ -27,7 +29,7 @@ in { OnCalendar = "*:0/10"; }; Install = { - WantedBy = ["timers.target"]; + WantedBy = [ "timers.target" ]; }; }; services."waypaper" = { diff --git a/home/david/modules/programs/wluma.nix b/home/david/modules/programs/wluma.nix index ee6264e..6907dfc 100644 --- a/home/david/modules/programs/wluma.nix +++ b/home/david/modules/programs/wluma.nix @@ -3,9 +3,11 @@ config, options, ... -}: let +}: +let cfg = config.david.programs.wluma; -in { +in +{ options = { david.programs.wluma = { enable = lib.mkEnableOption "wluma"; @@ -33,23 +35,22 @@ in { config = lib.mkIf cfg.enable { services.wluma = { enable = true; - settings = - { - als = { - webcam = { - video = 0; - thresholds = { - "0" = "night"; - "15" = "dark"; - "30" = "dim"; - "45" = "normal"; - "60" = "bright"; - "75" = "outdoors"; - }; + settings = { + als = { + webcam = { + video = 0; + thresholds = { + "0" = "night"; + "15" = "dark"; + "30" = "dim"; + "45" = "normal"; + "60" = "bright"; + "75" = "outdoors"; }; }; - } - // cfg.extraSettings; + }; + } + // cfg.extraSettings; systemd = { enable = true; }; diff --git a/home/david/modules/programs/zed.nix b/home/david/modules/programs/zed.nix index ff565b6..bb70d7f 100644 --- a/home/david/modules/programs/zed.nix +++ b/home/david/modules/programs/zed.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.david.programs.zed-editor; -in { +in +{ options = { david.programs.zed-editor = { enable = lib.mkEnableOption "zed-editor"; @@ -61,7 +63,7 @@ in { ty = { binary = { path = lib.getExe pkgs.ty; - arguments = ["server"]; + arguments = [ "server" ]; }; }; }; diff --git a/home/david/modules/programs/zen-browser.nix b/home/david/modules/programs/zen-browser.nix index 1a78233..d3b5d2f 100644 --- a/home/david/modules/programs/zen-browser.nix +++ b/home/david/modules/programs/zen-browser.nix @@ -3,9 +3,11 @@ config, pkgs, ... -}: let +}: +let cfg = config.david.programs.zen-browser; -in { +in +{ options = { david.programs.zen-browser = { enable = lib.mkEnableOption "zen-browser"; @@ -41,7 +43,7 @@ in { ]; } ]; - definedAliases = ["@gp"]; + definedAliases = [ "@gp" ]; }; "Nix Packages" = { urls = [ @@ -60,7 +62,7 @@ in { } ]; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - definedAliases = ["@np"]; + definedAliases = [ "@np" ]; }; "Nix Options" = { urls = [ @@ -78,7 +80,7 @@ in { ]; } ]; - definedAliases = ["@no"]; + definedAliases = [ "@no" ]; }; "Home Manager Options" = { urls = [ @@ -96,7 +98,7 @@ in { ]; } ]; - definedAliases = ["@hm"]; + definedAliases = [ "@hm" ]; }; "Nix Flakes" = { urls = [ @@ -114,7 +116,7 @@ in { ]; } ]; - definedAliases = ["@nf"]; + definedAliases = [ "@nf" ]; }; "NixOS Wiki" = { urls = [ @@ -128,7 +130,7 @@ in { ]; } ]; - definedAliases = ["@nw"]; + definedAliases = [ "@nw" ]; }; "Rust Stdandard Lib" = { urls = [ @@ -142,7 +144,7 @@ in { ]; } ]; - definedAliases = ["@rs"]; + definedAliases = [ "@rs" ]; }; "GitHub" = { urls = [ @@ -160,7 +162,7 @@ in { ]; } ]; - definedAliases = ["@gh"]; + definedAliases = [ "@gh" ]; }; "Rust Reference" = { urls = [ @@ -174,7 +176,7 @@ in { ]; } ]; - definedAliases = ["@rr"]; + definedAliases = [ "@rr" ]; }; "Rust Crates" = { urls = [ @@ -188,7 +190,7 @@ in { ]; } ]; - definedAliases = ["@rc"]; + definedAliases = [ "@rc" ]; }; "C++ Reference" = { urls = [ @@ -206,7 +208,7 @@ in { ]; } ]; - definedAliases = ["@cr"]; + definedAliases = [ "@cr" ]; }; "bing".metaData.hidden = true; "google".metaData.alias = "@g"; # builtin engines only support specifying one additional alias @@ -215,12 +217,15 @@ in { }; policies = { DisableAppUpdate = true; - Preferences = let - mkLockedAttrs = builtins.mapAttrs (_: value: { - Value = value; - Status = "locked"; - }); - in + Preferences = + let + mkLockedAttrs = builtins.mapAttrs ( + _: value: { + Value = value; + Status = "locked"; + } + ); + in mkLockedAttrs { "browser.tabs.closeTabByDblclick" = true; }; diff --git a/home/david/modules/wallpaper.nix b/home/david/modules/wallpaper.nix index 098dc6e..d3c233b 100644 --- a/home/david/modules/wallpaper.nix +++ b/home/david/modules/wallpaper.nix @@ -3,9 +3,11 @@ config, pkgs, ... -}: let +}: +let cfg = config.david.wallpaper; -in { +in +{ options = { david.wallpaper = { enable = lib.mkEnableOption "wallpaper"; diff --git a/home/extra/default.nix b/home/extra/default.nix index 24ddfdb..834da8b 100644 --- a/home/extra/default.nix +++ b/home/extra/default.nix @@ -2,7 +2,8 @@ lib, inputs, ... -}: { +}: +{ imports = (with inputs; [ niri-flake.homeModules.niri diff --git a/home/extra/nix.nix b/home/extra/nix.nix index 0568a29..c32b85b 100644 --- a/home/extra/nix.nix +++ b/home/extra/nix.nix @@ -4,7 +4,8 @@ pkgs, inputs, ... -}: { +}: +{ config = { nixpkgs = { config = { diff --git a/home/modules/default.nix b/home/modules/default.nix index 4b50957..05160cf 100644 --- a/home/modules/default.nix +++ b/home/modules/default.nix @@ -2,7 +2,8 @@ lib, inputs, ... -}: { +}: +{ imports = (with inputs; [ sops-nix.homeManagerModules.sops diff --git a/home/modules/programs/atuin.nix b/home/modules/programs/atuin.nix index 99de6a1..f91c798 100644 --- a/home/modules/programs/atuin.nix +++ b/home/modules/programs/atuin.nix @@ -2,9 +2,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.programs.atuin; -in { +in +{ options = { youthlic.programs.atuin = { enable = lib.mkEnableOption "atuin"; diff --git a/home/modules/programs/awscli.nix b/home/modules/programs/awscli.nix index 9ec8bf4..a482d23 100644 --- a/home/modules/programs/awscli.nix +++ b/home/modules/programs/awscli.nix @@ -3,9 +3,11 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.programs.awscli; -in { +in +{ options = { youthlic.programs.awscli = { enable = lib.mkEnableOption "awscli"; @@ -16,7 +18,7 @@ in { }; }; config = lib.mkIf cfg.enable { - sops.secrets."awscli" = {}; + sops.secrets."awscli" = { }; programs.awscli = { enable = true; credentials = { diff --git a/home/modules/programs/bash.nix b/home/modules/programs/bash.nix index 990a853..64d9309 100644 --- a/home/modules/programs/bash.nix +++ b/home/modules/programs/bash.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.bash; -in { +in +{ options = { youthlic.programs.bash = { enable = lib.mkEnableOption "bash"; diff --git a/home/modules/programs/direnv/default.nix b/home/modules/programs/direnv/default.nix index b47a2aa..23dde76 100644 --- a/home/modules/programs/direnv/default.nix +++ b/home/modules/programs/direnv/default.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.direnv; -in { +in +{ options = { youthlic.programs.direnv = { enable = lib.mkEnableOption "direnv"; diff --git a/home/modules/programs/eza.nix b/home/modules/programs/eza.nix index 8a9b4e4..ffa3211 100644 --- a/home/modules/programs/eza.nix +++ b/home/modules/programs/eza.nix @@ -2,12 +2,14 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.eza; fish-cfg = config.youthlic.programs.fish; bash-cfg = config.youthlic.programs.bash; ion-cfg = config.youthlic.programs.ion; -in { +in +{ options = { youthlic.programs.eza = { enable = lib.mkEnableOption "eza"; diff --git a/home/modules/programs/fish.nix b/home/modules/programs/fish.nix index 10233f8..96acfd0 100644 --- a/home/modules/programs/fish.nix +++ b/home/modules/programs/fish.nix @@ -3,9 +3,11 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.programs.fish; -in { +in +{ options = { youthlic.programs.fish = { enable = lib.mkEnableOption "fish"; @@ -37,7 +39,7 @@ in { onEvent = "fish_command_not_found"; }; fish_greeting = { - body = ''''; + body = ""; }; nani = { body = diff --git a/home/modules/programs/fzf.nix b/home/modules/programs/fzf.nix index 3d9c918..54d2c1e 100644 --- a/home/modules/programs/fzf.nix +++ b/home/modules/programs/fzf.nix @@ -2,11 +2,13 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.fzf; fish-cfg = config.youthlic.programs.fish; bash-cfg = config.youthlic.programs.bash; -in { +in +{ options = { youthlic.programs.fzf = { enable = lib.mkEnableOption "fzf"; diff --git a/home/modules/programs/git.nix b/home/modules/programs/git.nix index 38eff2b..576e15e 100644 --- a/home/modules/programs/git.nix +++ b/home/modules/programs/git.nix @@ -2,7 +2,8 @@ config, lib, ... -}: { +}: +{ options = { youthlic.programs.git = { email = lib.mkOption { @@ -13,7 +14,7 @@ }; name = lib.mkOption { type = lib.types.str; - example = ''youthlic''; + example = "youthlic"; description = '' git name ''; @@ -30,9 +31,10 @@ encrypt-credential = lib.mkEnableOption "encrypt git credential"; }; }; - config = let - cfg = config.youthlic.programs.git; - in + config = + let + cfg = config.youthlic.programs.git; + in lib.mkMerge [ { programs = { diff --git a/home/modules/programs/gpg/default.nix b/home/modules/programs/gpg/default.nix index 6c46a05..db6f327 100644 --- a/home/modules/programs/gpg/default.nix +++ b/home/modules/programs/gpg/default.nix @@ -4,15 +4,17 @@ lib, outputs, ... -}: { +}: +{ options = { youthlic.programs.gpg = { enable = lib.mkEnableOption "gpg"; }; }; - config = let - cfg = config.youthlic.programs.gpg; - in + config = + let + cfg = config.youthlic.programs.gpg; + in lib.mkIf cfg.enable { services.gpg-agent = lib.mkMerge [ { diff --git a/home/modules/programs/helix/default.nix b/home/modules/programs/helix/default.nix index b231e11..2c366a7 100644 --- a/home/modules/programs/helix/default.nix +++ b/home/modules/programs/helix/default.nix @@ -3,23 +3,25 @@ pkgs, config, ... -}: let +}: +let cfg = config.youthlic.programs.helix; defaultLanguagesSettings = config.programs.helix.package.passthru.languages.language; -in { +in +{ options = { youthlic.programs.helix = { enable = lib.mkEnableOption "helix"; languageSettings = lib.mkOption { type = lib.types.attrsOf ( lib.types.submodule ( - {...}: { + { ... }: { freeformType = lib.types.anything; options = { language-servers = lib.mkOption { type = lib.types.listOf (lib.types.either lib.types.str lib.types.anything); - default = ["typos-lsp"]; - example = ["rust-analyzer"]; + default = [ "typos-lsp" ]; + example = [ "rust-analyzer" ]; apply = lib.unique; }; }; @@ -27,16 +29,17 @@ in { ) ); default = lib.pipe defaultLanguagesSettings [ - (map (lang: lib.nameValuePair lang.name (lib.removeAttrs lang ["name"]))) + (map (lang: lib.nameValuePair lang.name (lib.removeAttrs lang [ "name" ]))) lib.listToAttrs ]; - apply = lib.mapAttrsToList (name: value: {inherit name;} // value); + apply = lib.mapAttrsToList (name: value: { inherit name; } // value); }; extraPackages = lib.mkOption { type = lib.types.listOf lib.types.package; - default = []; + default = [ ]; example = ( - with pkgs; [ + with pkgs; + [ deno ] ); @@ -53,7 +56,8 @@ in { enable = true; defaultEditor = true; extraPackages = cfg.extraPackages; - settings = with lib; + settings = + with lib; pipe ./config.toml [ builtins.readFile fromTOML @@ -82,200 +86,200 @@ in { command = "typos-lsp"; }; }; - } {language = cfg.languageSettings;}; + } { language = cfg.languageSettings; }; }; }) (lib.mkIf cfg.enable { youthlic.programs.helix.languageSettings = lib.pipe defaultLanguagesSettings [ - (map ({name, ...}: lib.nameValuePair name {language-servers = ["typos-lsp"];})) + (map ({ name, ... }: lib.nameValuePair name { language-servers = [ "typos-lsp" ]; })) lib.listToAttrs ]; }) (lib.mkIf cfg.enable { youthlic.programs.helix.languageSettings = lib.recursiveUpdate - (lib.pipe defaultLanguagesSettings [ - (map (lang: lib.nameValuePair lang.name (lib.removeAttrs lang ["name"]))) - lib.listToAttrs - ]) - { - cmake = { - language-servers = [ - "neocmakelsp" - "cmake-language-server" - ]; - }; - kdl = { - formatter = { - command = "kdlfmt"; - args = [ - "format" - "-" + (lib.pipe defaultLanguagesSettings [ + (map (lang: lib.nameValuePair lang.name (lib.removeAttrs lang [ "name" ]))) + lib.listToAttrs + ]) + { + cmake = { + language-servers = [ + "neocmakelsp" + "cmake-language-server" ]; }; - }; - just = { - formatter = { - command = "just"; - args = [ - "--dump" + kdl = { + formatter = { + command = "kdlfmt"; + args = [ + "format" + "-" + ]; + }; + }; + just = { + formatter = { + command = "just"; + args = [ + "--dump" + ]; + }; + }; + nix = { + formatter = { + command = "nixfmt"; + }; + }; + xml = { + formatter = { + command = "xmllint"; + args = [ + "--format" + "-" + ]; + }; + }; + typst = { + formatter = { + command = "typstyle"; + }; + }; + c = { + formatter = { + command = "clang-format"; + }; + }; + cpp = { + formatter = { + command = "clang-format"; + }; + }; + python = { + formatter = { + command = "ruff"; + args = [ + "format" + "-s" + "--line-length" + "88" + "-" + ]; + }; + language-servers = [ + "pyright" + "ruff" + "ty" ]; }; - }; - nix = { - formatter = { - command = "nixfmt"; + go = { + formatter = { + command = "goimports"; + }; }; - }; - xml = { - formatter = { - command = "xmllint"; - args = [ - "--format" - "-" + awk = { + formatter = { + command = "awk"; + timeout = 5; + args = [ + "--file=/dev/stdin" + "--pretty-print=/dev/stdout" + ]; + }; + }; + fish = { + language-servers = [ + "fish-lsp" ]; }; - }; - typst = { - formatter = { - command = "typstyle"; + yaml = { + formatter = { + command = "deno"; + args = [ + "fmt" + "-" + "--ext" + "yaml" + ]; + }; }; - }; - c = { - formatter = { - command = "clang-format"; - }; - }; - cpp = { - formatter = { - command = "clang-format"; - }; - }; - python = { - formatter = { - command = "ruff"; - args = [ - "format" - "-s" - "--line-length" - "88" - "-" + html = { + formatter = { + command = "deno"; + args = [ + "fmt" + "-" + "--ext" + "html" + ]; + }; + language-servers = [ + "vscode-html-language-server" ]; }; - language-servers = [ - "pyright" - "ruff" - "ty" - ]; - }; - go = { - formatter = { - command = "goimports"; - }; - }; - awk = { - formatter = { - command = "awk"; - timeout = 5; - args = [ - "--file=/dev/stdin" - "--pretty-print=/dev/stdout" + css = { + formatter = { + command = "deno"; + args = [ + "fmt" + "-" + "--ext" + "css" + ]; + }; + language-servers = [ + "vscode-css-language-server" ]; }; - }; - fish = { - language-servers = [ - "fish-lsp" - ]; - }; - yaml = { - formatter = { - command = "deno"; - args = [ - "fmt" - "-" - "--ext" - "yaml" + toml = { + formatter = { + command = "taplo"; + args = [ + "fmt" + "-" + ]; + }; + }; + markdown = { + formatter = { + command = "deno"; + args = [ + "fmt" + "-" + "--ext" + "md" + ]; + }; + }; + json = { + language-servers = [ + "vscode-json-language-server" ]; + formatter = { + command = "deno"; + args = [ + "fmt" + "-" + "--ext" + "json" + ]; + }; + }; + jsonc = { + language-servers = [ + "vscode-json-language-server" + ]; + formatter = { + command = "deno"; + args = [ + "fmt" + "-" + "--ext" + "jsonc" + ]; + }; }; }; - html = { - formatter = { - command = "deno"; - args = [ - "fmt" - "-" - "--ext" - "html" - ]; - }; - language-servers = [ - "vscode-html-language-server" - ]; - }; - css = { - formatter = { - command = "deno"; - args = [ - "fmt" - "-" - "--ext" - "css" - ]; - }; - language-servers = [ - "vscode-css-language-server" - ]; - }; - toml = { - formatter = { - command = "taplo"; - args = [ - "fmt" - "-" - ]; - }; - }; - markdown = { - formatter = { - command = "deno"; - args = [ - "fmt" - "-" - "--ext" - "md" - ]; - }; - }; - json = { - language-servers = [ - "vscode-json-language-server" - ]; - formatter = { - command = "deno"; - args = [ - "fmt" - "-" - "--ext" - "json" - ]; - }; - }; - jsonc = { - language-servers = [ - "vscode-json-language-server" - ]; - formatter = { - command = "deno"; - args = [ - "fmt" - "-" - "--ext" - "jsonc" - ]; - }; - }; - }; }) ]; } diff --git a/home/modules/programs/ion.nix b/home/modules/programs/ion.nix index cb458b5..42adca5 100644 --- a/home/modules/programs/ion.nix +++ b/home/modules/programs/ion.nix @@ -2,9 +2,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.programs.ion; -in { +in +{ options = { youthlic.programs.ion = { enable = lib.mkEnableOption "ion"; diff --git a/home/modules/programs/jujutsu.nix b/home/modules/programs/jujutsu.nix index 26c1d82..835779e 100644 --- a/home/modules/programs/jujutsu.nix +++ b/home/modules/programs/jujutsu.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.jujutsu; -in { +in +{ options = { youthlic.programs.jujutsu = { enable = lib.mkEnableOption "jujutsu"; @@ -26,7 +28,7 @@ in { }; name = lib.mkOption { type = lib.types.str; - example = ''youthlic''; + example = "youthlic"; description = '' jujutsu name ''; @@ -43,10 +45,27 @@ in { settings = { "$schema" = "https://jj-vcs.github.io/jj/latest/config-schema.json"; aliases = { - dlog = ["log" "-r"]; - l = ["log" "-r" "(trunk()..@):: | (trunk()..@)-"]; - fresh = ["new" "trunk()"]; - tug = ["bookmark" "move" "--from" "closest_bookmark(@)" "--to" "closest_pushable(@)"]; + dlog = [ + "log" + "-r" + ]; + l = [ + "log" + "-r" + "(trunk()..@):: | (trunk()..@)-" + ]; + fresh = [ + "new" + "trunk()" + ]; + tug = [ + "bookmark" + "move" + "--from" + "closest_bookmark(@)" + "--to" + "closest_pushable(@)" + ]; }; snapshot = { auto-track = "true"; @@ -84,7 +103,8 @@ in { }; revset-aliases = { "closest_bookmark(to)" = "heads(::to & bookmarks())"; - "closest_pushable(to)" = "heads(::to & mutable() & ~description(exact:\"\") & (~empty() | merges()))"; + "closest_pushable(to)" = + "heads(::to & mutable() & ~description(exact:\"\") & (~empty() | merges()))"; "desc(x)" = "description(x)"; "pending()" = ".. ~ ::tags() ~ ::remote_bookmarks() ~ @ ~ private()"; "private()" = '' diff --git a/home/modules/programs/kvm.nix b/home/modules/programs/kvm.nix index 3f6a0de..82cb133 100644 --- a/home/modules/programs/kvm.nix +++ b/home/modules/programs/kvm.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.kvm; -in { +in +{ options = { youthlic.programs.kvm = { enable = lib.mkEnableOption "kvm"; @@ -14,8 +16,8 @@ in { dconf = { settings = { "org/virt-manager/virt-manager/connections" = { - autoconnect = ["qemu:///system"]; - uris = ["qemu:///system"]; + autoconnect = [ "qemu:///system" ]; + uris = [ "qemu:///system" ]; }; }; }; diff --git a/home/modules/programs/radicle.nix b/home/modules/programs/radicle.nix index 7715fcb..3a52035 100644 --- a/home/modules/programs/radicle.nix +++ b/home/modules/programs/radicle.nix @@ -2,9 +2,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.programs.radicle; -in { +in +{ options = { youthlic.programs.radicle = { enable = lib.mkEnableOption "radicle"; @@ -59,14 +61,14 @@ in { }; }; }; - sops.secrets."radicle/Tytonidae" = {}; + sops.secrets."radicle/Tytonidae" = { }; services.radicle.node = { enable = true; args = "--log-logger systemd"; }; systemd.user.services."radicle-node" = { - Unit.After = ["default.target"]; - Service.EnvironmentFile = [config.sops.secrets."radicle/Tytonidae".path]; + Unit.After = [ "default.target" ]; + Service.EnvironmentFile = [ config.sops.secrets."radicle/Tytonidae".path ]; }; }; } diff --git a/home/modules/programs/rustypaste-cli.nix b/home/modules/programs/rustypaste-cli.nix index 19bdcbb..36a7844 100644 --- a/home/modules/programs/rustypaste-cli.nix +++ b/home/modules/programs/rustypaste-cli.nix @@ -3,20 +3,22 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.programs.rustypaste-cli; -in { +in +{ options = { youthlic.programs.rustypaste-cli = { enable = lib.mkEnableOption "rustypaste-cli"; }; }; config = lib.mkIf cfg.enable { - home.packages = [pkgs.rustypaste-cli]; + home.packages = [ pkgs.rustypaste-cli ]; sops = { secrets = { - "rustypaste/auth" = {}; - "rustypaste/delete" = {}; + "rustypaste/auth" = { }; + "rustypaste/delete" = { }; }; templates."rustypaste-config.toml" = { path = "${config.xdg.configHome}/rustypaste/config.toml"; diff --git a/home/modules/programs/sops.nix b/home/modules/programs/sops.nix index 92c0375..452f640 100644 --- a/home/modules/programs/sops.nix +++ b/home/modules/programs/sops.nix @@ -4,7 +4,8 @@ pkgs, rootPath, ... -}: { +}: +{ options = { youthlic.programs.sops = { enable = lib.mkOption { @@ -24,12 +25,14 @@ }; }; }; - config = let - cfg = config.youthlic.programs.sops; - in + config = + let + cfg = config.youthlic.programs.sops; + in lib.mkIf cfg.enable { home.packages = ( - with pkgs; [ + with pkgs; + [ sops age ] diff --git a/home/modules/programs/spotifyd.nix b/home/modules/programs/spotifyd.nix index b339ec6..c1c8e9d 100644 --- a/home/modules/programs/spotifyd.nix +++ b/home/modules/programs/spotifyd.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.spotifyd; -in { +in +{ options = { youthlic.programs.spotifyd = { enable = lib.mkEnableOption "spotifyd"; diff --git a/home/modules/programs/starship/default.nix b/home/modules/programs/starship/default.nix index 4a1b48b..25e87d4 100644 --- a/home/modules/programs/starship/default.nix +++ b/home/modules/programs/starship/default.nix @@ -2,12 +2,14 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.programs.starship; fish-cfg = config.youthlic.programs.fish; bash-cfg = config.youthlic.programs.bash; ion-cfg = config.youthlic.programs.ion; -in { +in +{ options = { youthlic.programs.starship = { enable = lib.mkEnableOption "starship"; @@ -18,9 +20,10 @@ in { programs.starship = { enable = true; enableTransience = true; - settings = let - config-file = builtins.readFile ./config.toml; - in + settings = + let + config-file = builtins.readFile ./config.toml; + in builtins.fromTOML config-file; }; }) diff --git a/home/modules/programs/yazi.nix b/home/modules/programs/yazi.nix index a5b874c..be9fb3a 100644 --- a/home/modules/programs/yazi.nix +++ b/home/modules/programs/yazi.nix @@ -3,11 +3,13 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.programs.yazi; fish-cfg = config.youthlic.programs.fish; bash-cfg = config.youthlic.programs.bash; -in { +in +{ options = { youthlic.programs.yazi = { enable = lib.mkEnableOption "yazi"; @@ -22,8 +24,7 @@ in { enable = true; shellWrapperName = "y"; plugins = { - inherit - (pkgs.yaziPlugins) + inherit (pkgs.yaziPlugins) ouch starship piper @@ -81,7 +82,7 @@ in { desc = "Chmod on selected files"; } { - on = ["l"]; + on = [ "l" ]; run = "plugin smart-enter"; desc = "Enter the child directory, or open the file"; } diff --git a/home/modules/programs/zoxide.nix b/home/modules/programs/zoxide.nix index d52dcd6..137086d 100644 --- a/home/modules/programs/zoxide.nix +++ b/home/modules/programs/zoxide.nix @@ -2,11 +2,13 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.zoxide; fish-cfg = config.youthlic.programs.fish; bash-cfg = config.youthlic.programs.bash; -in { +in +{ options = { youthlic.programs.zoxide = { enable = lib.mkEnableOption "zoxide"; diff --git a/home/modules/xdg-dirs.nix b/home/modules/xdg-dirs.nix index 245c06f..71da39a 100644 --- a/home/modules/xdg-dirs.nix +++ b/home/modules/xdg-dirs.nix @@ -2,9 +2,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.xdg-dirs; -in { +in +{ options = { youthlic.xdg-dirs = { enable = lib.mkEnableOption "xdg-dirs"; diff --git a/lib/default.nix b/lib/default.nix index d41ffe6..631a305 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,39 +1,38 @@ final: _prev: { youthlic = { - loadImports' = dir: f: + loadImports' = + dir: f: final.pipe dir [ final.youthlic.loadImports f ]; - loadImports = dir: + loadImports = + dir: with final; - if !(pathExists dir && builtins.readFileType dir == "directory") - then [] - else let + if !(pathExists dir && builtins.readFileType dir == "directory") then + [ ] + else + let items = pipe dir [ builtins.readDir attrNames ]; in - pipe items [ - (concatMap ( - name: let - path = dir + "/${name}"; - type = builtins.readFileType path; - in - if type == "directory" - then - if pathExists (path + "/default.nix") - then [path] - else youthlic.loadImports path - else if type == "regular" - then - if hasSuffix ".nix" name - then [path] - else [] - else [] - )) - (filter (name: !hasSuffix "/default.nix" (toString name))) - ]; + pipe items [ + (concatMap ( + name: + let + path = dir + "/${name}"; + type = builtins.readFileType path; + in + if type == "directory" then + if pathExists (path + "/default.nix") then [ path ] else youthlic.loadImports path + else if type == "regular" then + if hasSuffix ".nix" name then [ path ] else [ ] + else + [ ] + )) + (filter (name: !hasSuffix "/default.nix" (toString name))) + ]; }; } diff --git a/nixos/configurations/Akun/default.nix b/nixos/configurations/Akun/default.nix index 43b0c6b..4691e55 100644 --- a/nixos/configurations/Akun/default.nix +++ b/nixos/configurations/Akun/default.nix @@ -4,7 +4,8 @@ lib, outputs, ... -}: { +}: +{ imports = (with inputs.nixos-hardware.nixosModules; [ common-cpu-intel @@ -70,11 +71,11 @@ kernelPackages = pkgs.linuxKernel.packages.linux_zen; loader.systemd-boot.enable = true; loader.efi.canTouchEfiVariables = true; - kernelParams = ["i915.enable_guc=2"]; + kernelParams = [ "i915.enable_guc=2" ]; }; nix = { settings = { - system-features = ["gccarch-skylake"]; + system-features = [ "gccarch-skylake" ]; }; }; hardware = { diff --git a/nixos/configurations/Akun/disk-config.nix b/nixos/configurations/Akun/disk-config.nix index f10dd5c..2d21e40 100644 --- a/nixos/configurations/Akun/disk-config.nix +++ b/nixos/configurations/Akun/disk-config.nix @@ -49,7 +49,7 @@ ]; content = { type = "btrfs"; - extraArgs = ["-f"]; + extraArgs = [ "-f" ]; subvolumes = { "@root" = { mountpoint = "/"; diff --git a/nixos/configurations/Akun/gui.nix b/nixos/configurations/Akun/gui.nix index 38618ef..7b2614d 100644 --- a/nixos/configurations/Akun/gui.nix +++ b/nixos/configurations/Akun/gui.nix @@ -1,4 +1,4 @@ -{...}: { +{ ... }: { youthlic.gui = { enabled = "niri"; }; diff --git a/nixos/configurations/Akun/hardware-configuration.nix b/nixos/configurations/Akun/hardware-configuration.nix index 630b077..765d467 100644 --- a/nixos/configurations/Akun/hardware-configuration.nix +++ b/nixos/configurations/Akun/hardware-configuration.nix @@ -7,7 +7,8 @@ pkgs, modulesPath, ... -}: { +}: +{ imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; @@ -20,9 +21,9 @@ "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = []; - boot.kernelModules = []; - boot.extraModulePackages = []; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; # 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 diff --git a/nixos/configurations/Akun/networking.nix b/nixos/configurations/Akun/networking.nix index c5ec9c0..cb53171 100644 --- a/nixos/configurations/Akun/networking.nix +++ b/nixos/configurations/Akun/networking.nix @@ -1,4 +1,4 @@ -{...}: { +{ ... }: { systemd.network = { enable = true; wait-online.enable = false; diff --git a/nixos/configurations/Akun/stylix.nix b/nixos/configurations/Akun/stylix.nix index 3a17b5e..c880b33 100644 --- a/nixos/configurations/Akun/stylix.nix +++ b/nixos/configurations/Akun/stylix.nix @@ -2,7 +2,8 @@ pkgs, rootPath, ... -}: { +}: +{ stylix = { enable = true; image = rootPath + "/assets/wallpaper/01.png"; diff --git a/nixos/configurations/Akun/users/default.nix b/nixos/configurations/Akun/users/default.nix index 33847ac..0870dab 100644 --- a/nixos/configurations/Akun/users/default.nix +++ b/nixos/configurations/Akun/users/default.nix @@ -2,7 +2,8 @@ lib, pkgs, ... -}: { +}: +{ users = { mutableUsers = true; users.david = { diff --git a/nixos/configurations/Cape/default.nix b/nixos/configurations/Cape/default.nix index 9f39932..c602ca9 100644 --- a/nixos/configurations/Cape/default.nix +++ b/nixos/configurations/Cape/default.nix @@ -3,12 +3,12 @@ lib, outputs, ... -}: { - imports = - [ - outputs.nixosModules.default - ] - ++ (lib.youthlic.loadImports ./.); +}: +{ + imports = [ + outputs.nixosModules.default + ] + ++ (lib.youthlic.loadImports ./.); youthlic = { home-manager = { @@ -76,7 +76,7 @@ }; nix = { settings = { - system-features = ["gccarch-ivybridge"]; + system-features = [ "gccarch-ivybridge" ]; }; }; diff --git a/nixos/configurations/Cape/disko-config.nix b/nixos/configurations/Cape/disko-config.nix index 2956283..8214982 100644 --- a/nixos/configurations/Cape/disko-config.nix +++ b/nixos/configurations/Cape/disko-config.nix @@ -15,7 +15,7 @@ size = "100%"; content = { type = "btrfs"; - extraArgs = ["-f"]; + extraArgs = [ "-f" ]; subvolumes = { "@root" = { mountpoint = "/"; diff --git a/nixos/configurations/Cape/forgejo.nix b/nixos/configurations/Cape/forgejo.nix index 9117716..7bd33a0 100644 --- a/nixos/configurations/Cape/forgejo.nix +++ b/nixos/configurations/Cape/forgejo.nix @@ -1,11 +1,11 @@ -{config, ...}: { +{ config, ... }: { youthlic.containers.forgejo = { enable = true; domain = "forgejo.youthlic.social"; sshPort = 2222; httpPort = 8480; }; - networking.firewall.allowedTCPPorts = [2222]; + networking.firewall.allowedTCPPorts = [ 2222 ]; services.caddy.virtualHosts = { "forgejo.${config.youthlic.programs.caddy.baseDomain}" = { extraConfig = '' diff --git a/nixos/configurations/Cape/hardware-configuration.nix b/nixos/configurations/Cape/hardware-configuration.nix index f99f914..ac18c26 100644 --- a/nixos/configurations/Cape/hardware-configuration.nix +++ b/nixos/configurations/Cape/hardware-configuration.nix @@ -7,7 +7,8 @@ pkgs, modulesPath, ... -}: { +}: +{ imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; @@ -19,9 +20,9 @@ "sr_mod" "virtio_blk" ]; - boot.initrd.kernelModules = []; - boot.kernelModules = []; - boot.extraModulePackages = []; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; # 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 diff --git a/nixos/configurations/Cape/miniflux.nix b/nixos/configurations/Cape/miniflux.nix index a106d53..fdb0602 100644 --- a/nixos/configurations/Cape/miniflux.nix +++ b/nixos/configurations/Cape/miniflux.nix @@ -1,4 +1,4 @@ -{config, ...}: { +{ config, ... }: { sops.secrets."miniflux" = { }; youthlic.containers.miniflux = { diff --git a/nixos/configurations/Cape/networking.nix b/nixos/configurations/Cape/networking.nix index 2c876e2..41efbe7 100644 --- a/nixos/configurations/Cape/networking.nix +++ b/nixos/configurations/Cape/networking.nix @@ -1,4 +1,4 @@ -{...}: { +{ ... }: { systemd.network = { enable = true; wait-online.enable = true; diff --git a/nixos/configurations/Cape/radicle.nix b/nixos/configurations/Cape/radicle.nix index 6f63e8f..4694ab8 100644 --- a/nixos/configurations/Cape/radicle.nix +++ b/nixos/configurations/Cape/radicle.nix @@ -1,5 +1,5 @@ -{config, ...}: { - sops.secrets."ssh-private-key/radicle/Cape" = {}; +{ config, ... }: { + sops.secrets."ssh-private-key/radicle/Cape" = { }; youthlic.programs.radicle = { enable = true; publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBbQrJNWcWsFncTX4w/hkhz6zPNwHrTjA+6lnq5dmu/s radicle"; diff --git a/nixos/configurations/Cape/stylix.nix b/nixos/configurations/Cape/stylix.nix index 7730b4b..dc4ebf1 100644 --- a/nixos/configurations/Cape/stylix.nix +++ b/nixos/configurations/Cape/stylix.nix @@ -1,4 +1,4 @@ -{...}: { +{ ... }: { stylix = { enable = false; }; diff --git a/nixos/configurations/Cape/users/default.nix b/nixos/configurations/Cape/users/default.nix index 7e89291..18242fd 100644 --- a/nixos/configurations/Cape/users/default.nix +++ b/nixos/configurations/Cape/users/default.nix @@ -1,4 +1,4 @@ -{pkgs, ...}: { +{ pkgs, ... }: { users.users.alice = { initialHashedPassword = "$y$j9T$eS5zCi4W.4IPpf3P8Tb/o1$xhumXY1.PJKmTguNi/zlljLbLemNGiubWoUEc878S36"; isNormalUser = true; diff --git a/nixos/configurations/Tytonidae/default.nix b/nixos/configurations/Tytonidae/default.nix index 7968931..257c3ef 100644 --- a/nixos/configurations/Tytonidae/default.nix +++ b/nixos/configurations/Tytonidae/default.nix @@ -5,7 +5,8 @@ outputs, config, ... -}: { +}: +{ imports = (with inputs.nixos-hardware.nixosModules; [ common-hidpi @@ -18,7 +19,7 @@ ++ (with outputs; [ nixosModules.gui ]) - ++ [inputs.lanzaboote.nixosModules.lanzaboote] + ++ [ inputs.lanzaboote.nixosModules.lanzaboote ] ++ (lib.youthlic.loadImports ./.); youthlic = { @@ -43,19 +44,21 @@ programs = { miniserve = { enable = true; - apps = let - cinny-template = config.youthlic.programs.miniserve.templates.cinny; - in { - cinny-1 = cinny-template { - port = 9093; + apps = + let + cinny-template = config.youthlic.programs.miniserve.templates.cinny; + in + { + cinny-1 = cinny-template { + port = 9093; + }; + cinny-2 = cinny-template { + port = 9094; + }; + cinny-3 = cinny-template { + port = 9095; + }; }; - cinny-2 = cinny-template { - port = 9094; - }; - cinny-3 = cinny-template { - port = 9095; - }; - }; }; bash.enable = true; guix.enable = true; diff --git a/nixos/configurations/Tytonidae/disk-config.nix b/nixos/configurations/Tytonidae/disk-config.nix index a1c5c88..24ea6c1 100644 --- a/nixos/configurations/Tytonidae/disk-config.nix +++ b/nixos/configurations/Tytonidae/disk-config.nix @@ -1,4 +1,4 @@ -{...}: { +{ ... }: { disko.devices = { disk = { disk1 = { diff --git a/nixos/configurations/Tytonidae/gui.nix b/nixos/configurations/Tytonidae/gui.nix index 38618ef..7b2614d 100644 --- a/nixos/configurations/Tytonidae/gui.nix +++ b/nixos/configurations/Tytonidae/gui.nix @@ -1,4 +1,4 @@ -{...}: { +{ ... }: { youthlic.gui = { enabled = "niri"; }; diff --git a/nixos/configurations/Tytonidae/hardware-configuration.nix b/nixos/configurations/Tytonidae/hardware-configuration.nix index 4eda333..827d061 100644 --- a/nixos/configurations/Tytonidae/hardware-configuration.nix +++ b/nixos/configurations/Tytonidae/hardware-configuration.nix @@ -7,7 +7,8 @@ pkgs, modulesPath, ... -}: { +}: +{ imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; @@ -19,9 +20,9 @@ "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = []; - boot.kernelModules = ["kvm-intel"]; - boot.extraModulePackages = []; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; # 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 diff --git a/nixos/configurations/Tytonidae/hardware.nix b/nixos/configurations/Tytonidae/hardware.nix index 39ff04e..88c9920 100644 --- a/nixos/configurations/Tytonidae/hardware.nix +++ b/nixos/configurations/Tytonidae/hardware.nix @@ -3,29 +3,30 @@ lib, config, ... -}: { +}: +{ virtualisation.libvirtd.hooks.qemu = { "dynamic-cpu-isolation" = pkgs.writeShellScript "dynamic-cpu-isolation.sh" - #bash - '' - VM_NAME="$1" - ACTION="$2" + #bash + '' + VM_NAME="$1" + ACTION="$2" - if [ "$VM_NAME" != "win11" ]; then - exit 0 - fi + if [ "$VM_NAME" != "win11" ]; then + exit 0 + fi - if [ "$ACTION" == "prepare" ]; then - ${lib.getExe' pkgs.systemd "systemctl"} set-property --runtime -- system.slice AllowedCPUs=0-1,12-19 - ${lib.getExe' pkgs.systemd "systemctl"} set-property --runtime -- user.slice AllowedCPUs=0-1,12-19 - ${lib.getExe' pkgs.systemd "systemctl"} set-property --runtime -- init.scope AllowedCPUs=0-1,12-19 - elif [ "$ACTION" == "release" ]; then - ${lib.getExe' pkgs.systemd "systemctl"} set-property --runtime -- system.slice AllowedCPUs=0-19 - ${lib.getExe' pkgs.systemd "systemctl"} set-property --runtime -- user.slice AllowedCPUs=0-19 - ${lib.getExe' pkgs.systemd "systemctl"} set-property --runtime -- init.scope AllowedCPUs=0-19 - fi - ''; + if [ "$ACTION" == "prepare" ]; then + ${lib.getExe' pkgs.systemd "systemctl"} set-property --runtime -- system.slice AllowedCPUs=0-1,12-19 + ${lib.getExe' pkgs.systemd "systemctl"} set-property --runtime -- user.slice AllowedCPUs=0-1,12-19 + ${lib.getExe' pkgs.systemd "systemctl"} set-property --runtime -- init.scope AllowedCPUs=0-1,12-19 + elif [ "$ACTION" == "release" ]; then + ${lib.getExe' pkgs.systemd "systemctl"} set-property --runtime -- system.slice AllowedCPUs=0-19 + ${lib.getExe' pkgs.systemd "systemctl"} set-property --runtime -- user.slice AllowedCPUs=0-19 + ${lib.getExe' pkgs.systemd "systemctl"} set-property --runtime -- init.scope AllowedCPUs=0-19 + fi + ''; }; nixpkgs.config.cudaSupport = true; services = { @@ -39,13 +40,13 @@ }; nix = { settings = { - system-features = ["gccarch-alderlake"]; + system-features = [ "gccarch-alderlake" ]; }; }; hardware = { openrazer = { enable = true; - users = ["david"]; + users = [ "david" ]; }; graphics.package = pkgs.mesa; intelgpu = { @@ -66,7 +67,7 @@ # }; }; boot = { - extraModulePackages = with config.boot.kernelPackages; [ddcci-driver]; + extraModulePackages = with config.boot.kernelPackages; [ ddcci-driver ]; kernelParams = [ "intel_iommu=on" "iommu=pt" @@ -106,36 +107,38 @@ }; systemd.services."ddcci@" = { description = "ddcci handler"; - after = ["graphical.target"]; - before = ["shutdown.target"]; - conflicts = ["shutdown.target"]; + after = [ "graphical.target" ]; + before = [ "shutdown.target" ]; + conflicts = [ "shutdown.target" ]; serviceConfig = { Type = "oneshot"; - ExecStart = let - script = pkgs.writeShellApplication { - name = "ddcci-handler"; - runtimeInputs = with pkgs; [ - coreutils - ddcutil - ]; - text = '' - echo Trying to attach ddcci to "$1" - success=0 - i=0 - id=$(echo "$1" | cut -d "-" -f 2) - while ((success < 1)) && ((i++ < 5)); do - if ddcutil getvcp 10 -b "$id"; then - if echo ddcci 0x37 > "/sys/bus/i2c/devices/$1/new_device"; then - success=1 - echo ddcci attached to "$1" + ExecStart = + let + script = pkgs.writeShellApplication { + name = "ddcci-handler"; + runtimeInputs = with pkgs; [ + coreutils + ddcutil + ]; + text = '' + echo Trying to attach ddcci to "$1" + success=0 + i=0 + id=$(echo "$1" | cut -d "-" -f 2) + while ((success < 1)) && ((i++ < 5)); do + if ddcutil getvcp 10 -b "$id"; then + if echo ddcci 0x37 > "/sys/bus/i2c/devices/$1/new_device"; then + success=1 + echo ddcci attached to "$1" + fi fi - fi - echo "Try $i" - sleep 1; - done - ''; - }; - in "${lib.getExe' script "ddcci-handler"} %i"; + echo "Try $i" + sleep 1; + done + ''; + }; + in + "${lib.getExe' script "ddcci-handler"} %i"; }; }; services.udev.extraRules = '' diff --git a/nixos/configurations/Tytonidae/kanata.nix b/nixos/configurations/Tytonidae/kanata.nix index 53510b1..6fc7a1e 100644 --- a/nixos/configurations/Tytonidae/kanata.nix +++ b/nixos/configurations/Tytonidae/kanata.nix @@ -1,4 +1,4 @@ -{lib, ...}: { +{ lib, ... }: { youthlic.programs.kanata.enable = true; services = { udev.extraRules = '' diff --git a/nixos/configurations/Tytonidae/networking.nix b/nixos/configurations/Tytonidae/networking.nix index d7bc856..651d3eb 100644 --- a/nixos/configurations/Tytonidae/networking.nix +++ b/nixos/configurations/Tytonidae/networking.nix @@ -1,4 +1,4 @@ -{...}: { +{ ... }: { systemd.network = { enable = true; wait-online.enable = false; diff --git a/nixos/configurations/Tytonidae/specialisation/cosmic.nix b/nixos/configurations/Tytonidae/specialisation/cosmic.nix index c2cc305..8069aaf 100644 --- a/nixos/configurations/Tytonidae/specialisation/cosmic.nix +++ b/nixos/configurations/Tytonidae/specialisation/cosmic.nix @@ -1,4 +1,4 @@ -{lib, ...}: { +{ lib, ... }: { config.specialisation.cosmic = { inheritParentConfig = true; configuration = { diff --git a/nixos/configurations/Tytonidae/specialisation/kde.nix b/nixos/configurations/Tytonidae/specialisation/kde.nix index 91e0f65..ddd177e 100644 --- a/nixos/configurations/Tytonidae/specialisation/kde.nix +++ b/nixos/configurations/Tytonidae/specialisation/kde.nix @@ -1,4 +1,4 @@ -{lib, ...}: { +{ lib, ... }: { config.specialisation.kde = { inheritParentConfig = true; configuration = { diff --git a/nixos/configurations/Tytonidae/specialisation/niri-dgpu.nix b/nixos/configurations/Tytonidae/specialisation/niri-dgpu.nix index fe4b6b6..c4d52a4 100644 --- a/nixos/configurations/Tytonidae/specialisation/niri-dgpu.nix +++ b/nixos/configurations/Tytonidae/specialisation/niri-dgpu.nix @@ -1,4 +1,4 @@ -{inputs, ...}: { +{ inputs, ... }: { # config.specialisation.niri-dgpu = { # inheritParentConfig = true; # configuration = { diff --git a/nixos/configurations/Tytonidae/stylix.nix b/nixos/configurations/Tytonidae/stylix.nix index 09abdcb..c3e58ac 100644 --- a/nixos/configurations/Tytonidae/stylix.nix +++ b/nixos/configurations/Tytonidae/stylix.nix @@ -2,7 +2,8 @@ pkgs, rootPath, ... -}: { +}: +{ stylix = { enable = true; image = rootPath + "/assets/wallpaper/01.png"; diff --git a/nixos/configurations/Tytonidae/users/default.nix b/nixos/configurations/Tytonidae/users/default.nix index d7722a5..9d652bf 100644 --- a/nixos/configurations/Tytonidae/users/default.nix +++ b/nixos/configurations/Tytonidae/users/default.nix @@ -2,7 +2,8 @@ lib, pkgs, ... -}: { +}: +{ users.users.david = { initialHashedPassword = "$y$j9T$eS5zCi4W.4IPpf3P8Tb/o1$xhumXY1.PJKmTguNi/zlljLbLemNGiubWoUEc878S36"; isNormalUser = true; diff --git a/nixos/modules/containers/default.nix b/nixos/modules/containers/default.nix index e39e453..9168f4c 100644 --- a/nixos/modules/containers/default.nix +++ b/nixos/modules/containers/default.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.containers; -in { +in +{ imports = lib.youthlic.loadImports ./.; options = { youthlic.containers = { diff --git a/nixos/modules/containers/forgejo.nix b/nixos/modules/containers/forgejo.nix index 92dc034..573ad13 100644 --- a/nixos/modules/containers/forgejo.nix +++ b/nixos/modules/containers/forgejo.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.containers.forgejo; -in { +in +{ options = { youthlic.containers.forgejo = { enable = lib.mkEnableOption "forgejo container"; @@ -54,7 +56,7 @@ in { } ]; - config = {lib, ...}: { + config = { lib, ... }: { imports = [ ./../programs/forgejo.nix ./../programs/postgresql.nix @@ -86,10 +88,10 @@ in { }; systemd.services.forgejo = { - wants = ["postgresql.service"]; - requires = ["postgresql.service"]; - after = ["postgresql.service"]; - wantedBy = ["default.target"]; + wants = [ "postgresql.service" ]; + requires = [ "postgresql.service" ]; + after = [ "postgresql.service" ]; + wantedBy = [ "default.target" ]; }; networking = { diff --git a/nixos/modules/containers/miniflux.nix b/nixos/modules/containers/miniflux.nix index e9bb5d0..e361d1d 100644 --- a/nixos/modules/containers/miniflux.nix +++ b/nixos/modules/containers/miniflux.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.containers.miniflux; -in { +in +{ options = { youthlic.containers.miniflux = { enable = lib.mkEnableOption "miniflux container"; @@ -36,7 +38,7 @@ in { }; }; - config = {lib, ...}: { + config = { lib, ... }: { imports = [ ./../programs/miniflux.nix ./../programs/postgresql.nix @@ -67,18 +69,18 @@ in { }; systemd.services.miniflux = { - wants = ["postgresql.service"]; - requires = ["postgresql.service"]; - after = ["postgresql.service"]; - wantedBy = ["default.target"]; + wants = [ "postgresql.service" ]; + requires = [ "postgresql.service" ]; + after = [ "postgresql.service" ]; + wantedBy = [ "default.target" ]; }; networking = { defaultGateway = "192.168.111.1"; firewall = { enable = true; - allowedTCPPorts = [8485]; - allowedUDPPorts = [8485]; + allowedTCPPorts = [ 8485 ]; + allowedUDPPorts = [ 8485 ]; }; useHostResolvConf = lib.mkForce false; }; diff --git a/nixos/modules/default.nix b/nixos/modules/default.nix index 022a1fe..40e3815 100644 --- a/nixos/modules/default.nix +++ b/nixos/modules/default.nix @@ -1,4 +1,5 @@ -{lib, ...}: { - imports = with lib; +{ lib, ... }: { + imports = + with lib; youthlic.loadImports' ./. (filter (name: !hasSuffix "/top-level" (toString name))); } diff --git a/nixos/modules/deploy/default.nix b/nixos/modules/deploy/default.nix index f84ae2a..d5df750 100644 --- a/nixos/modules/deploy/default.nix +++ b/nixos/modules/deploy/default.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.users.deploy; -in { +in +{ options = { youthlic.users.deploy = { enable = lib.mkEnableOption "deploy"; diff --git a/nixos/modules/documentation.nix b/nixos/modules/documentation.nix index 568bee1..55bb952 100644 --- a/nixos/modules/documentation.nix +++ b/nixos/modules/documentation.nix @@ -1,7 +1,6 @@ -{pkgs, ...}: { +{ pkgs, ... }: { environment.systemPackages = builtins.attrValues { - inherit - (pkgs) + inherit (pkgs) man-pages man-pages-posix ; diff --git a/nixos/modules/gui/cosmic.nix b/nixos/modules/gui/cosmic.nix index 04258f3..2c19e20 100644 --- a/nixos/modules/gui/cosmic.nix +++ b/nixos/modules/gui/cosmic.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.gui; -in { +in +{ config = lib.mkIf (cfg.enabled == "cosmic") { services = { desktopManager.cosmic = { diff --git a/nixos/modules/gui/default.nix b/nixos/modules/gui/default.nix index 0385045..85f054d 100644 --- a/nixos/modules/gui/default.nix +++ b/nixos/modules/gui/default.nix @@ -4,9 +4,11 @@ pkgs, rootPath, ... -}: let +}: +let cfg = config.youthlic.gui; -in { +in +{ imports = with lib; youthlic.loadImports ./.; options = { youthlic.gui = { @@ -28,8 +30,9 @@ in { fontconfig ]; - sops.secrets = with lib; - with builtins; + sops.secrets = + with lib; + with builtins; pipe (rootPath + "/secrets/dummy_font") [ readDir attrNames diff --git a/nixos/modules/gui/kde.nix b/nixos/modules/gui/kde.nix index 9651516..f6bce71 100644 --- a/nixos/modules/gui/kde.nix +++ b/nixos/modules/gui/kde.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.gui; -in { +in +{ config = lib.mkIf (cfg.enabled == "kde") { services = { desktopManager.plasma6.enable = true; diff --git a/nixos/modules/gui/niri.nix b/nixos/modules/gui/niri.nix index b1359c1..ef422c0 100644 --- a/nixos/modules/gui/niri.nix +++ b/nixos/modules/gui/niri.nix @@ -3,9 +3,11 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.gui; -in { +in +{ options = { youthlic.gui.niri = { }; @@ -14,10 +16,11 @@ in { # Enabled to support trash of nautilus services.gvfs.enable = true; - systemd.user.services.niri-flake-polkit.serviceConfig.ExecStart = lib.mkForce "${pkgs.mate-polkit}/libexec/polkit-mate-authentication-agent-1"; + systemd.user.services.niri-flake-polkit.serviceConfig.ExecStart = + lib.mkForce "${pkgs.mate-polkit}/libexec/polkit-mate-authentication-agent-1"; environment = { - pathsToLink = ["share/thumbnailers"]; + pathsToLink = [ "share/thumbnailers" ]; systemPackages = with pkgs; [ nautilus nautilus-open-any-terminal @@ -38,45 +41,47 @@ in { terminal-exec = { enable = true; settings = { - default = ["com.mitchellh.ghostty.desktop"]; + default = [ "com.mitchellh.ghostty.desktop" ]; }; }; - mime = let - browsers = [ - "zen-twilight.desktop" - "chromium-browser.desktop" - ]; - in { - enable = true; - defaultApplications = { - "application/pdf" = [ - "org.gnome.Evince.desktop" - ]; - "inode/directory" = [ - "org.gnome.Nautilus.desktop" - ]; - "text/html" = browsers; - "x-scheme-handler/about" = browsers; - "x-scheme-handler/ftp" = browsers; - "x-scheme-handler/http" = browsers; - "x-scheme-handler/https" = browsers; - "x-scheme-handler/mailto" = browsers; - "x-scheme-handler/tg" = ["telegramdesktop.desktop"]; - "x-scheme-handler/unknown" = browsers; - "image/gif" = [ - "swayimg.desktop" - ]; - "image/jpeg" = [ - "swayimg.desktop" - ]; - "image/png" = [ - "swayimg.desktop" - ]; - "image/webp" = [ - "swayimg.desktop" + mime = + let + browsers = [ + "zen-twilight.desktop" + "chromium-browser.desktop" ]; + in + { + enable = true; + defaultApplications = { + "application/pdf" = [ + "org.gnome.Evince.desktop" + ]; + "inode/directory" = [ + "org.gnome.Nautilus.desktop" + ]; + "text/html" = browsers; + "x-scheme-handler/about" = browsers; + "x-scheme-handler/ftp" = browsers; + "x-scheme-handler/http" = browsers; + "x-scheme-handler/https" = browsers; + "x-scheme-handler/mailto" = browsers; + "x-scheme-handler/tg" = [ "telegramdesktop.desktop" ]; + "x-scheme-handler/unknown" = browsers; + "image/gif" = [ + "swayimg.desktop" + ]; + "image/jpeg" = [ + "swayimg.desktop" + ]; + "image/png" = [ + "swayimg.desktop" + ]; + "image/webp" = [ + "swayimg.desktop" + ]; + }; }; - }; }; hardware.bluetooth = { enable = true; diff --git a/nixos/modules/hardware.nix b/nixos/modules/hardware.nix index ba31c29..9cffe81 100644 --- a/nixos/modules/hardware.nix +++ b/nixos/modules/hardware.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.hardware; -in { +in +{ options = { youthlic.hardware = { asus = { diff --git a/nixos/modules/home.nix b/nixos/modules/home.nix index 222697c..e482679 100644 --- a/nixos/modules/home.nix +++ b/nixos/modules/home.nix @@ -6,7 +6,8 @@ pkgs, rootPath, ... -}: { +}: +{ options.youthlic.home-manager = { enable = lib.mkOption { type = lib.types.bool; @@ -32,17 +33,18 @@ ''; }; }; - config = let - cfg = config.youthlic.home-manager; - unixName = cfg.unixName; - hostName = cfg.hostName; - in + config = + let + cfg = config.youthlic.home-manager; + unixName = cfg.unixName; + hostName = cfg.hostName; + in lib.mkIf cfg.enable { home-manager = { useGlobalPkgs = true; useUserPackages = true; users."${cfg.unixName}" = ( - {...}: { + { ... }: { imports = [ outputs.homeModules."${unixName}" (rootPath + "/home/${unixName}/configurations/${hostName}") @@ -56,7 +58,7 @@ }; backupFileExtension = "backup"; overwriteBackup = true; - sharedModules = [outputs.homeModules.default]; + sharedModules = [ outputs.homeModules.default ]; }; }; } diff --git a/nixos/modules/i18n.nix b/nixos/modules/i18n.nix index e0d4780..daddcad 100644 --- a/nixos/modules/i18n.nix +++ b/nixos/modules/i18n.nix @@ -3,9 +3,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.i18n; -in { +in +{ options = { youthlic.i18n = { enable = lib.mkEnableOption "zh env"; @@ -14,7 +16,7 @@ in { config = lib.mkIf cfg.enable { i18n = { defaultLocale = "C.UTF-8"; - extraLocales = ["zh_CN.UTF-8/UTF-8"]; + extraLocales = [ "zh_CN.UTF-8/UTF-8" ]; extraLocaleSettings = { LC_ADDRESS = "zh_CN.UTF-8"; LC_IDENTIFICATION = "zh_CN.UTF-8"; diff --git a/nixos/modules/lix.nix b/nixos/modules/lix.nix index 1cb7fd8..555f1c1 100644 --- a/nixos/modules/lix.nix +++ b/nixos/modules/lix.nix @@ -3,9 +3,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.lix; -in { +in +{ options = { youthlic.lix = { enable = lib.mkEnableOption "lix"; @@ -13,18 +15,19 @@ in { }; config = lib.mkIf cfg.enable { nixpkgs.overlays = [ - (lib.mkBefore (final: _prev: { - inherit - (final.lixPackageSets.latest) - nixpkgs-review - nixpkgs-reviewFull - nurl - nix-update - nix-eval-jobs - nix-fast-build - colmena - ; - })) + (lib.mkBefore ( + final: _prev: { + inherit (final.lixPackageSets.latest) + nixpkgs-review + nixpkgs-reviewFull + nurl + nix-update + nix-eval-jobs + nix-fast-build + colmena + ; + } + )) ]; nix.package = pkgs.lixPackageSets.latest.lix; }; diff --git a/nixos/modules/nix.nix b/nixos/modules/nix.nix index 93f60a7..0bedba1 100644 --- a/nixos/modules/nix.nix +++ b/nixos/modules/nix.nix @@ -4,28 +4,31 @@ outputs, lib, ... -}: { +}: +{ config = { - environment.etc = with lib; + environment.etc = + with lib; pipe inputs [ (mapAttrs' ( name: value: - lib.nameValuePair "nix/inputs/${name}" { - source = value; - } + lib.nameValuePair "nix/inputs/${name}" { + source = value; + } )) ]; nixpkgs = { config = { allowUnfree = true; - allowInsecurePredicate = p: + allowInsecurePredicate = + p: builtins.elem (lib.getName p) [ "electron" "immersive-translate" ]; packageOverrides = p: { - intel-vaapi-driver = p.intel-vaapi-driver.override {enableHybridCodec = true;}; + intel-vaapi-driver = p.intel-vaapi-driver.override { enableHybridCodec = true; }; }; }; }; @@ -33,7 +36,7 @@ mode = "0444"; }; nix = { - nixPath = ["/etc/nix/inputs"]; + nixPath = [ "/etc/nix/inputs" ]; extraOptions = '' !include ${config.sops.secrets."access-tokens".path} ''; @@ -62,7 +65,8 @@ use-xdg-base-directories = true; builders-use-substitutes = true; }; - registry = with lib; + registry = + with lib; pipe inputs [ (filterAttrs (name: _value: name != "nixpkgs")) (mapAttrs ( diff --git a/nixos/modules/programs/asusd.nix b/nixos/modules/programs/asusd.nix index cd8e042..7627478 100644 --- a/nixos/modules/programs/asusd.nix +++ b/nixos/modules/programs/asusd.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.asusd; -in { +in +{ options = { youthlic.programs.asusd = { enable = lib.mkEnableOption "asusd"; diff --git a/nixos/modules/programs/bash.nix b/nixos/modules/programs/bash.nix index b1471f7..5658a5c 100644 --- a/nixos/modules/programs/bash.nix +++ b/nixos/modules/programs/bash.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.bash; -in { +in +{ options = { youthlic.programs.bash = { enable = lib.mkEnableOption "bash"; diff --git a/nixos/modules/programs/caddy/OuterWildsTextAdventure.nix b/nixos/modules/programs/caddy/OuterWildsTextAdventure.nix index 07c265f..d851101 100644 --- a/nixos/modules/programs/caddy/OuterWildsTextAdventure.nix +++ b/nixos/modules/programs/caddy/OuterWildsTextAdventure.nix @@ -3,10 +3,12 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.programs.caddy.outer-wilds-text-adventure; caddy-cfg = config.youthlic.programs.caddy; -in { +in +{ options = { youthlic.programs.caddy.outer-wilds-text-adventure = { enable = lib.mkEnableOption "caddy.OuterWildsTextAdventure"; diff --git a/nixos/modules/programs/caddy/cinny.nix b/nixos/modules/programs/caddy/cinny.nix index a1b9aae..aed3464 100644 --- a/nixos/modules/programs/caddy/cinny.nix +++ b/nixos/modules/programs/caddy/cinny.nix @@ -3,10 +3,12 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.programs.caddy.cinny; caddy-cfg = config.youthlic.programs.caddy; -in { +in +{ options = { youthlic.programs.caddy.cinny = { enable = lib.mkEnableOption "caddy.cinny"; diff --git a/nixos/modules/programs/caddy/default.nix b/nixos/modules/programs/caddy/default.nix index 641cb33..9882ec4 100644 --- a/nixos/modules/programs/caddy/default.nix +++ b/nixos/modules/programs/caddy/default.nix @@ -2,9 +2,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.programs.caddy; -in { +in +{ imports = lib.youthlic.loadImports ./.; options = { youthlic.programs.caddy = { @@ -20,7 +22,7 @@ in { enable = true; }; networking.firewall = { - allowedTCPPorts = [443]; + allowedTCPPorts = [ 443 ]; }; }; } diff --git a/nixos/modules/programs/caddy/garage.nix b/nixos/modules/programs/caddy/garage.nix index cc526fe..b12671d 100644 --- a/nixos/modules/programs/caddy/garage.nix +++ b/nixos/modules/programs/caddy/garage.nix @@ -2,10 +2,12 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.caddy.garage; caddy-cfg = config.youthlic.programs.caddy; -in { +in +{ options = { youthlic.programs.caddy.garage = { enable = lib.mkEnableOption "caddy.garage"; diff --git a/nixos/modules/programs/caddy/radicle-explorer.nix b/nixos/modules/programs/caddy/radicle-explorer.nix index 7220ae6..6a44afa 100644 --- a/nixos/modules/programs/caddy/radicle-explorer.nix +++ b/nixos/modules/programs/caddy/radicle-explorer.nix @@ -3,10 +3,12 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.programs.caddy.radicle-explorer; caddy-cfg = config.youthlic.programs.caddy; -in { +in +{ options = { youthlic.programs.caddy.radicle-explorer = { enable = lib.mkEnableOption "caddy.radicle-explorer"; diff --git a/nixos/modules/programs/clash-verge.nix b/nixos/modules/programs/clash-verge.nix index f15e183..1d9d61b 100644 --- a/nixos/modules/programs/clash-verge.nix +++ b/nixos/modules/programs/clash-verge.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.clash-verge; -in { +in +{ options = { youthlic.programs.clash-verge = { enable = lib.mkEnableOption "clash-verge"; diff --git a/nixos/modules/programs/emacs.nix b/nixos/modules/programs/emacs.nix index 3fc64e8..2a217a2 100644 --- a/nixos/modules/programs/emacs.nix +++ b/nixos/modules/programs/emacs.nix @@ -3,9 +3,11 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.programs.emacs; -in { +in +{ options = { youthlic.programs.emacs = { enable = lib.mkEnableOption "emacs"; @@ -15,14 +17,14 @@ in { services.emacs = { enable = true; install = true; - package = with pkgs; + package = + with pkgs; (emacsPackagesFor emacs-pgtk).emacsWithPackages ( - p: - with p; [ - vterm - evil - gruvbox-theme - ] + p: with p; [ + vterm + evil + gruvbox-theme + ] ); }; }; diff --git a/nixos/modules/programs/forgejo.nix b/nixos/modules/programs/forgejo.nix index eada1c5..90a6aa6 100644 --- a/nixos/modules/programs/forgejo.nix +++ b/nixos/modules/programs/forgejo.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.forgejo; -in { +in +{ options = { youthlic.programs.forgejo = { enable = lib.mkEnableOption "forgejo"; @@ -91,15 +93,15 @@ in { let caddy-cfg = config.youthlic.programs.caddy; in - lib.mkIf (cfg.enable && caddy-cfg.enable) { - services.caddy.virtualHosts = { - "forgejo.${caddy-cfg.baseDomain}" = { - extraConfig = '' - reverse_proxy 127.0.0.1:${cfg.httpPort} - ''; - }; + lib.mkIf (cfg.enable && caddy-cfg.enable) { + services.caddy.virtualHosts = { + "forgejo.${caddy-cfg.baseDomain}" = { + extraConfig = '' + reverse_proxy 127.0.0.1:${cfg.httpPort} + ''; }; - } + }; + } ) ]; } diff --git a/nixos/modules/programs/garage.nix b/nixos/modules/programs/garage.nix index 6055408..55ad419 100644 --- a/nixos/modules/programs/garage.nix +++ b/nixos/modules/programs/garage.nix @@ -3,9 +3,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.programs.garage; -in { +in +{ options = { youthlic.programs.garage = { enable = lib.mkEnableOption "garage"; diff --git a/nixos/modules/programs/guix.nix b/nixos/modules/programs/guix.nix index 987505d..e20572b 100644 --- a/nixos/modules/programs/guix.nix +++ b/nixos/modules/programs/guix.nix @@ -3,9 +3,11 @@ config, options, ... -}: let +}: +let cfg = config.youthlic.programs.guix; -in { +in +{ options = { youthlic.programs.guix = { enable = lib.mkEnableOption "guix"; @@ -18,11 +20,10 @@ in { enable = true; dates = "weekly"; }; - substituters.urls = - [ - "https://mirror.sjtu.edu.cn/guix/" - ] - ++ options.services.guix.substituters.urls.default; + substituters.urls = [ + "https://mirror.sjtu.edu.cn/guix/" + ] + ++ options.services.guix.substituters.urls.default; }; }; } diff --git a/nixos/modules/programs/juicity/default.nix b/nixos/modules/programs/juicity/default.nix index eac4b24..f47bbba 100644 --- a/nixos/modules/programs/juicity/default.nix +++ b/nixos/modules/programs/juicity/default.nix @@ -3,9 +3,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.programs.juicity; -in { +in +{ imports = lib.youthlic.loadImports ./.; options = { youthlic.programs.juicity = { @@ -19,12 +21,12 @@ in { }; config = lib.mkMerge [ (lib.mkIf cfg.client.enable { - users.groups.juicity.members = ["root"]; + users.groups.juicity.members = [ "root" ]; sops = { secrets = { - "juicity/serverIp" = {}; - "juicity/sni" = {}; - "juicity/certchainSha256" = {}; + "juicity/serverIp" = { }; + "juicity/sni" = { }; + "juicity/certchainSha256" = { }; }; templates."juicity-client-config.json" = { group = "juicity"; @@ -54,7 +56,7 @@ in { }; }) (lib.mkIf cfg.server.enable { - users.groups.juicity.members = ["root"]; + users.groups.juicity.members = [ "root" ]; sops = { secrets = { "juicity/certificate" = { @@ -94,8 +96,8 @@ in { }) (lib.mkIf (cfg.server.enable || cfg.client.enable) { sops.secrets = { - "juicity/uuid" = {}; - "juicity/password" = {}; + "juicity/uuid" = { }; + "juicity/password" = { }; }; }) ]; diff --git a/nixos/modules/programs/juicity/template.nix b/nixos/modules/programs/juicity/template.nix index 7117358..00659a3 100644 --- a/nixos/modules/programs/juicity/template.nix +++ b/nixos/modules/programs/juicity/template.nix @@ -3,23 +3,27 @@ lib, pkgs, ... -}: let +}: +let cfg = config.services.juicity; - settingsFormat = pkgs.formats.json {}; + settingsFormat = pkgs.formats.json { }; clientConfigFile = - if (cfg.client.configFile != null) - then cfg.client.configFile - else settingsFormat cfg.client.settings; + if (cfg.client.configFile != null) then + cfg.client.configFile + else + settingsFormat cfg.client.settings; serverConfigFile = - if (cfg.server.configFile != null) - then cfg.server.configFile - else settingsFormat cfg.server.settings; -in { + if (cfg.server.configFile != null) then + cfg.server.configFile + else + settingsFormat cfg.server.settings; +in +{ options = { services.juicity = { client = { enable = lib.mkEnableOption "juicity-client"; - package = lib.mkPackageOption pkgs "juicity" {}; + package = lib.mkPackageOption pkgs "juicity" { }; group = lib.mkOption { type = lib.types.nullOr lib.types.str; example = "juicity"; @@ -27,7 +31,7 @@ in { }; settings = lib.mkOption { type = settingsFormat.type; - default = {}; + default = { }; example = { listen = ":1000"; server = "112.32.62.11:23182"; @@ -55,7 +59,7 @@ in { }; allowedOpenFirewallPorts = lib.mkOption { type = lib.types.nullOr (lib.types.listOf lib.types.port); - example = [23182]; + example = [ 23182 ]; default = null; description = '' the ports should be open @@ -64,7 +68,7 @@ in { }; server = { enable = lib.mkEnableOption "juicity-server"; - package = lib.mkPackageOption pkgs "juicity" {}; + package = lib.mkPackageOption pkgs "juicity" { }; group = lib.mkOption { type = lib.types.nullOr lib.types.str; example = "juicity"; @@ -72,7 +76,7 @@ in { }; settings = lib.mkOption { type = settingsFormat.type; - default = {}; + default = { }; description = '' Juicity server configuration, for configuration options see example of [server](https://github.com/juicity/juicity/blob/main/install/example-server.json) on github. @@ -100,7 +104,7 @@ in { }; allowedOpenFirewallPorts = lib.mkOption { type = lib.types.nullOr (lib.types.listOf lib.types.port); - example = [23182]; + example = [ 23182 ]; default = null; description = '' the ports should be open diff --git a/nixos/modules/programs/kanata/default.nix b/nixos/modules/programs/kanata/default.nix index 276988c..ca8d5de 100644 --- a/nixos/modules/programs/kanata/default.nix +++ b/nixos/modules/programs/kanata/default.nix @@ -3,16 +3,18 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.programs.kanata; -in { +in +{ options = { youthlic.programs.kanata = { enable = lib.mkEnableOption "kanata"; }; }; config = lib.mkIf cfg.enable { - boot.kernelModules = ["uinput"]; + boot.kernelModules = [ "uinput" ]; hardware.uinput.enable = true; services.kanata = { enable = true; diff --git a/nixos/modules/programs/kdeconnect.nix b/nixos/modules/programs/kdeconnect.nix index 44e4acd..89e730e 100644 --- a/nixos/modules/programs/kdeconnect.nix +++ b/nixos/modules/programs/kdeconnect.nix @@ -2,9 +2,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.programs.kdeconnect; -in { +in +{ options = { youthlic.programs.kdeconnect = { enable = lib.mkEnableOption "kdeconnect"; diff --git a/nixos/modules/programs/matrix-tuwunel.nix b/nixos/modules/programs/matrix-tuwunel.nix index 02925df..46d11a2 100644 --- a/nixos/modules/programs/matrix-tuwunel.nix +++ b/nixos/modules/programs/matrix-tuwunel.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.matrix-tuwunel; -in { +in +{ options = { youthlic.programs.matrix-tuwunel = { enable = lib.mkEnableOption "tuwunel"; @@ -26,7 +28,7 @@ in { enable = true; settings = { global = { - port = [8481]; + port = [ 8481 ]; address = [ "0.0.0.0" "::" diff --git a/nixos/modules/programs/mautrix-telegram.nix b/nixos/modules/programs/mautrix-telegram.nix index a085368..683bde6 100644 --- a/nixos/modules/programs/mautrix-telegram.nix +++ b/nixos/modules/programs/mautrix-telegram.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.mautrix-telegram; -in { +in +{ options = { youthlic.programs.mautrix-telegram = { enable = lib.mkEnableOption "mautrix-telegram"; @@ -19,11 +21,11 @@ in { ''; } ]; - sops.secrets.matrix-telegram-bot = {}; + sops.secrets.matrix-telegram-bot = { }; services.mautrix-telegram = { enable = true; environmentFile = "${config.sops.secrets.matrix-telegram-bot.path}"; - serviceDependencies = ["tuwunel.service"]; + serviceDependencies = [ "tuwunel.service" ]; settings = { bridge = { displayname_template = "{displayname} | Telegram"; diff --git a/nixos/modules/programs/miniflux.nix b/nixos/modules/programs/miniflux.nix index 4bf3660..ee3c248 100644 --- a/nixos/modules/programs/miniflux.nix +++ b/nixos/modules/programs/miniflux.nix @@ -2,9 +2,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.programs.miniflux; -in { +in +{ options = { youthlic.programs.miniflux = { enable = lib.mkEnableOption "miniflux"; diff --git a/nixos/modules/programs/minio.nix b/nixos/modules/programs/minio.nix index 5cf0e5c..38cce62 100644 --- a/nixos/modules/programs/minio.nix +++ b/nixos/modules/programs/minio.nix @@ -2,9 +2,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.programs.minio; -in { +in +{ options = { youthlic.programs.minio = { enable = lib.mkEnableOption "minio"; diff --git a/nixos/modules/programs/miniserve/cinny.nix b/nixos/modules/programs/miniserve/cinny.nix index 8505e09..558b97c 100644 --- a/nixos/modules/programs/miniserve/cinny.nix +++ b/nixos/modules/programs/miniserve/cinny.nix @@ -2,8 +2,10 @@ pkgs, lib, ... -}: { - config.youthlic.programs.miniserve.templates.cinny = {port, ...} @ args: +}: +{ + config.youthlic.programs.miniserve.templates.cinny = + { port, ... }@args: { inherit port; directory = args.cinny or (toString pkgs.cinny); diff --git a/nixos/modules/programs/miniserve/default.nix b/nixos/modules/programs/miniserve/default.nix index 2166627..75089dd 100644 --- a/nixos/modules/programs/miniserve/default.nix +++ b/nixos/modules/programs/miniserve/default.nix @@ -3,9 +3,11 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.programs.miniserve; -in { +in +{ imports = lib.youthlic.loadImports ./.; options = { youthlic.programs.miniserve = { @@ -16,69 +18,71 @@ in { }; templates = lib.mkOption { type = lib.types.attrsOf lib.types.anything; - default = {}; + default = { }; }; apps = lib.mkOption { - type = lib.types.attrsOf (lib.types.submodule ({...}: { - options = { - port = lib.mkOption { - type = lib.types.port; - }; - interface = lib.mkOption { - type = lib.types.str; - default = "127.0.0.1"; - }; - isSpa = lib.mkEnableOption "is spa"; - directory = lib.mkOption { - type = lib.types.either lib.types.package lib.types.path; - }; - defaultIndex = lib.mkOption { - type = lib.types.str; - default = "index.html"; - }; - }; - })); - default = {}; + type = lib.types.attrsOf ( + lib.types.submodule ( + { ... }: { + options = { + port = lib.mkOption { + type = lib.types.port; + }; + interface = lib.mkOption { + type = lib.types.str; + default = "127.0.0.1"; + }; + isSpa = lib.mkEnableOption "is spa"; + directory = lib.mkOption { + type = lib.types.either lib.types.package lib.types.path; + }; + defaultIndex = lib.mkOption { + type = lib.types.str; + default = "index.html"; + }; + }; + } + ) + ); + default = { }; }; }; }; - config = lib.mkIf (cfg.enable && (cfg.apps != {})) { - systemd.services = - lib.concatMapAttrs (name: value: { - "miniserve-${name}" = { - description = '' - miniserve for ${name} + config = lib.mkIf (cfg.enable && (cfg.apps != { })) { + systemd.services = lib.concatMapAttrs (name: value: { + "miniserve-${name}" = { + description = '' + miniserve for ${name} + ''; + after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = '' + ${lib.getExe cfg.package} ${lib.optionalString value.isSpa "--spa"} --index ${value.directory}/${value.defaultIndex} --port ${toString value.port} --interfaces ${value.interface} ${value.directory} ''; - after = ["network-online.target"]; - wants = ["network-online.target"]; - wantedBy = ["multi-user.target"]; - serviceConfig = { - ExecStart = '' - ${lib.getExe cfg.package} ${lib.optionalString value.isSpa "--spa"} --index ${value.directory}/${value.defaultIndex} --port ${toString value.port} --interfaces ${value.interface} ${value.directory} - ''; - IPAccounting = "yes"; - IPAddressAllow = value.interface; - IPAddressDeny = "any"; - DynamicUser = "yes"; - PrivateTmp = "yes"; - PrivateUsers = "yes"; - PrivateDevices = "yes"; - NoNewPrivileges = true; - ProtectSystem = "strict"; - ProtectHome = "yes"; - ProtectClock = "yes"; - ProtectControlGroups = "yes"; - ProtectKernelLogs = "yes"; - ProtectKernelModules = "yes"; - ProtectKernelTunables = "yes"; - ProtectProc = "invisible"; - CapabilityBoundingSet = [ - "CAP_NET_BIND_SERVICE" - "CAP_DAC_READ_SEARCH" - ]; - }; + IPAccounting = "yes"; + IPAddressAllow = value.interface; + IPAddressDeny = "any"; + DynamicUser = "yes"; + PrivateTmp = "yes"; + PrivateUsers = "yes"; + PrivateDevices = "yes"; + NoNewPrivileges = true; + ProtectSystem = "strict"; + ProtectHome = "yes"; + ProtectClock = "yes"; + ProtectControlGroups = "yes"; + ProtectKernelLogs = "yes"; + ProtectKernelModules = "yes"; + ProtectKernelTunables = "yes"; + ProtectProc = "invisible"; + CapabilityBoundingSet = [ + "CAP_NET_BIND_SERVICE" + "CAP_DAC_READ_SEARCH" + ]; }; - }) - cfg.apps; + }; + }) cfg.apps; }; } diff --git a/nixos/modules/programs/nh.nix b/nixos/modules/programs/nh.nix index ce07c10..28fa673 100644 --- a/nixos/modules/programs/nh.nix +++ b/nixos/modules/programs/nh.nix @@ -1,4 +1,4 @@ -{...}: { +{ ... }: { config = { programs.nh = { enable = true; diff --git a/nixos/modules/programs/nix-ld.nix b/nixos/modules/programs/nix-ld.nix index a079ae2..733d5b6 100644 --- a/nixos/modules/programs/nix-ld.nix +++ b/nixos/modules/programs/nix-ld.nix @@ -3,9 +3,11 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.programs.nix-ld; -in { +in +{ options = { youthlic.programs.nix-ld = { enable = lib.mkEnableOption "nix-ld"; diff --git a/nixos/modules/programs/obs.nix b/nixos/modules/programs/obs.nix index 6567780..d6b0cee 100644 --- a/nixos/modules/programs/obs.nix +++ b/nixos/modules/programs/obs.nix @@ -3,9 +3,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.programs.obs; -in { +in +{ options = { youthlic.programs.obs = { enable = lib.mkEnableOption "obs"; diff --git a/nixos/modules/programs/open-webui.nix b/nixos/modules/programs/open-webui.nix index 1770e5f..f4e2374 100644 --- a/nixos/modules/programs/open-webui.nix +++ b/nixos/modules/programs/open-webui.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.open-webui; -in { +in +{ options = { youthlic.programs.open-webui = { enable = lib.mkEnableOption "open-webui"; @@ -25,15 +27,15 @@ in { let caddy-cfg = config.youthlic.programs.caddy; in - lib.mkIf (cfg.enable && caddy-cfg.enable) { - services.caddy.virtualHosts = { - "open-webui.${caddy-cfg.baseDomain}" = { - extraConfig = '' - reverse_proxy 127.0.0.1:8083 - ''; - }; + lib.mkIf (cfg.enable && caddy-cfg.enable) { + services.caddy.virtualHosts = { + "open-webui.${caddy-cfg.baseDomain}" = { + extraConfig = '' + reverse_proxy 127.0.0.1:8083 + ''; }; - } + }; + } ) ]; } diff --git a/nixos/modules/programs/openssh.nix b/nixos/modules/programs/openssh.nix index eaa0b1c..75f400b 100644 --- a/nixos/modules/programs/openssh.nix +++ b/nixos/modules/programs/openssh.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.openssh; -in { +in +{ options = { youthlic.programs.openssh = { enable = lib.mkEnableOption "openssh"; @@ -44,7 +46,7 @@ in { "diffie-hellman-group-exchange-sha256" ]; }; - ports = [3022]; + ports = [ 3022 ]; }; }; } diff --git a/nixos/modules/programs/owncast.nix b/nixos/modules/programs/owncast.nix index d60eeb8..4eb05bc 100644 --- a/nixos/modules/programs/owncast.nix +++ b/nixos/modules/programs/owncast.nix @@ -2,9 +2,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.programs.owncast; -in { +in +{ options = { youthlic.programs.owncast = { enable = lib.mkEnableOption "owncast"; diff --git a/nixos/modules/programs/postgresql.nix b/nixos/modules/programs/postgresql.nix index ba075eb..2d66235 100644 --- a/nixos/modules/programs/postgresql.nix +++ b/nixos/modules/programs/postgresql.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.postgresql; -in { +in +{ options = { youthlic.programs.postgresql = { enable = lib.mkEnableOption "postgresql"; @@ -27,7 +29,7 @@ in { # default socket: /var/lib/postgresql services.postgresql = { enable = true; - ensureDatabases = [cfg.database]; + ensureDatabases = [ cfg.database ]; ensureUsers = [ { name = "${cfg.database}"; diff --git a/nixos/modules/programs/radicle.nix b/nixos/modules/programs/radicle.nix index f659b2d..2d6c57d 100644 --- a/nixos/modules/programs/radicle.nix +++ b/nixos/modules/programs/radicle.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.radicle; -in { +in +{ options = { youthlic.programs.radicle = { enable = lib.mkEnableOption "radicle"; @@ -52,7 +54,7 @@ in { filters = [ { And = [ - {HasFile = ".radicle/native.yaml";} + { HasFile = ".radicle/native.yaml"; } { Or = [ "DefaultBranch" @@ -94,11 +96,11 @@ in { }; node = { alias = cfg.domain; - listen = []; + listen = [ ]; peers = { type = "dynamic"; }; - connect = []; + connect = [ ]; externalAddresses = [ "${cfg.domain}:8776" ]; diff --git a/nixos/modules/programs/rqbit.nix b/nixos/modules/programs/rqbit.nix index 6076882..69cb2df 100644 --- a/nixos/modules/programs/rqbit.nix +++ b/nixos/modules/programs/rqbit.nix @@ -4,9 +4,11 @@ config, options, ... -}: let +}: +let cfg = config.youthlic.programs.rqbit; -in { +in +{ options = { youthlic.programs.rqbit = { enable = lib.mkEnableOption "rqbit"; @@ -29,29 +31,28 @@ in { openFirewall = true; httpPort = 9092; }; - users.groups.rqbit.members = [cfg.unixName]; - sops.secrets."rqbit.secrets.env" = {}; + users.groups.rqbit.members = [ cfg.unixName ]; + sops.secrets."rqbit.secrets.env" = { }; systemd.services."rqbit" = { serviceConfig = { EnvironmentFile = [ - (toString - ( - pkgs.writeText - "rqbit-env.env" - ( # env - # '' - # RQBIT_TRACKERS_FILENAME=${pkgs.trackerslist}/trackers_all.txt - # '' + (toString ( + pkgs.writeText "rqbit-env.env" ( + # env + # '' + # RQBIT_TRACKERS_FILENAME=${pkgs.trackerslist}/trackers_all.txt + # '' + '' + RQBIT_TRACKERS_FILENAME=${pkgs.TrackersListCollection}/all.txt + '' + + (lib.optionalString (cfg.ratelimitUpload != 0) + # env '' - RQBIT_TRACKERS_FILENAME=${pkgs.TrackersListCollection}/all.txt + RQBIT_RATELIMIT_UPLOAD=${toString (cfg.ratelimitUpload * 1024 * 1024)} '' - + (lib.optionalString (cfg.ratelimitUpload != 0) - # env - '' - RQBIT_RATELIMIT_UPLOAD=${toString (cfg.ratelimitUpload * 1024 * 1024)} - '') ) - )) + ) + )) config.sops.secrets."rqbit.secrets.env".path ]; }; diff --git a/nixos/modules/programs/rustypaste/default.nix b/nixos/modules/programs/rustypaste/default.nix index 3165cfc..b0ab914 100644 --- a/nixos/modules/programs/rustypaste/default.nix +++ b/nixos/modules/programs/rustypaste/default.nix @@ -2,9 +2,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.programs.rustypaste; -in { +in +{ imports = lib.youthlic.loadImports ./.; options = { diff --git a/nixos/modules/programs/rustypaste/template.nix b/nixos/modules/programs/rustypaste/template.nix index 475bf58..2cf4d9b 100644 --- a/nixos/modules/programs/rustypaste/template.nix +++ b/nixos/modules/programs/rustypaste/template.nix @@ -3,18 +3,20 @@ lib, config, ... -}: let +}: +let cfg = config.services.rustypaste; - settingsFormat = pkgs.formats.toml {}; + settingsFormat = pkgs.formats.toml { }; configFile = settingsFormat.generate "rustypaste-config.toml" cfg.settings; -in { +in +{ options = { services.rustypaste = { enable = lib.mkEnableOption "rustypaste"; - package = lib.mkPackageOption pkgs "rustypaste" {}; + package = lib.mkPackageOption pkgs "rustypaste" { }; settings = lib.mkOption { type = settingsFormat.type; - default = {}; + default = { }; description = '' Rustypaste configuration ''; @@ -61,7 +63,7 @@ in { isSystemUser = true; }; groups = lib.optionalAttrs (cfg.group == "rustypaste") { - rustypaste = {}; + rustypaste = { }; }; }; systemd.services.rustypaste = { @@ -86,8 +88,8 @@ in { Type = "simple"; Restart = "on-failure"; Home = "/var/lib/rustypaste"; - ReadWritePaths = ["/var/lib/rustypaste"]; - StateDirectory = ["rustypaste"]; + ReadWritePaths = [ "/var/lib/rustypaste" ]; + StateDirectory = [ "rustypaste" ]; ExecStart = '' ${lib.getExe cfg.package} ''; diff --git a/nixos/modules/programs/steam.nix b/nixos/modules/programs/steam.nix index 65ac04a..930f8dd 100644 --- a/nixos/modules/programs/steam.nix +++ b/nixos/modules/programs/steam.nix @@ -3,9 +3,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.programs.steam; -in { +in +{ options = { youthlic.programs.steam = { enable = lib.mkEnableOption "steam"; diff --git a/nixos/modules/programs/sunshine.nix b/nixos/modules/programs/sunshine.nix index 76614f6..da3595e 100644 --- a/nixos/modules/programs/sunshine.nix +++ b/nixos/modules/programs/sunshine.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.sunshine; -in { +in +{ options = { youthlic.programs.sunshine = { enable = lib.mkEnableOption "sunsine"; diff --git a/nixos/modules/programs/supergfxd.nix b/nixos/modules/programs/supergfxd.nix index 18318ea..0e69481 100644 --- a/nixos/modules/programs/supergfxd.nix +++ b/nixos/modules/programs/supergfxd.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.supergfxd; -in { +in +{ options = { youthlic.programs.supergfxd = { enable = lib.mkEnableOption "supergfxd"; diff --git a/nixos/modules/programs/tailscale.nix b/nixos/modules/programs/tailscale.nix index 1055e9c..998eb3f 100644 --- a/nixos/modules/programs/tailscale.nix +++ b/nixos/modules/programs/tailscale.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.tailscale; -in { +in +{ options = { youthlic.programs.tailscale = { enable = lib.mkEnableOption "tailscale"; diff --git a/nixos/modules/programs/transfer-sh.nix b/nixos/modules/programs/transfer-sh.nix index 468054e..4fff974 100644 --- a/nixos/modules/programs/transfer-sh.nix +++ b/nixos/modules/programs/transfer-sh.nix @@ -2,9 +2,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.programs.transfer-sh; -in { +in +{ options = { youthlic.programs.transfer-sh = { enable = lib.mkEnableOption "transfer.sh"; diff --git a/nixos/modules/programs/transmission.nix b/nixos/modules/programs/transmission.nix index da26718..d4a89cb 100644 --- a/nixos/modules/programs/transmission.nix +++ b/nixos/modules/programs/transmission.nix @@ -4,9 +4,11 @@ lib, rootPath, ... -}: let +}: +let cfg = config.youthlic.programs.transmission; -in { +in +{ options = { youthlic.programs.transmission = { enable = lib.mkEnableOption "transmission"; @@ -40,21 +42,21 @@ in { let caddy-cfg = config.youthlic.programs.caddy; in - lib.mkIf (cfg.enable && caddy-cfg.enable) { - services.transmission = { - openRPCPort = lib.mkForce false; - settings = { - rpc-bind-address = lib.mkForce "127.0.0.1"; - }; + lib.mkIf (cfg.enable && caddy-cfg.enable) { + services.transmission = { + openRPCPort = lib.mkForce false; + settings = { + rpc-bind-address = lib.mkForce "127.0.0.1"; }; - services.caddy.virtualHosts = { - "transmission.${caddy-cfg.baseDomain}" = { - extraConfig = '' - reverse_proxy 127.0.0.1:9091 - ''; - }; + }; + services.caddy.virtualHosts = { + "transmission.${caddy-cfg.baseDomain}" = { + extraConfig = '' + reverse_proxy 127.0.0.1:9091 + ''; }; - } + }; + } ) ]; } diff --git a/nixos/modules/programs/wshowkeys.nix b/nixos/modules/programs/wshowkeys.nix index 825aabb..a9755e6 100644 --- a/nixos/modules/programs/wshowkeys.nix +++ b/nixos/modules/programs/wshowkeys.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.wshowkeys; -in { +in +{ options = { youthlic.programs.wshowkeys = { enable = lib.mkEnableOption "wshowkeys"; diff --git a/nixos/modules/sops.nix b/nixos/modules/sops.nix index 6ec8e0b..d8f6fa0 100644 --- a/nixos/modules/sops.nix +++ b/nixos/modules/sops.nix @@ -1,9 +1,9 @@ -{rootPath, ...}: { +{ rootPath, ... }: { config = { sops.defaultSopsFile = rootPath + "/secrets/general.yaml"; sops.age = { keyFile = "/var/sops/key.txt"; - sshKeyPaths = []; + sshKeyPaths = [ ]; generateKey = false; }; }; diff --git a/nixos/modules/top-level/default.nix b/nixos/modules/top-level/default.nix index 1347e23..dd4e931 100644 --- a/nixos/modules/top-level/default.nix +++ b/nixos/modules/top-level/default.nix @@ -3,7 +3,8 @@ inputs, outputs, ... -}: { +}: +{ imports = with inputs; [ home-manager.nixosModules.home-manager sops-nix.nixosModules.sops diff --git a/nixos/modules/top-level/gui.nix b/nixos/modules/top-level/gui.nix index f3d5475..e7204da 100644 --- a/nixos/modules/top-level/gui.nix +++ b/nixos/modules/top-level/gui.nix @@ -1,9 +1,8 @@ -{inputs, ...}: { - imports = - [ - ./. - ] - ++ (with inputs; [ - niri-flake.nixosModules.niri - ]); +{ inputs, ... }: { + imports = [ + ./. + ] + ++ (with inputs; [ + niri-flake.nixosModules.niri + ]); } diff --git a/nixos/modules/virtualisation/kvm.nix b/nixos/modules/virtualisation/kvm.nix index 767cb87..9b4b18b 100644 --- a/nixos/modules/virtualisation/kvm.nix +++ b/nixos/modules/virtualisation/kvm.nix @@ -3,9 +3,11 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.virtualisation.kvm; -in { +in +{ options = { youthlic.virtualisation.kvm = { enable = lib.mkEnableOption "kvm"; @@ -22,15 +24,15 @@ in { programs.virt-manager = { enable = true; }; - users.groups.libvirtd.members = [cfg.unixName]; - users.groups.kvm.members = [cfg.unixName]; + users.groups.libvirtd.members = [ cfg.unixName ]; + users.groups.kvm.members = [ cfg.unixName ]; virtualisation = { libvirtd = { enable = true; qemu = { runAsRoot = true; swtpm.enable = true; - vhostUserPackages = with pkgs; [virtiofsd]; + vhostUserPackages = with pkgs; [ virtiofsd ]; }; }; spiceUSBRedirection = { diff --git a/nixos/modules/virtualisation/virtualbox.nix b/nixos/modules/virtualisation/virtualbox.nix index 25b6b54..bc681a1 100644 --- a/nixos/modules/virtualisation/virtualbox.nix +++ b/nixos/modules/virtualisation/virtualbox.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.virtualisation.virtualbox; -in { +in +{ options = { youthlic.virtualisation.virtualbox = { enable = lib.mkEnableOption "virtualbox"; @@ -14,7 +16,7 @@ in { }; }; config = lib.mkIf cfg.enable { - users.groups."vboxusers".members = [cfg.unixName]; + users.groups."vboxusers".members = [ cfg.unixName ]; virtualisation.virtualbox = { host = { enableKvm = true; diff --git a/nixos/modules/virtualisation/waydroid.nix b/nixos/modules/virtualisation/waydroid.nix index 263fb5f..775f05b 100644 --- a/nixos/modules/virtualisation/waydroid.nix +++ b/nixos/modules/virtualisation/waydroid.nix @@ -3,9 +3,11 @@ config, pkgs, ... -}: let +}: +let cfg = config.youthlic.virtualisation.waydroid; -in { +in +{ options = { youthlic.virtualisation.waydroid = { enable = lib.mkEnableOption "waydroid"; @@ -15,6 +17,6 @@ in { virtualisation.waydroid = { enable = true; }; - environment.systemPackages = [pkgs.nur.repos.ataraxiasjel.waydroid-script]; + environment.systemPackages = [ pkgs.nur.repos.ataraxiasjel.waydroid-script ]; }; } diff --git a/overlays/additions/OuterWildsTextAdventure.nix b/overlays/additions/OuterWildsTextAdventure.nix index b8a687f..6f8b384 100644 --- a/overlays/additions/OuterWildsTextAdventure.nix +++ b/overlays/additions/OuterWildsTextAdventure.nix @@ -1,5 +1,8 @@ -{outputs, ...}: _final: prev: let +{ outputs, ... }: +_final: prev: +let inherit (prev.stdenv.hostPlatform) system; -in { +in +{ inherit (outputs.packages.${system}) OuterWildsTextAdventure; } diff --git a/overlays/additions/TrackersListCollection.nix b/overlays/additions/TrackersListCollection.nix index 17da85c..658e47e 100644 --- a/overlays/additions/TrackersListCollection.nix +++ b/overlays/additions/TrackersListCollection.nix @@ -1,5 +1,8 @@ -{outputs, ...}: _final: prev: let +{ outputs, ... }: +_final: prev: +let inherit (prev.stdenv.hostPlatform) system; -in { +in +{ inherit (outputs.packages."${system}") TrackersListCollection; } diff --git a/overlays/additions/default.nix b/overlays/additions/default.nix index 5802421..315fbe8 100644 --- a/overlays/additions/default.nix +++ b/overlays/additions/default.nix @@ -1,20 +1,22 @@ -{...} @ args: final: prev: let +{ ... }@args: +final: prev: +let inherit (prev) lib; in - with lib; - pipe - [ - ./TrackersListCollection.nix - ./OuterWildsTextAdventure.nix - ./editor-runtime.nix - ./wallpapers.nix - ./rime-all.nix - ./iosevka-serif_fixed.nix +with lib; +pipe + [ + ./TrackersListCollection.nix + ./OuterWildsTextAdventure.nix + ./editor-runtime.nix + ./wallpapers.nix + ./rime-all.nix + ./iosevka-serif_fixed.nix - ./pkgsNoCuda.nix - ./linux-cachyos.nix - ] - [ - (map (file: import file args)) - (overlays: (composeManyExtensions overlays) final prev) - ] + ./pkgsNoCuda.nix + ./linux-cachyos.nix + ] + [ + (map (file: import file args)) + (overlays: (composeManyExtensions overlays) final prev) + ] diff --git a/overlays/additions/editor-runtime.nix b/overlays/additions/editor-runtime.nix index bfba19f..fc24fbd 100644 --- a/overlays/additions/editor-runtime.nix +++ b/overlays/additions/editor-runtime.nix @@ -1,5 +1,8 @@ -{outputs, ...}: _final: prev: let +{ outputs, ... }: +_final: prev: +let inherit (prev.stdenv.hostPlatform) system; -in { +in +{ inherit (outputs.packages.${system}) editor-runtime; } diff --git a/overlays/additions/iosevka-serif_fixed.nix b/overlays/additions/iosevka-serif_fixed.nix index 1da665e..eaa666d 100644 --- a/overlays/additions/iosevka-serif_fixed.nix +++ b/overlays/additions/iosevka-serif_fixed.nix @@ -1,4 +1,4 @@ -{...}: final: _prev: { +{ ... }: final: _prev: { iosevka-serif_fixed = final.iosevka.override { set = "SerifFixed"; privateBuildPlan = diff --git a/overlays/additions/linux-cachyos.nix b/overlays/additions/linux-cachyos.nix index 16f0c72..0c4d2d2 100644 --- a/overlays/additions/linux-cachyos.nix +++ b/overlays/additions/linux-cachyos.nix @@ -1 +1 @@ -{inputs, ...}: inputs.nix-cachyos-kernel.overlays.pinned +{ inputs, ... }: inputs.nix-cachyos-kernel.overlays.pinned diff --git a/overlays/additions/pkgsNoCuda.nix b/overlays/additions/pkgsNoCuda.nix index 58748b8..c14c3eb 100644 --- a/overlays/additions/pkgsNoCuda.nix +++ b/overlays/additions/pkgsNoCuda.nix @@ -1,5 +1,8 @@ -{inputs, ...}: _final: prev: let +{ inputs, ... }: +_final: prev: +let inherit (prev.stdenv.hostPlatform) system; -in { +in +{ pkgsNoCuda = inputs.nixpkgs.legacyPackages.${system}; } diff --git a/overlays/additions/rime-all.nix b/overlays/additions/rime-all.nix index 7770ef7..23675dc 100644 --- a/overlays/additions/rime-all.nix +++ b/overlays/additions/rime-all.nix @@ -1,5 +1,8 @@ -{outputs, ...}: _final: prev: let +{ outputs, ... }: +_final: prev: +let inherit (prev.stdenv.hostPlatform) system; -in { +in +{ inherit (outputs.packages.${system}) rime-all; } diff --git a/overlays/additions/wallpapers.nix b/overlays/additions/wallpapers.nix index c51f52d..b9f3568 100644 --- a/overlays/additions/wallpapers.nix +++ b/overlays/additions/wallpapers.nix @@ -1,5 +1,8 @@ -{outputs, ...}: _final: prev: let +{ outputs, ... }: +_final: prev: +let inherit (prev.stdenv.hostPlatform) system; -in { +in +{ inherit (outputs.packages.${system}) wallpapers; } diff --git a/overlays/modifications/QQ.nix b/overlays/modifications/QQ.nix index 16d5d7b..63b21bb 100644 --- a/overlays/modifications/QQ.nix +++ b/overlays/modifications/QQ.nix @@ -1,5 +1,8 @@ -{outputs, ...}: _final: prev: let +{ outputs, ... }: +_final: prev: +let inherit (prev.stdenv.hostPlatform) system; -in { +in +{ qq = outputs.packages."${system}".QQ; } diff --git a/overlays/modifications/default.nix b/overlays/modifications/default.nix index d809e15..a02fb82 100644 --- a/overlays/modifications/default.nix +++ b/overlays/modifications/default.nix @@ -1,23 +1,25 @@ -{...} @ args: final: prev: let +{ ... }@args: +final: prev: +let inherit (prev) lib; in - with lib; - pipe - [ - ./niri.nix - ./radicle-explorer.nix - ./wshowkeys.nix - # ./QQ.nix - ./helix.nix - ./zulip.nix - ./nautilus.nix - ./vim.nix - ./prismlauncher.nix +with lib; +pipe + [ + ./niri.nix + ./radicle-explorer.nix + ./wshowkeys.nix + # ./QQ.nix + ./helix.nix + ./zulip.nix + ./nautilus.nix + ./vim.nix + ./prismlauncher.nix - # Nur - ./nur.nix - ] - [ - (map (file: import file args)) - (overlays: (composeManyExtensions overlays) final prev) - ] + # Nur + ./nur.nix + ] + [ + (map (file: import file args)) + (overlays: (composeManyExtensions overlays) final prev) + ] diff --git a/overlays/modifications/helix.nix b/overlays/modifications/helix.nix index a759145..e5a4e7f 100644 --- a/overlays/modifications/helix.nix +++ b/overlays/modifications/helix.nix @@ -1,5 +1,8 @@ -{outputs, ...}: _final: prev: let +{ outputs, ... }: +_final: prev: +let inherit (prev.stdenv.hostPlatform) system; -in { +in +{ helix = outputs.packages."${system}".helix; } diff --git a/overlays/modifications/nautilus.nix b/overlays/modifications/nautilus.nix index 2edd045..02680a3 100644 --- a/overlays/modifications/nautilus.nix +++ b/overlays/modifications/nautilus.nix @@ -1,7 +1,7 @@ -{...}: _final: prev: { +{ ... }: _final: prev: { nautilus = prev.nautilus.overrideAttrs (nprev: { buildInputs = - (nprev.buildInputs or []) + (nprev.buildInputs or [ ]) ++ (with prev.gst_all_1; [ gst-plugins-good gst-plugins-bad diff --git a/overlays/modifications/niri.nix b/overlays/modifications/niri.nix index 200914b..5ba2cf6 100644 --- a/overlays/modifications/niri.nix +++ b/overlays/modifications/niri.nix @@ -1 +1 @@ -{inputs, ...}: inputs.niri-flake.overlays.niri +{ inputs, ... }: inputs.niri-flake.overlays.niri diff --git a/overlays/modifications/nur.nix b/overlays/modifications/nur.nix index fb90ee6..dda0a8f 100644 --- a/overlays/modifications/nur.nix +++ b/overlays/modifications/nur.nix @@ -1 +1 @@ -{inputs, ...}: inputs.nur.overlays.default +{ inputs, ... }: inputs.nur.overlays.default diff --git a/overlays/modifications/prismlauncher.nix b/overlays/modifications/prismlauncher.nix index bcf1b4d..a466c81 100644 --- a/overlays/modifications/prismlauncher.nix +++ b/overlays/modifications/prismlauncher.nix @@ -1,5 +1,8 @@ -{outputs, ...}: _final: prev: let +{ outputs, ... }: +_final: prev: +let inherit (prev.stdenv.hostPlatform) system; -in { +in +{ prismlauncher = outputs.packages.${system}.prismlauncher'; } diff --git a/overlays/modifications/radicle-explorer.nix b/overlays/modifications/radicle-explorer.nix index 19a089f..316b7a6 100644 --- a/overlays/modifications/radicle-explorer.nix +++ b/overlays/modifications/radicle-explorer.nix @@ -1,5 +1,8 @@ -{outputs, ...}: _final: prev: let +{ outputs, ... }: +_final: prev: +let inherit (prev.stdenv.hostPlatform) system; -in { +in +{ radicle-explorer = outputs.packages."${system}".radicle-explorer'; } diff --git a/overlays/modifications/vim.nix b/overlays/modifications/vim.nix index cbc6a62..2bbaec2 100644 --- a/overlays/modifications/vim.nix +++ b/overlays/modifications/vim.nix @@ -1,5 +1,8 @@ -{outputs, ...}: _final: prev: let +{ outputs, ... }: +_final: prev: +let inherit (prev.stdenv.hostPlatform) system; -in { +in +{ vim = outputs.packages.${system}.vim'; } diff --git a/overlays/modifications/wshowkeys.nix b/overlays/modifications/wshowkeys.nix index 455b646..4f82f53 100644 --- a/overlays/modifications/wshowkeys.nix +++ b/overlays/modifications/wshowkeys.nix @@ -1,5 +1,8 @@ -{outputs, ...}: _final: prev: let +{ outputs, ... }: +_final: prev: +let inherit (prev.stdenv.hostPlatform) system; -in { +in +{ wshowkeys = outputs.packages.${system}.wshowkeys-mao; } diff --git a/overlays/modifications/zulip.nix b/overlays/modifications/zulip.nix index c8697a0..186c430 100644 --- a/overlays/modifications/zulip.nix +++ b/overlays/modifications/zulip.nix @@ -1,7 +1,7 @@ -{...}: _final: prev: { +{ ... }: _final: prev: { zulip = prev.zulip.overrideAttrs ( _finalAttrs: prevAttrs: { - nativeBuildInputs = prevAttrs.nativeBuildInputs ++ [prev.makeWrapper]; + nativeBuildInputs = prevAttrs.nativeBuildInputs ++ [ prev.makeWrapper ]; postInstall = #bash '' diff --git a/pkgs/OuterWildsTextAdventure.nix b/pkgs/OuterWildsTextAdventure.nix index 459706f..793a3b7 100644 --- a/pkgs/OuterWildsTextAdventure.nix +++ b/pkgs/OuterWildsTextAdventure.nix @@ -3,28 +3,29 @@ buildNpmPackage, importNpmLock, ... -}: let +}: +let inherit (srcs.OuterWildsTextAdventure) src date version; in - buildNpmPackage { - pname = "OuterWildsTextAdventure"; - version = "0-unstable.${date}-git${version}"; - inherit src; +buildNpmPackage { + pname = "OuterWildsTextAdventure"; + version = "0-unstable.${date}-git${version}"; + inherit src; - npmDeps = importNpmLock { - npmRoot = src; - }; + npmDeps = importNpmLock { + npmRoot = src; + }; - npmBuildScript = "bundle"; + npmBuildScript = "bundle"; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir -p $out - cp -rt $out/ index.html data p5.min.js bundle.js bundle.js.map + mkdir -p $out + cp -rt $out/ index.html data p5.min.js bundle.js bundle.js.map - runHook postInstall - ''; + runHook postInstall + ''; - npmConfigHook = importNpmLock.npmConfigHook; - } + npmConfigHook = importNpmLock.npmConfigHook; +} diff --git a/pkgs/QQ.nix b/pkgs/QQ.nix index 55ee75e..e8fc7b2 100644 --- a/pkgs/QQ.nix +++ b/pkgs/QQ.nix @@ -6,7 +6,7 @@ }: symlinkJoin { name = "QQ"; - paths = [qq]; + paths = [ qq ]; inherit (qq) meta; buildInputs = [ makeWrapper diff --git a/pkgs/TrackersListCollection.nix b/pkgs/TrackersListCollection.nix index 2633ae1..8d75707 100644 --- a/pkgs/TrackersListCollection.nix +++ b/pkgs/TrackersListCollection.nix @@ -1,4 +1,5 @@ -{srcs}: let +{ srcs }: +let inherit (srcs) TrackersListCollection; in - TrackersListCollection.src +TrackersListCollection.src diff --git a/pkgs/editor-runtime.nix b/pkgs/editor-runtime.nix index 9285edd..3ac48db 100644 --- a/pkgs/editor-runtime.nix +++ b/pkgs/editor-runtime.nix @@ -79,5 +79,5 @@ buildEnv { ty imagemagick ]; - postBuild = ''''; + postBuild = ""; } diff --git a/pkgs/helix/package.nix b/pkgs/helix/package.nix index 8f8a661..0f11f09 100644 --- a/pkgs/helix/package.nix +++ b/pkgs/helix/package.nix @@ -4,12 +4,14 @@ callPackage, buildEnv, lib, -}: let +}: +let inherit (stdenv.hostPlatform) system; inherit (inputs.helix.packages."${system}") helix; - runtime = callPackage ./runtime.nix {}; + runtime = callPackage ./runtime.nix { }; helix' = helix.overrideAttrs ( - _final: prev: let + _final: prev: + let helix-runtime = buildEnv { name = "helix-runtime"; paths = [ @@ -17,25 +19,22 @@ prev.env.HELIX_DEFAULT_RUNTIME ]; }; - in { + in + { env.HELIX_DEFAULT_RUNTIME = toString helix-runtime; - cargoBuildFeatures = - (prev.cargoBuildFeatures or []) - ++ [ - "git" - "steel" - ]; + cargoBuildFeatures = (prev.cargoBuildFeatures or [ ]) ++ [ + "git" + "steel" + ]; } ); in - helix' - // { - passthru = - (helix'.passthru or {}) - // { - languages = lib.pipe "${helix.src}/languages.toml" [ - builtins.readFile - fromTOML - ]; - }; - } +helix' +// { + passthru = (helix'.passthru or { }) // { + languages = lib.pipe "${helix.src}/languages.toml" [ + builtins.readFile + fromTOML + ]; + }; +} diff --git a/pkgs/helix/runtime.nix b/pkgs/helix/runtime.nix index c8bf547..65117ee 100644 --- a/pkgs/helix/runtime.nix +++ b/pkgs/helix/runtime.nix @@ -3,8 +3,10 @@ srcs, stdenv, runCommandLocal, -}: let - buildGrammar = grammar: +}: +let + buildGrammar = + grammar: stdenv.mkDerivation { pname = "helix-tree-sitter-${grammar.name}"; version = grammar.version; @@ -58,9 +60,10 @@ runHook postFixup ''; }; - grammars = with lib; pipe srcs [(filterAttrs (key: _: hasPrefix "tree-sitter-" key))]; + grammars = with lib; pipe srcs [ (filterAttrs (key: _: hasPrefix "tree-sitter-" key)) ]; - queries = with lib; + queries = + with lib; pipe grammars [ (mapAttrsToList ( _: value: '' @@ -70,7 +73,8 @@ '' )) ]; - grammarLinks = with lib; + grammarLinks = + with lib; pipe grammars [ (builtins.mapAttrs ( _: v: { @@ -80,20 +84,20 @@ )) (mapAttrsToList (_: value: "ln -s ${value.value}/${value.name}.so $out/${value.name}.so")) ]; - grammarDir = runCommandLocal "helix-grammars" {} '' + grammarDir = runCommandLocal "helix-grammars" { } '' mkdir -p $out ${builtins.concatStringsSep "\n" grammarLinks} ''; - queryDir = runCommandLocal "helix-query" {} '' + queryDir = runCommandLocal "helix-query" { } '' mkdir -p $out ${builtins.concatStringsSep "\n" queries} ''; in - runCommandLocal "helix-runtime" {} '' - mkdir -p $out +runCommandLocal "helix-runtime" { } '' + mkdir -p $out - ln -s ${grammarDir} $out/grammars - ln -s ${queryDir} $out/queries - '' + ln -s ${grammarDir} $out/grammars + ln -s ${queryDir} $out/queries +'' diff --git a/pkgs/nixvimPlugins/vim-startuptime.nix b/pkgs/nixvimPlugins/vim-startuptime.nix index bda263c..5e10ce2 100644 --- a/pkgs/nixvimPlugins/vim-startuptime.nix +++ b/pkgs/nixvimPlugins/vim-startuptime.nix @@ -1,11 +1,12 @@ { srcs, vimUtils, -}: let +}: +let inherit (srcs.nvim_vim-startuptime) src version date; in - vimUtils.buildVimPlugin { - pname = "vim-startuptime"; - version = "0-unstable-${date}-git${version}"; - inherit src; - } +vimUtils.buildVimPlugin { + pname = "vim-startuptime"; + version = "0-unstable-${date}-git${version}"; + inherit src; +} diff --git a/pkgs/prismlauncher'.nix b/pkgs/prismlauncher'.nix index 59733a3..3e72c98 100644 --- a/pkgs/prismlauncher'.nix +++ b/pkgs/prismlauncher'.nix @@ -6,5 +6,10 @@ jdk25, }: prismlauncher.override { - jdks = [jdk17 jdk21 jdk8 jdk25]; + jdks = [ + jdk17 + jdk21 + jdk8 + jdk25 + ]; } diff --git a/pkgs/radicle-explorer'.nix b/pkgs/radicle-explorer'.nix index 66a71a8..6e1ef11 100644 --- a/pkgs/radicle-explorer'.nix +++ b/pkgs/radicle-explorer'.nix @@ -26,10 +26,8 @@ } ]; }).overrideAttrs -(prev: { - postInstall = - (prev.postInstall or "") - + '' + (prev: { + postInstall = (prev.postInstall or "") + '' ln -s ${ rootPath + "/assets/radicle-explorer/youthlic-seed-header.png" } $out/images/youthlic-seed-header.png @@ -37,4 +35,4 @@ rootPath + "/assets/radicle-explorer/youthlic-seed-avatar.jpg" } $out/images/youthlic-seed-avatar.jpg ''; -}) + }) diff --git a/pkgs/vim'/package.nix b/pkgs/vim'/package.nix index c636ad5..a9a0da9 100644 --- a/pkgs/vim'/package.nix +++ b/pkgs/vim'/package.nix @@ -12,7 +12,7 @@ vim-full.customize { vim-one vim-airline ]; - opt = []; + opt = [ ]; }; }; } diff --git a/pkgs/wallpapers.nix b/pkgs/wallpapers.nix index 5b93704..fd13dc0 100644 --- a/pkgs/wallpapers.nix +++ b/pkgs/wallpapers.nix @@ -2,7 +2,7 @@ runCommandLocal, rootPath, }: -runCommandLocal "wallpapers" {} '' +runCommandLocal "wallpapers" { } '' mkdir -p $out cp ${rootPath + "/assets/wallpaper/01.png"} $out/01.png diff --git a/pkgs/wshowkeys-mao.nix b/pkgs/wshowkeys-mao.nix index 2431c3a..299cc82 100644 --- a/pkgs/wshowkeys-mao.nix +++ b/pkgs/wshowkeys-mao.nix @@ -1,13 +1,14 @@ { srcs, wshowkeys, -}: let +}: +let inherit (srcs) wshowkeys-mao; in - wshowkeys.overrideAttrs ( - _final: _prev: { - inherit (wshowkeys-mao) src; - pname = "wshowkeys-mao"; - version = wshowkeys-mao.date + "-" + wshowkeys-mao.version; - } - ) +wshowkeys.overrideAttrs ( + _final: _prev: { + inherit (wshowkeys-mao) src; + pname = "wshowkeys-mao"; + version = wshowkeys-mao.date + "-" + wshowkeys-mao.version; + } +) diff --git a/treefmt.nix b/treefmt.nix index a39997f..a0c58ed 100644 --- a/treefmt.nix +++ b/treefmt.nix @@ -1,45 +1,62 @@ { - perSystem = {lib, ...}: { + perSystem = { lib, ... }: { treefmt.programs = { - alejandra = { + nixfmt = { enable = true; - excludes = ["_sources/*.nix"]; - }; - oxfmt = let - oxfmtConfig = with lib; - pipe ./.oxfmtrc.json [builtins.readFile builtins.fromJSON]; - in { - enable = true; - includes = ["*.json" "*.md" "*.toml" "*.yaml"]; - excludes = oxfmtConfig.ignorePatterns; + excludes = [ "_sources/*.nix" ]; }; + oxfmt = + let + oxfmtConfig = + with lib; + pipe ./.oxfmtrc.json [ + builtins.readFile + builtins.fromJSON + ]; + in + { + enable = true; + includes = [ + "*.json" + "*.md" + "*.toml" + "*.yaml" + ]; + excludes = oxfmtConfig.ignorePatterns; + }; just = { enable = true; - includes = [".justfile"]; - }; - typos = let - config = with lib; - pipe ./.typos.toml [builtins.readFile fromTOML]; - in { - enable = true; - includes = ["*"]; - excludes = ["assets/*"] ++ config.files.extend-exclude; - configFile = toString ./.typos.toml; - # Disable all extra option in treefmt module. - # Use config file. - sort = false; - isolated = false; - hidden = false; - noIgnore = false; - noIgnoreDot = false; - noIgnoreGlobal = false; - noIgnoreParent = false; - noIgnoreVCS = false; - binary = false; - noCheckFilenames = false; - noCheckFiles = false; - noUnicode = false; + includes = [ ".justfile" ]; }; + typos = + let + config = + with lib; + pipe ./.typos.toml [ + builtins.readFile + fromTOML + ]; + in + { + enable = true; + includes = [ "*" ]; + excludes = [ "assets/*" ] ++ config.files.extend-exclude; + configFile = toString ./.typos.toml; + # Disable all extra option in treefmt module. + # Use config file. + sort = false; + isolated = false; + hidden = false; + noIgnore = false; + noIgnoreDot = false; + noIgnoreGlobal = false; + noIgnoreParent = false; + noIgnoreVCS = false; + binary = false; + noCheckFilenames = false; + noCheckFiles = false; + noUnicode = false; + }; }; }; }