From e44894c6663207abaeeb681a5ce23558fd30e94f Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Mon, 28 Apr 2025 21:20:32 +0800 Subject: [PATCH] switch nixfmt to alejandra to format nix code --- flake.nix | 230 +++++---- home/alice/configurations/Cape/default.nix | 3 +- home/alice/modules/default.nix | 2 +- home/david/configurations/Akun/default.nix | 3 +- .../configurations/Tytonidae/default.nix | 3 +- home/david/modules/default.nix | 3 +- home/david/modules/programs/default.nix | 3 +- home/david/modules/programs/niri/default.nix | 10 +- home/david/modules/programs/openssh.nix | 9 +- home/david/modules/programs/wluma/default.nix | 10 +- home/david/modules/wallpaper.nix | 6 +- home/extra/default.nix | 3 +- home/extra/nix.nix | 5 +- home/modules/default.nix | 6 +- home/modules/programs/atuin.nix | 10 +- home/modules/programs/chromium.nix | 10 +- home/modules/programs/default.nix | 3 +- home/modules/programs/espanso.nix | 8 +- home/modules/programs/firefox.nix | 18 +- home/modules/programs/foot/default.nix | 10 +- home/modules/programs/fuzzel.nix | 10 +- home/modules/programs/ghostty.nix | 99 ++-- home/modules/programs/git.nix | 10 +- home/modules/programs/gpg/default.nix | 10 +- home/modules/programs/helix/default.nix | 460 +++++++++--------- home/modules/programs/jujutsu.nix | 6 +- home/modules/programs/kvm.nix | 14 +- home/modules/programs/mpv.nix | 10 +- home/modules/programs/niri.nix | 46 +- home/modules/programs/obs.nix | 6 +- home/modules/programs/rustypaste-cli.nix | 12 +- home/modules/programs/shell/default.nix | 9 +- home/modules/programs/sops.nix | 13 +- home/modules/programs/starship/default.nix | 17 +- home/modules/programs/swaylock.nix | 6 +- home/modules/programs/swaync.nix | 12 +- home/modules/programs/thunderbird.nix | 10 +- home/modules/programs/waybar.nix | 10 +- home/modules/programs/wluma.nix | 16 +- home/modules/programs/zed.nix | 6 +- home/modules/xdg-dirs.nix | 10 +- nixos/configurations/Akun/default.nix | 3 +- nixos/configurations/Akun/disk-config.nix | 2 +- .../Akun/hardware-configuration.nix | 22 +- nixos/configurations/Akun/networking.nix | 3 +- nixos/configurations/Akun/stylix.nix | 5 +- nixos/configurations/Akun/users/default.nix | 5 +- nixos/configurations/Cape/default.nix | 6 +- nixos/configurations/Cape/disko-config.nix | 2 +- nixos/configurations/Cape/forgejo.nix | 5 +- .../Cape/hardware-configuration.nix | 22 +- nixos/configurations/Cape/miniflux.nix | 3 +- nixos/configurations/Cape/networking.nix | 3 +- nixos/configurations/Cape/stylix.nix | 3 +- nixos/configurations/Cape/users/default.nix | 3 +- nixos/configurations/Tytonidae/default.nix | 3 +- .../configurations/Tytonidae/disk-config.nix | 3 +- .../Tytonidae/hardware-configuration.nix | 22 +- nixos/configurations/Tytonidae/hardware.nix | 3 +- nixos/configurations/Tytonidae/networking.nix | 3 +- nixos/configurations/Tytonidae/stylix.nix | 5 +- .../Tytonidae/users/default.nix | 5 +- nixos/modules/containers/default.nix | 10 +- nixos/modules/containers/forgejo.nix | 106 ++-- nixos/modules/containers/miniflux.nix | 92 ++-- nixos/modules/default.nix | 3 +- nixos/modules/deploy/default.nix | 10 +- nixos/modules/gui/cosmic.nix | 6 +- nixos/modules/gui/default.nix | 8 +- nixos/modules/gui/kde.nix | 6 +- nixos/modules/gui/niri.nix | 10 +- nixos/modules/home.nix | 19 +- nixos/modules/i18n.nix | 6 +- nixos/modules/nix.nix | 8 +- nixos/modules/programs/asusd.nix | 6 +- nixos/modules/programs/caddy.nix | 12 +- nixos/modules/programs/conduwuit.nix | 12 +- nixos/modules/programs/dae/default.nix | 186 ++++--- nixos/modules/programs/default.nix | 5 +- nixos/modules/programs/forgejo.nix | 22 +- nixos/modules/programs/guix.nix | 10 +- nixos/modules/programs/juicity/default.nix | 20 +- nixos/modules/programs/juicity/template.nix | 34 +- nixos/modules/programs/kanata.nix | 8 +- nixos/modules/programs/kvm.nix | 8 +- nixos/modules/programs/mautrix-telegram.nix | 21 +- nixos/modules/programs/miniflux.nix | 10 +- nixos/modules/programs/minio.nix | 10 +- nixos/modules/programs/nh.nix | 3 +- nixos/modules/programs/nix-ld.nix | 6 +- nixos/modules/programs/open-webui.nix | 26 +- nixos/modules/programs/openssh.nix | 12 +- nixos/modules/programs/owncast.nix | 10 +- nixos/modules/programs/postgresql.nix | 8 +- nixos/modules/programs/rustypaste/default.nix | 10 +- .../modules/programs/rustypaste/template.nix | 18 +- nixos/modules/programs/steam.nix | 6 +- nixos/modules/programs/tailscale.nix | 10 +- nixos/modules/programs/transfer-sh.nix | 10 +- nixos/modules/programs/transmission.nix | 32 +- nixos/modules/sops.nix | 5 +- overlays/additions/default.nix | 14 +- overlays/additions/rime-ice.nix | 7 +- overlays/modifications/dae.nix | 7 +- overlays/modifications/default.nix | 24 +- overlays/modifications/ghostty.nix | 7 +- overlays/modifications/juicity.nix | 7 +- overlays/modifications/jujutsu.nix | 9 +- overlays/modifications/niri.nix | 2 +- overlays/modifications/spotify.nix | 2 +- pkgs/_sources/generated.nix | 17 +- pkgs/default.nix | 38 +- pkgs/dioxionary.nix | 53 +- pkgs/helix/default.nix | 36 +- pkgs/helix/runtime.nix | 20 +- pkgs/juicity.nix | 6 +- pkgs/noto-sans-cjk.nix | 21 +- pkgs/noto-serif-cjk.nix | 21 +- pkgs/pinentry-selector.nix | 2 +- pkgs/rime-ice.nix | 25 +- 120 files changed, 1163 insertions(+), 1237 deletions(-) diff --git a/flake.nix b/flake.nix index 7f262c5..cfe52c5 100644 --- a/flake.nix +++ b/flake.nix @@ -170,47 +170,47 @@ }; }; }; - outputs = - { - self, - nixpkgs, - flake-parts, - flake-utils, - ... - }@inputs: - let - inherit (self) outputs; - rootPath = ./.; - in - flake-parts.lib.mkFlake { inherit inputs; } { + outputs = { + self, + nixpkgs, + flake-parts, + flake-utils, + ... + } @ inputs: let + inherit (self) outputs; + rootPath = ./.; + in + flake-parts.lib.mkFlake {inherit inputs;} { systems = flake-utils.lib.defaultSystems; imports = [ inputs.home-manager.flakeModules.home-manager ]; - perSystem = - { pkgs, system, ... }@args: - { - _module.args.pkgs = import inputs.nixpkgs { - inherit system; - config = { - allowUnfree = true; - }; + perSystem = { + pkgs, + system, + ... + } @ args: { + _module.args.pkgs = import inputs.nixpkgs { + inherit system; + config = { + allowUnfree = true; }; - packages = import ./pkgs ( - args - // { - inherit inputs; - } - ); }; + formatter = pkgs.alejandra; + packages = import ./pkgs ( + args + // { + inherit inputs; + } + ); + }; flake = { nix.settings = { # substituters shared in home-manager and nixos configuration - substituters = - let - cachix = x: "https://${x}.cachix.org"; - in + substituters = let + cachix = x: "https://${x}.cachix.org"; + in nixpkgs.lib.flatten [ (cachix "nix-community") "https://cache.nixos.org" @@ -221,30 +221,30 @@ nixosModules.default = import ./nixos/modules; overlays = { - modifications = (import ./overlays/modifications { inherit inputs outputs; }); - additions = (import ./overlays/additions { inherit inputs outputs; }); + modifications = import ./overlays/modifications {inherit inputs outputs;}; + additions = import ./overlays/additions {inherit inputs outputs;}; }; - nixosConfigurations = - let - nixosConfigDir = ./nixos/configurations; - makeNixConfiguration = - hostName: - nixpkgs.lib.nixosSystem { - modules = - [ outputs.nixosModules.default ] - ++ [ - ( - let - dirPath = nixosConfigDir + "/${hostName}"; - filePath = nixosConfigDir + "/${hostName}.nix"; - in - if builtins.pathExists dirPath then dirPath else filePath - ) - ]; - specialArgs = { inherit inputs outputs rootPath; }; - }; - in + nixosConfigurations = let + nixosConfigDir = ./nixos/configurations; + makeNixConfiguration = hostName: + nixpkgs.lib.nixosSystem { + modules = + [outputs.nixosModules.default] + ++ [ + ( + let + dirPath = nixosConfigDir + "/${hostName}"; + filePath = nixosConfigDir + "/${hostName}.nix"; + in + if builtins.pathExists dirPath + then dirPath + else filePath + ) + ]; + specialArgs = {inherit inputs outputs rootPath;}; + }; + in nixosConfigDir |> builtins.readDir |> builtins.attrNames @@ -257,45 +257,42 @@ } // ( let - mkHomeConfig = - { - hostName, - unixName ? "david", - system ? "x86_64-linux", - nixpkgs ? inputs.nixpkgs, - home-manager ? inputs.home-manager, - }: - { - "${unixName}@${hostName}" = home-manager.lib.homeManagerConfiguration { - pkgs = nixpkgs.legacyPackages."${system}"; - modules = - [ - "${toString ./home}/${unixName}/configurations/${hostName}" - ] - ++ (with outputs.homeModules; [ - default - extra - ]) - ++ [ - outputs.homeModules."${unixName}" - ]; - extraSpecialArgs = { - inherit - inputs - outputs - unixName - hostName - system - rootPath - ; - }; + mkHomeConfig = { + hostName, + unixName ? "david", + system ? "x86_64-linux", + nixpkgs ? inputs.nixpkgs, + home-manager ? inputs.home-manager, + }: { + "${unixName}@${hostName}" = home-manager.lib.homeManagerConfiguration { + pkgs = nixpkgs.legacyPackages."${system}"; + modules = + [ + "${toString ./home}/${unixName}/configurations/${hostName}" + ] + ++ (with outputs.homeModules; [ + default + extra + ]) + ++ [ + outputs.homeModules."${unixName}" + ]; + extraSpecialArgs = { + inherit + inputs + outputs + unixName + hostName + system + rootPath + ; }; }; - in - { + }; + in { homeConfigurations = - nixpkgs.lib.foldr (a: b: a // b) { } ( - map (hostName: mkHomeConfig { inherit hostName; }) [ + nixpkgs.lib.foldr (a: b: a // b) {} ( + map (hostName: mkHomeConfig {inherit hostName;}) [ "Tytonidae" "Akun" ] @@ -315,10 +312,10 @@ |> nixpkgs.lib.filterAttrs (key: value: value == "directory") |> nixpkgs.lib.filterAttrs ( key: value: - !builtins.elem key [ - "modules" - "extra" - ] + !builtins.elem key [ + "modules" + "extra" + ] ) |> builtins.attrNames |> map (name: { @@ -331,30 +328,27 @@ ) // ( let - mkDeployNode = - { - hostName, - unixName ? "deploy", - system ? "x86_64-linux", - sshName ? hostName, - }: - { - "${hostName}" = { - hostname = "${sshName}"; - sshUser = "${unixName}"; - interactiveSudo = true; - profiles = { - system = { - user = "root"; - path = - inputs.deploy-rs.lib."${system}".activate.nixos - self.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 = + inputs.deploy-rs.lib."${system}".activate.nixos + self.outputs.nixosConfigurations."${hostName}"; }; }; }; - in - { + }; + in { deploy.nodes = [ "Cape" @@ -362,11 +356,11 @@ ] |> map ( hostName: - mkDeployNode { - inherit hostName; - } + mkDeployNode { + inherit hostName; + } ) - |> nixpkgs.lib.foldr (a: b: a // b) { }; + |> nixpkgs.lib.foldr (a: b: a // b) {}; } ); }; diff --git a/home/alice/configurations/Cape/default.nix b/home/alice/configurations/Cape/default.nix index 4264eaa..d42bd6b 100644 --- a/home/alice/configurations/Cape/default.nix +++ b/home/alice/configurations/Cape/default.nix @@ -3,8 +3,7 @@ unixName, config, ... -}: -{ +}: { youthlic = { xdg-dirs.enable = true; programs = { diff --git a/home/alice/modules/default.nix b/home/alice/modules/default.nix index c915eb0..6462967 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 f4a9560..6f96f60 100644 --- a/home/david/configurations/Akun/default.nix +++ b/home/david/configurations/Akun/default.nix @@ -4,8 +4,7 @@ config, rootPath, ... -}: -{ +}: { youthlic = { xdg-dirs.enable = true; programs = { diff --git a/home/david/configurations/Tytonidae/default.nix b/home/david/configurations/Tytonidae/default.nix index b783507..0607120 100644 --- a/home/david/configurations/Tytonidae/default.nix +++ b/home/david/configurations/Tytonidae/default.nix @@ -5,8 +5,7 @@ inputs, unixName, ... -}: -{ +}: { youthlic = { xdg-dirs.enable = true; programs = { diff --git a/home/david/modules/default.nix b/home/david/modules/default.nix index 49c46bb..6a20236 100644 --- a/home/david/modules/default.nix +++ b/home/david/modules/default.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { imports = [ ./wallpaper.nix ./programs diff --git a/home/david/modules/programs/default.nix b/home/david/modules/programs/default.nix index 4d84c73..a77c4b6 100644 --- a/home/david/modules/programs/default.nix +++ b/home/david/modules/programs/default.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +{...}: { imports = [ ./openssh.nix ./niri diff --git a/home/david/modules/programs/niri/default.nix b/home/david/modules/programs/niri/default.nix index b9bde1c..17b0286 100644 --- a/home/david/modules/programs/niri/default.nix +++ b/home/david/modules/programs/niri/default.nix @@ -1,8 +1,10 @@ -{ config, lib, ... }: -let - cfg = config.david.programs.niri; -in { + config, + lib, + ... +}: let + cfg = config.david.programs.niri; +in { options = { david.programs.niri = { enable = lib.mkEnableOption "niri"; diff --git a/home/david/modules/programs/openssh.nix b/home/david/modules/programs/openssh.nix index 11e1082..8ddca81 100644 --- a/home/david/modules/programs/openssh.nix +++ b/home/david/modules/programs/openssh.nix @@ -3,11 +3,9 @@ config, lib, ... -}: -let +}: let cfg = config.david.programs.openssh; -in -{ +in { options = { david.programs.openssh = { enable = lib.mkEnableOption "openssh"; @@ -35,10 +33,9 @@ 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/wluma/default.nix b/home/david/modules/programs/wluma/default.nix index 648ebb5..7c646f2 100644 --- a/home/david/modules/programs/wluma/default.nix +++ b/home/david/modules/programs/wluma/default.nix @@ -1,8 +1,10 @@ -{ lib, config, ... }: -let - cfg = config.david.programs.wluma; -in { + lib, + config, + ... +}: let + cfg = config.david.programs.wluma; +in { options = { david.programs.wluma = { enable = lib.mkEnableOption "wluma"; diff --git a/home/david/modules/wallpaper.nix b/home/david/modules/wallpaper.nix index 10cd699..bfb869f 100644 --- a/home/david/modules/wallpaper.nix +++ b/home/david/modules/wallpaper.nix @@ -3,11 +3,9 @@ lib, config, ... -}: -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 fb437ca..1b62274 100644 --- a/home/extra/default.nix +++ b/home/extra/default.nix @@ -1,5 +1,4 @@ -{ inputs, ... }: -{ +{inputs, ...}: { imports = (with inputs; [ niri-flake.homeModules.niri diff --git a/home/extra/nix.nix b/home/extra/nix.nix index 16fea1c..5540a47 100644 --- a/home/extra/nix.nix +++ b/home/extra/nix.nix @@ -4,13 +4,12 @@ pkgs, inputs, ... -}: -{ +}: { config = { nixpkgs = { config = { allowUnfree = true; - allowUnfreePredicate = (_: true); + allowUnfreePredicate = _: true; }; overlays = [ outputs.overlays.modifications diff --git a/home/modules/default.nix b/home/modules/default.nix index f817748..1ede244 100644 --- a/home/modules/default.nix +++ b/home/modules/default.nix @@ -1,8 +1,4 @@ -{ - inputs, - ... -}: -{ +{inputs, ...}: { imports = (with inputs; [ sops-nix.homeManagerModules.sops diff --git a/home/modules/programs/atuin.nix b/home/modules/programs/atuin.nix index 51bc8c8..1a0e037 100644 --- a/home/modules/programs/atuin.nix +++ b/home/modules/programs/atuin.nix @@ -1,8 +1,10 @@ -{ lib, config, ... }: -let - cfg = config.youthlic.programs.atuin; -in { + lib, + config, + ... +}: let + cfg = config.youthlic.programs.atuin; +in { options = { youthlic.programs.atuin = { enable = lib.mkEnableOption "atuin"; diff --git a/home/modules/programs/chromium.nix b/home/modules/programs/chromium.nix index da740cc..b0a7d85 100644 --- a/home/modules/programs/chromium.nix +++ b/home/modules/programs/chromium.nix @@ -1,8 +1,10 @@ -{ lib, config, ... }: -let - cfg = config.youthlic.programs.chromium; -in { + lib, + config, + ... +}: let + cfg = config.youthlic.programs.chromium; +in { options = { youthlic.programs.chromium = { enable = lib.mkEnableOption "chromium"; diff --git a/home/modules/programs/default.nix b/home/modules/programs/default.nix index dadbcce..3c1f93e 100644 --- a/home/modules/programs/default.nix +++ b/home/modules/programs/default.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +{...}: { imports = [ ./zed.nix ./rustypaste-cli.nix diff --git a/home/modules/programs/espanso.nix b/home/modules/programs/espanso.nix index 9d19bb8..de11161 100644 --- a/home/modules/programs/espanso.nix +++ b/home/modules/programs/espanso.nix @@ -3,11 +3,9 @@ lib, pkgs, ... -}: -let +}: let cfg = config.youthlic.programs.espanso; -in -{ +in { options = { youthlic.programs.espanso = { enable = lib.mkEnableOption "espanso"; @@ -18,7 +16,7 @@ in enable = true; package = pkgs.espanso-wayland; configs = { - default = { }; + default = {}; }; matches = { base = { diff --git a/home/modules/programs/firefox.nix b/home/modules/programs/firefox.nix index 79d7e24..17f77dd 100644 --- a/home/modules/programs/firefox.nix +++ b/home/modules/programs/firefox.nix @@ -5,11 +5,9 @@ lib, config, ... -}: -let +}: let cfg = config.youthlic.programs.firefox; -in -{ +in { options = { youthlic.programs.firefox = { enable = lib.mkEnableOption "firefox"; @@ -60,7 +58,7 @@ in } ]; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - definedAliases = [ "@np" ]; + definedAliases = ["@np"]; }; "Nix Options" = { urls = [ @@ -78,7 +76,7 @@ in ]; } ]; - definedAliases = [ "@no" ]; + definedAliases = ["@no"]; }; "Home Manager Options" = { urls = [ @@ -96,7 +94,7 @@ in ]; } ]; - definedAliases = [ "hm" ]; + definedAliases = ["hm"]; }; "NUR Packages" = { urls = [ @@ -104,7 +102,7 @@ in template = "https://nur.nix-community.org/"; } ]; - definedAliases = [ "nu" ]; + definedAliases = ["nu"]; }; "Nix Flakes" = { urls = [ @@ -122,7 +120,7 @@ in ]; } ]; - definedAliases = [ "nf" ]; + definedAliases = ["nf"]; }; "NixOS Wiki" = { urls = [ @@ -136,7 +134,7 @@ in ]; } ]; - definedAliases = [ "nw" ]; + definedAliases = ["nw"]; }; "bing".metaData.hidden = true; "google".metaData.alias = "@g"; # builtin engines only support specifying one additional alias diff --git a/home/modules/programs/foot/default.nix b/home/modules/programs/foot/default.nix index f4920af..b587d2f 100644 --- a/home/modules/programs/foot/default.nix +++ b/home/modules/programs/foot/default.nix @@ -1,8 +1,10 @@ -{ config, lib, ... }: -let - cfg = config.youthlic.programs.foot; -in { + config, + lib, + ... +}: let + cfg = config.youthlic.programs.foot; +in { options = { youthlic.programs.foot = { enable = lib.mkEnableOption "foot"; diff --git a/home/modules/programs/fuzzel.nix b/home/modules/programs/fuzzel.nix index fc9cb59..e748925 100644 --- a/home/modules/programs/fuzzel.nix +++ b/home/modules/programs/fuzzel.nix @@ -1,8 +1,10 @@ -{ config, lib, ... }: -let - cfg = config.youthlic.programs.fuzzel; -in { + config, + lib, + ... +}: let + cfg = config.youthlic.programs.fuzzel; +in { options = { youthlic.programs.fuzzel = { enable = lib.mkEnableOption "fuzzel"; diff --git a/home/modules/programs/ghostty.nix b/home/modules/programs/ghostty.nix index 6d2efda..6fe980c 100644 --- a/home/modules/programs/ghostty.nix +++ b/home/modules/programs/ghostty.nix @@ -3,61 +3,58 @@ config, lib, ... -}: -{ +}: { options = { youthlic.programs.ghostty = { enable = lib.mkEnableOption "ghostty"; }; }; - config = - let - cfg = config.youthlic.programs.ghostty; - in - (lib.mkIf cfg.enable { - programs.ghostty = lib.mkMerge [ - { - enable = true; - package = pkgs.ghostty; - settings = { - # font-family = "FiraCode Nerd Font"; - # font-feature = [ - # "calt=1" - # "clig=1" - # "liga=1" - # "cv01" - # "cv02" - # "cv06" - # "zero" - # "onum" - # "cv17" - # "ss05" - # "ss03" - # "cv16" - # "cv31" - # "cv29" - # "cv30" - # ]; + config = let + cfg = config.youthlic.programs.ghostty; + in (lib.mkIf cfg.enable { + programs.ghostty = lib.mkMerge [ + { + enable = true; + package = pkgs.ghostty; + settings = { + # font-family = "FiraCode Nerd Font"; + # font-feature = [ + # "calt=1" + # "clig=1" + # "liga=1" + # "cv01" + # "cv02" + # "cv06" + # "zero" + # "onum" + # "cv17" + # "ss05" + # "ss03" + # "cv16" + # "cv31" + # "cv29" + # "cv30" + # ]; - # font-family = "Maple Mono SC NF"; - font-feature = [ - "calt" - "zero" - "cv03" - "ss08" - ]; - font-size = lib.mkForce 17; - # theme = "ayu"; - background-opacity = lib.mkForce 0.8; - confirm-close-surface = "false"; - }; - } - (lib.mkIf config.youthlic.programs.fish.enable { - enableFishIntegration = true; - }) - (lib.mkIf config.youthlic.programs.bash.enable { - enableBashIntegration = true; - }) - ]; - }); + # font-family = "Maple Mono SC NF"; + font-feature = [ + "calt" + "zero" + "cv03" + "ss08" + ]; + font-size = lib.mkForce 17; + # theme = "ayu"; + background-opacity = lib.mkForce 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/modules/programs/git.nix b/home/modules/programs/git.nix index 42e0cea..c1a82d6 100644 --- a/home/modules/programs/git.nix +++ b/home/modules/programs/git.nix @@ -2,8 +2,7 @@ config, lib, ... -}: -{ +}: { options = { youthlic.programs.git = { email = lib.mkOption { @@ -31,10 +30,9 @@ 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.lazygit = { diff --git a/home/modules/programs/gpg/default.nix b/home/modules/programs/gpg/default.nix index cb19b47..0700ddd 100644 --- a/home/modules/programs/gpg/default.nix +++ b/home/modules/programs/gpg/default.nix @@ -4,17 +4,15 @@ 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 eeafe47..43113d9 100644 --- a/home/modules/programs/helix/default.nix +++ b/home/modules/programs/helix/default.nix @@ -4,17 +4,15 @@ config, outputs, ... -}: -{ +}: { options = { youthlic.programs.helix = { enable = lib.mkEnableOption "helix"; extraPackages = lib.mkOption { type = lib.types.listOf lib.types.package; - default = [ ]; + default = []; example = ( - with pkgs; - [ + with pkgs; [ deno ] ); @@ -24,236 +22,232 @@ }; }; }; - config = - let - cfg = config.youthlic.programs.helix; - in - { - stylix.targets.helix.enable = false; - programs.helix = lib.mkIf cfg.enable { - enable = true; - package = outputs.packages."${pkgs.system}".helix; - defaultEditor = true; - extraPackages = cfg.extraPackages; - settings = - let - config-file = builtins.readFile ./config.toml; - config = builtins.fromTOML config-file; - in - config; - languages = { - language-server = { - neocmakelsp = { - command = "neocmakelsp"; - args = [ - "stdio" - ]; - }; - fish-lsp = { - command = "fish-lsp"; - args = [ - "start" - ]; - }; + config = let + cfg = config.youthlic.programs.helix; + in { + stylix.targets.helix.enable = false; + programs.helix = lib.mkIf cfg.enable { + enable = true; + package = outputs.packages."${pkgs.system}".helix; + defaultEditor = true; + extraPackages = cfg.extraPackages; + settings = let + config-file = builtins.readFile ./config.toml; + config = builtins.fromTOML config-file; + in + config; + languages = { + language-server = { + neocmakelsp = { + command = "neocmakelsp"; + args = [ + "stdio" + ]; + }; + fish-lsp = { + command = "fish-lsp"; + args = [ + "start" + ]; }; - language = [ - { - name = "cmake"; - language-servers = [ - "neocmakelsp" - "cmake-language-server" - ]; - } - { - name = "kdl"; - formatter = { - command = "kdlfmt"; - args = [ - "format" - "-" - ]; - }; - } - { - name = "just"; - formatter = { - command = "just"; - args = [ - "--dump" - ]; - }; - } - { - name = "nix"; - formatter = { - command = "nixfmt"; - args = [ "-" ]; - }; - } - { - name = "xml"; - formatter = { - command = "xmllint"; - args = [ - "--format" - "-" - ]; - }; - } - { - name = "typst"; - formatter = { - command = "typstyle"; - }; - } - { - name = "c"; - formatter = { - command = "clang-format"; - }; - } - { - name = "cpp"; - formatter = { - command = "clang-format"; - }; - } - { - name = "python"; - formatter = { - command = "ruff"; - args = [ - "format" - "-s" - "--line-length" - "88" - "-" - ]; - }; - language-servers = [ - "pyright" - "ruff" - ]; - } - { - name = "go"; - formatter = { - command = "goimports"; - }; - } - { - name = "awk"; - formatter = { - command = "awk"; - timeout = 5; - args = [ - "--file=/dev/stdin" - "--pretty-print=/dev/stdout" - ]; - }; - } - { - name = "fish"; - language-servers = [ - "fish-lsp" - ]; - } - { - name = "yaml"; - formatter = { - command = "deno"; - args = [ - "fmt" - "-" - "--ext" - "yaml" - ]; - }; - } - { - name = "html"; - formatter = { - command = "deno"; - args = [ - "fmt" - "-" - "--ext" - "html" - ]; - }; - language-servers = [ - "vscode-html-language-server" - ]; - } - { - name = "css"; - formatter = { - command = "deno"; - args = [ - "fmt" - "-" - "--ext" - "css" - ]; - }; - language-servers = [ - "vscode-css-language-server" - ]; - } - { - name = "toml"; - formatter = { - command = "taplo"; - args = [ - "fmt" - "-" - ]; - }; - } - { - name = "markdown"; - formatter = { - command = "deno"; - args = [ - "fmt" - "-" - "--ext" - "md" - ]; - }; - } - { - name = "json"; - language-servers = [ - "vscode-json-language-server" - ]; - formatter = { - command = "deno"; - args = [ - "fmt" - "-" - "--ext" - "json" - ]; - }; - } - { - name = "jsonc"; - language-servers = [ - "vscode-json-language-server" - ]; - formatter = { - command = "deno"; - args = [ - "fmt" - "-" - "--ext" - "jsonc" - ]; - }; - } - ]; }; + language = [ + { + name = "cmake"; + language-servers = [ + "neocmakelsp" + "cmake-language-server" + ]; + } + { + name = "kdl"; + formatter = { + command = "kdlfmt"; + args = [ + "format" + "-" + ]; + }; + } + { + name = "just"; + formatter = { + command = "just"; + args = [ + "--dump" + ]; + }; + } + { + name = "nix"; + formatter = { + command = "alejandra"; + }; + } + { + name = "xml"; + formatter = { + command = "xmllint"; + args = [ + "--format" + "-" + ]; + }; + } + { + name = "typst"; + formatter = { + command = "typstyle"; + }; + } + { + name = "c"; + formatter = { + command = "clang-format"; + }; + } + { + name = "cpp"; + formatter = { + command = "clang-format"; + }; + } + { + name = "python"; + formatter = { + command = "ruff"; + args = [ + "format" + "-s" + "--line-length" + "88" + "-" + ]; + }; + language-servers = [ + "pyright" + "ruff" + ]; + } + { + name = "go"; + formatter = { + command = "goimports"; + }; + } + { + name = "awk"; + formatter = { + command = "awk"; + timeout = 5; + args = [ + "--file=/dev/stdin" + "--pretty-print=/dev/stdout" + ]; + }; + } + { + name = "fish"; + language-servers = [ + "fish-lsp" + ]; + } + { + name = "yaml"; + formatter = { + command = "deno"; + args = [ + "fmt" + "-" + "--ext" + "yaml" + ]; + }; + } + { + name = "html"; + formatter = { + command = "deno"; + args = [ + "fmt" + "-" + "--ext" + "html" + ]; + }; + language-servers = [ + "vscode-html-language-server" + ]; + } + { + name = "css"; + formatter = { + command = "deno"; + args = [ + "fmt" + "-" + "--ext" + "css" + ]; + }; + language-servers = [ + "vscode-css-language-server" + ]; + } + { + name = "toml"; + formatter = { + command = "taplo"; + args = [ + "fmt" + "-" + ]; + }; + } + { + name = "markdown"; + formatter = { + command = "deno"; + args = [ + "fmt" + "-" + "--ext" + "md" + ]; + }; + } + { + name = "json"; + language-servers = [ + "vscode-json-language-server" + ]; + formatter = { + command = "deno"; + args = [ + "fmt" + "-" + "--ext" + "json" + ]; + }; + } + { + name = "jsonc"; + language-servers = [ + "vscode-json-language-server" + ]; + formatter = { + command = "deno"; + args = [ + "fmt" + "-" + "--ext" + "jsonc" + ]; + }; + } + ]; }; }; + }; } diff --git a/home/modules/programs/jujutsu.nix b/home/modules/programs/jujutsu.nix index b50ff6c..939ee2c 100644 --- a/home/modules/programs/jujutsu.nix +++ b/home/modules/programs/jujutsu.nix @@ -3,11 +3,9 @@ config, lib, ... -}: -let +}: let cfg = config.youthlic.programs.jujutsu; -in -{ +in { options = { youthlic.programs.jujutsu = { enable = lib.mkEnableOption "jujutsu"; diff --git a/home/modules/programs/kvm.nix b/home/modules/programs/kvm.nix index 48728ab..3f6a0de 100644 --- a/home/modules/programs/kvm.nix +++ b/home/modules/programs/kvm.nix @@ -1,8 +1,10 @@ -{ config, lib, ... }: -let - cfg = config.youthlic.programs.kvm; -in { + config, + lib, + ... +}: let + cfg = config.youthlic.programs.kvm; +in { options = { youthlic.programs.kvm = { enable = lib.mkEnableOption "kvm"; @@ -12,8 +14,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/mpv.nix b/home/modules/programs/mpv.nix index fc36200..7c1cc6f 100644 --- a/home/modules/programs/mpv.nix +++ b/home/modules/programs/mpv.nix @@ -1,8 +1,10 @@ -{ lib, config, ... }: -let - cfg = config.youthlic.programs.mpv; -in { + lib, + config, + ... +}: let + cfg = config.youthlic.programs.mpv; +in { options = { youthlic.programs.mpv = { enable = lib.mkEnableOption "mpv"; diff --git a/home/modules/programs/niri.nix b/home/modules/programs/niri.nix index c6f8757..11aa765 100644 --- a/home/modules/programs/niri.nix +++ b/home/modules/programs/niri.nix @@ -4,12 +4,10 @@ lib, osConfig ? null, ... -}: -let +}: let cfg = config.youthlic.programs.niri; niri = osConfig.programs.niri.package; -in -{ +in { options = { youthlic.programs.niri = { enable = lib.mkEnableOption "niri"; @@ -32,36 +30,34 @@ in wl-clipboard cliphist ]) - ++ [ niri ]; + ++ [niri]; qt = { enable = true; }; xdg.portal = { - configPackages = [ niri ]; + configPackages = [niri]; enable = true; extraPortals = lib.mkIf ( !niri.cargoBuildNoDefaultFeatures || builtins.elem "xdp-gnome-screencast" niri.cargoBuildFeatures - ) [ pkgs.xdg-desktop-portal-gnome ]; + ) [pkgs.xdg-desktop-portal-gnome]; }; - xdg.configFile = - let - qtctConf = - '' - [Appearance] - standard_dialogs=xdgdesktopportal - '' - + lib.optionalString (config.qt.style ? name) '' - style=${config.qt.style.name} - ''; - in - { - "qt5ct/qt5ct.conf" = lib.mkForce { - text = qtctConf; - }; - "qt6ct/qt6ct.conf" = lib.mkForce { - text = qtctConf; - }; + xdg.configFile = let + qtctConf = + '' + [Appearance] + standard_dialogs=xdgdesktopportal + '' + + lib.optionalString (config.qt.style ? name) '' + style=${config.qt.style.name} + ''; + in { + "qt5ct/qt5ct.conf" = lib.mkForce { + text = qtctConf; }; + "qt6ct/qt6ct.conf" = lib.mkForce { + text = qtctConf; + }; + }; youthlic.programs = { fuzzel.enable = true; wluma.enable = true; diff --git a/home/modules/programs/obs.nix b/home/modules/programs/obs.nix index 6026d82..5314ed7 100644 --- a/home/modules/programs/obs.nix +++ b/home/modules/programs/obs.nix @@ -3,11 +3,9 @@ config, lib, ... -}: -let +}: let cfg = config.youthlic.programs.obs; -in -{ +in { options = { youthlic.programs.obs = { enable = lib.mkEnableOption "obs"; diff --git a/home/modules/programs/rustypaste-cli.nix b/home/modules/programs/rustypaste-cli.nix index 82dcba4..42d432c 100644 --- a/home/modules/programs/rustypaste-cli.nix +++ b/home/modules/programs/rustypaste-cli.nix @@ -3,22 +3,20 @@ 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/shell/default.nix b/home/modules/programs/shell/default.nix index 9a88557..2478f02 100644 --- a/home/modules/programs/shell/default.nix +++ b/home/modules/programs/shell/default.nix @@ -2,13 +2,11 @@ config, lib, ... -}: -let +}: let inherit (lib) mkEnableOption mkIf mkMerge; fish-cfg = config.youthlic.programs.fish; bash-cfg = config.youthlic.programs.bash; - cfg-helper = - conf: + cfg-helper = conf: mkMerge [ conf (mkIf fish-cfg.enable { @@ -18,8 +16,7 @@ let enableBashIntegration = true; }) ]; -in -{ +in { options = { youthlic.programs = { fish = { diff --git a/home/modules/programs/sops.nix b/home/modules/programs/sops.nix index 452f640..92c0375 100644 --- a/home/modules/programs/sops.nix +++ b/home/modules/programs/sops.nix @@ -4,8 +4,7 @@ pkgs, rootPath, ... -}: -{ +}: { options = { youthlic.programs.sops = { enable = lib.mkOption { @@ -25,14 +24,12 @@ }; }; }; - 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/starship/default.nix b/home/modules/programs/starship/default.nix index 4cd547d..ec6d055 100644 --- a/home/modules/programs/starship/default.nix +++ b/home/modules/programs/starship/default.nix @@ -1,8 +1,10 @@ -{ lib, config, ... }: -let - cfg = config.youthlic.programs.starship; -in { + lib, + config, + ... +}: let + cfg = config.youthlic.programs.starship; +in { options = { youthlic.programs.starship = { enable = lib.mkEnableOption "starship"; @@ -12,10 +14,9 @@ in programs.starship = lib.mkMerge [ { enable = true; - settings = - let - config-file = builtins.readFile ./config.toml; - in + settings = let + config-file = builtins.readFile ./config.toml; + in builtins.fromTOML config-file; } (lib.mkIf config.youthlic.programs.fish.enable { diff --git a/home/modules/programs/swaylock.nix b/home/modules/programs/swaylock.nix index d69609a..4955ca5 100644 --- a/home/modules/programs/swaylock.nix +++ b/home/modules/programs/swaylock.nix @@ -3,11 +3,9 @@ config, lib, ... -}: -let +}: let cfg = config.youthlic.programs.swaylock; -in -{ +in { options = { youthlic.programs.swaylock = { enable = lib.mkEnableOption "swaylock"; diff --git a/home/modules/programs/swaync.nix b/home/modules/programs/swaync.nix index e5e2286..6327eb2 100644 --- a/home/modules/programs/swaync.nix +++ b/home/modules/programs/swaync.nix @@ -1,8 +1,10 @@ -{ lib, config, ... }: -let - cfg = config.youthlic.programs.swaync; -in { + lib, + config, + ... +}: let + cfg = config.youthlic.programs.swaync; +in { options = { youthlic.programs.swaync = { enable = lib.mkEnableOption "swaync"; @@ -16,7 +18,7 @@ in }; }) (lib.mkIf (!cfg.systemd.enable) { - systemd.user.services.swaync = lib.mkForce { }; + systemd.user.services.swaync = lib.mkForce {}; }) ]; } diff --git a/home/modules/programs/thunderbird.nix b/home/modules/programs/thunderbird.nix index 5174a63..12cfcb6 100644 --- a/home/modules/programs/thunderbird.nix +++ b/home/modules/programs/thunderbird.nix @@ -1,8 +1,10 @@ -{ config, lib, ... }: -let - cfg = config.youthlic.programs.thunderbird; -in { + config, + lib, + ... +}: let + cfg = config.youthlic.programs.thunderbird; +in { options = { youthlic.programs.thunderbird = { enable = lib.mkEnableOption "thunderbird"; diff --git a/home/modules/programs/waybar.nix b/home/modules/programs/waybar.nix index eb07712..d38e343 100644 --- a/home/modules/programs/waybar.nix +++ b/home/modules/programs/waybar.nix @@ -3,11 +3,9 @@ config, lib, ... -}: -let +}: let cfg = config.youthlic.programs.waybar; -in -{ +in { options = { youthlic.programs.waybar = { enable = lib.mkEnableOption "waybar"; @@ -26,7 +24,7 @@ in "niri/workspaces" "wlr/taskbar" ]; - modules-center = [ "clock" ]; + modules-center = ["clock"]; modules-right = [ "tray" "idle_inhibitor" @@ -40,7 +38,7 @@ in on-click = "activate"; }; - "niri/worksapces" = { }; + "niri/worksapces" = {}; "niri/taskbar" = { icon-size = 15; on-click = "activate"; diff --git a/home/modules/programs/wluma.nix b/home/modules/programs/wluma.nix index 6c30ea8..9c3d06a 100644 --- a/home/modules/programs/wluma.nix +++ b/home/modules/programs/wluma.nix @@ -3,11 +3,9 @@ pkgs, lib, ... -}: -let +}: let cfg = config.youthlic.programs.wluma; -in -{ +in { options = { youthlic.programs.wluma = { enable = lib.mkEnableOption "wluma"; @@ -39,18 +37,18 @@ in systemd.user.services.wluma = { Unit = { Description = "Adjusting screen brightness based on screen contents and amount of ambient light"; - PartOf = [ "graphical-session.target" ]; - After = [ "graphical-session.target" ]; + PartOf = ["graphical-session.target"]; + After = ["graphical-session.target"]; }; Service = { - ExecStart = [ "${lib.getExe cfg.package}" ]; + ExecStart = ["${lib.getExe cfg.package}"]; Restart = "always"; - EnvironmentFile = [ "-%E/wluma/service.conf" ]; + EnvironmentFile = ["-%E/wluma/service.conf"]; PrivateNetwork = true; PrivateMounts = false; }; Install = { - WantedBy = [ "graphical-session.target" ]; + WantedBy = ["graphical-session.target"]; }; }; }; diff --git a/home/modules/programs/zed.nix b/home/modules/programs/zed.nix index c77c3ab..731d932 100644 --- a/home/modules/programs/zed.nix +++ b/home/modules/programs/zed.nix @@ -3,11 +3,9 @@ config, lib, ... -}: -let +}: let cfg = config.youthlic.programs.zed-editor; -in -{ +in { options = { youthlic.programs.zed-editor = { enable = lib.mkEnableOption "zed-editor"; diff --git a/home/modules/xdg-dirs.nix b/home/modules/xdg-dirs.nix index a84c160..1845999 100644 --- a/home/modules/xdg-dirs.nix +++ b/home/modules/xdg-dirs.nix @@ -1,8 +1,10 @@ -{ lib, config, ... }: -let - cfg = config.youthlic.xdg-dirs; -in { + lib, + config, + ... +}: let + cfg = config.youthlic.xdg-dirs; +in { options = { youthlic.xdg-dirs = { enable = lib.mkEnableOption "xdg-dirs"; diff --git a/nixos/configurations/Akun/default.nix b/nixos/configurations/Akun/default.nix index beed60d..6c1788a 100644 --- a/nixos/configurations/Akun/default.nix +++ b/nixos/configurations/Akun/default.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { imports = [ ./hardware-configuration.nix ./stylix.nix diff --git a/nixos/configurations/Akun/disk-config.nix b/nixos/configurations/Akun/disk-config.nix index 2d21e40..f10dd5c 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/hardware-configuration.nix b/nixos/configurations/Akun/hardware-configuration.nix index aafa58e..3692432 100644 --- a/nixos/configurations/Akun/hardware-configuration.nix +++ b/nixos/configurations/Akun/hardware-configuration.nix @@ -1,17 +1,21 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + config, + lib, + pkgs, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; + boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod"]; + 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 4212114..c5ec9c0 100644 --- a/nixos/configurations/Akun/networking.nix +++ b/nixos/configurations/Akun/networking.nix @@ -1,5 +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 f508dda..f635ecc 100644 --- a/nixos/configurations/Akun/stylix.nix +++ b/nixos/configurations/Akun/stylix.nix @@ -1,5 +1,8 @@ -{ pkgs, rootPath, ... }: { + 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 7c04dd4..33847ac 100644 --- a/nixos/configurations/Akun/users/default.nix +++ b/nixos/configurations/Akun/users/default.nix @@ -1,5 +1,8 @@ -{ lib, pkgs, ... }: { + lib, + pkgs, + ... +}: { users = { mutableUsers = true; users.david = { diff --git a/nixos/configurations/Cape/default.nix b/nixos/configurations/Cape/default.nix index 688ad0f..6271f80 100644 --- a/nixos/configurations/Cape/default.nix +++ b/nixos/configurations/Cape/default.nix @@ -1,8 +1,4 @@ -{ - pkgs, - ... -}: -{ +{pkgs, ...}: { imports = [ ./forgejo.nix ./networking.nix diff --git a/nixos/configurations/Cape/disko-config.nix b/nixos/configurations/Cape/disko-config.nix index 8214982..2956283 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 4c3d515..74d4778 100644 --- a/nixos/configurations/Cape/forgejo.nix +++ b/nixos/configurations/Cape/forgejo.nix @@ -1,12 +1,11 @@ -{ config, ... }: -{ +{config, ...}: { youthlic.containers.forgejo = { enable = true; domain = "forgejo.youthlic.fun"; 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 12adf63..cb5ce86 100644 --- a/nixos/configurations/Cape/hardware-configuration.nix +++ b/nixos/configurations/Cape/hardware-configuration.nix @@ -1,17 +1,21 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - { - imports = - [ (modulesPath + "/profiles/qemu-guest.nix") - ]; + config, + lib, + pkgs, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/profiles/qemu-guest.nix") + ]; - boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; + boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk"]; + 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 0fc92b4..a106d53 100644 --- a/nixos/configurations/Cape/miniflux.nix +++ b/nixos/configurations/Cape/miniflux.nix @@ -1,5 +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 50d604c..2c876e2 100644 --- a/nixos/configurations/Cape/networking.nix +++ b/nixos/configurations/Cape/networking.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +{...}: { systemd.network = { enable = true; wait-online.enable = true; diff --git a/nixos/configurations/Cape/stylix.nix b/nixos/configurations/Cape/stylix.nix index d2b5e6f..7730b4b 100644 --- a/nixos/configurations/Cape/stylix.nix +++ b/nixos/configurations/Cape/stylix.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +{...}: { stylix = { enable = false; }; diff --git a/nixos/configurations/Cape/users/default.nix b/nixos/configurations/Cape/users/default.nix index 5eb47ab..7e89291 100644 --- a/nixos/configurations/Cape/users/default.nix +++ b/nixos/configurations/Cape/users/default.nix @@ -1,5 +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 8eb925d..5bcc8e8 100644 --- a/nixos/configurations/Tytonidae/default.nix +++ b/nixos/configurations/Tytonidae/default.nix @@ -3,8 +3,7 @@ pkgs, inputs, ... -}: -{ +}: { imports = (with inputs; [ nixos-hardware.nixosModules.asus-fx506hm diff --git a/nixos/configurations/Tytonidae/disk-config.nix b/nixos/configurations/Tytonidae/disk-config.nix index 6549e97..a1c5c88 100644 --- a/nixos/configurations/Tytonidae/disk-config.nix +++ b/nixos/configurations/Tytonidae/disk-config.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +{...}: { disko.devices = { disk = { disk1 = { diff --git a/nixos/configurations/Tytonidae/hardware-configuration.nix b/nixos/configurations/Tytonidae/hardware-configuration.nix index ae9c32a..f81150a 100644 --- a/nixos/configurations/Tytonidae/hardware-configuration.nix +++ b/nixos/configurations/Tytonidae/hardware-configuration.nix @@ -1,17 +1,21 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + config, + lib, + pkgs, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; + boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod"]; + 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 448d99a..8fd23ca 100644 --- a/nixos/configurations/Tytonidae/hardware.nix +++ b/nixos/configurations/Tytonidae/hardware.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { nixpkgs.config.cudaSupport = true; services = { hardware.bolt.enable = true; diff --git a/nixos/configurations/Tytonidae/networking.nix b/nixos/configurations/Tytonidae/networking.nix index 56fcb1e..5c335b0 100644 --- a/nixos/configurations/Tytonidae/networking.nix +++ b/nixos/configurations/Tytonidae/networking.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +{...}: { systemd.network = { enable = true; wait-online.enable = false; diff --git a/nixos/configurations/Tytonidae/stylix.nix b/nixos/configurations/Tytonidae/stylix.nix index f64e4ae..512d754 100644 --- a/nixos/configurations/Tytonidae/stylix.nix +++ b/nixos/configurations/Tytonidae/stylix.nix @@ -1,5 +1,8 @@ -{ pkgs, rootPath, ... }: { + 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 a1d9132..d7722a5 100644 --- a/nixos/configurations/Tytonidae/users/default.nix +++ b/nixos/configurations/Tytonidae/users/default.nix @@ -1,5 +1,8 @@ -{ lib, pkgs, ... }: { + 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 6f9de8e..7a4e588 100644 --- a/nixos/modules/containers/default.nix +++ b/nixos/modules/containers/default.nix @@ -1,8 +1,10 @@ -{ config, lib, ... }: -let - cfg = config.youthlic.containers; -in { + config, + lib, + ... +}: let + cfg = config.youthlic.containers; +in { imports = [ ./forgejo.nix ./miniflux.nix diff --git a/nixos/modules/containers/forgejo.nix b/nixos/modules/containers/forgejo.nix index 913213d..92dc034 100644 --- a/nixos/modules/containers/forgejo.nix +++ b/nixos/modules/containers/forgejo.nix @@ -3,11 +3,9 @@ config, lib, ... -}: -let +}: let cfg = config.youthlic.containers.forgejo; -in -{ +in { options = { youthlic.containers.forgejo = { enable = lib.mkEnableOption "forgejo container"; @@ -56,64 +54,62 @@ in } ]; - config = - { lib, ... }: - { - imports = [ - ./../programs/forgejo.nix - ./../programs/postgresql.nix - ]; + config = {lib, ...}: { + imports = [ + ./../programs/forgejo.nix + ./../programs/postgresql.nix + ]; - nixpkgs.pkgs = pkgs; + nixpkgs.pkgs = pkgs; - systemd.tmpfiles.rules = [ - "d /var/lib/forgejo 770 forgejo forgejo -" - "d /var/lib/postgresql 770 postgres postgres -" - ]; + systemd.tmpfiles.rules = [ + "d /var/lib/forgejo 770 forgejo forgejo -" + "d /var/lib/postgresql 770 postgres postgres -" + ]; - youthlic.programs = { - forgejo = { - enable = true; - domain = cfg.domain; - sshPort = cfg.sshPort; - httpPort = cfg.httpPort; - database = { - user = "forgejo"; - }; - }; - postgresql = { - enable = true; - database = "forgejo"; - auth_method = "peer"; - version = "17"; + youthlic.programs = { + forgejo = { + enable = true; + domain = cfg.domain; + sshPort = cfg.sshPort; + httpPort = cfg.httpPort; + database = { + user = "forgejo"; }; }; - - systemd.services.forgejo = { - wants = [ "postgresql.service" ]; - requires = [ "postgresql.service" ]; - after = [ "postgresql.service" ]; - wantedBy = [ "default.target" ]; + postgresql = { + enable = true; + database = "forgejo"; + auth_method = "peer"; + version = "17"; }; - - networking = { - defaultGateway = "192.168.111.1"; - firewall = { - enable = true; - allowedTCPPorts = [ - cfg.httpPort - cfg.sshPort - ]; - allowedUDPPorts = [ - cfg.httpPort - cfg.sshPort - ]; - }; - useHostResolvConf = lib.mkForce false; - }; - services.resolved.enable = true; - system.stateVersion = "24.11"; }; + + systemd.services.forgejo = { + wants = ["postgresql.service"]; + requires = ["postgresql.service"]; + after = ["postgresql.service"]; + wantedBy = ["default.target"]; + }; + + networking = { + defaultGateway = "192.168.111.1"; + firewall = { + enable = true; + allowedTCPPorts = [ + cfg.httpPort + cfg.sshPort + ]; + allowedUDPPorts = [ + cfg.httpPort + cfg.sshPort + ]; + }; + useHostResolvConf = lib.mkForce false; + }; + services.resolved.enable = true; + system.stateVersion = "24.11"; + }; }; }; } diff --git a/nixos/modules/containers/miniflux.nix b/nixos/modules/containers/miniflux.nix index 43516b3..e9bb5d0 100644 --- a/nixos/modules/containers/miniflux.nix +++ b/nixos/modules/containers/miniflux.nix @@ -3,11 +3,9 @@ config, lib, ... -}: -let +}: let cfg = config.youthlic.containers.miniflux; -in -{ +in { options = { youthlic.containers.miniflux = { enable = lib.mkEnableOption "miniflux container"; @@ -38,57 +36,55 @@ in }; }; - config = - { lib, ... }: - { - imports = [ - ./../programs/miniflux.nix - ./../programs/postgresql.nix - ]; + config = {lib, ...}: { + imports = [ + ./../programs/miniflux.nix + ./../programs/postgresql.nix + ]; - nixpkgs.pkgs = pkgs; + nixpkgs.pkgs = pkgs; - systemd.tmpfiles.rules = [ - "d /var/lib/miniflux 770 miniflux miniflux -" - "d /var/lib/postgresql 770 postgres postgres -" - "d /run/secrets 770 root miniflux -" - ]; + systemd.tmpfiles.rules = [ + "d /var/lib/miniflux 770 miniflux miniflux -" + "d /var/lib/postgresql 770 postgres postgres -" + "d /run/secrets 770 root miniflux -" + ]; - youthlic.programs = { - miniflux = { - enable = true; - database = { - user = "miniflux"; - }; - adminCredentialsFile = cfg.adminCredentialsFile; - }; - postgresql = { - enable = true; - database = "miniflux"; - auth_method = "peer"; - version = "17"; + youthlic.programs = { + miniflux = { + enable = true; + database = { + user = "miniflux"; }; + adminCredentialsFile = cfg.adminCredentialsFile; }; - - systemd.services.miniflux = { - wants = [ "postgresql.service" ]; - requires = [ "postgresql.service" ]; - after = [ "postgresql.service" ]; - wantedBy = [ "default.target" ]; + postgresql = { + enable = true; + database = "miniflux"; + auth_method = "peer"; + version = "17"; }; - - networking = { - defaultGateway = "192.168.111.1"; - firewall = { - enable = true; - allowedTCPPorts = [ 8485 ]; - allowedUDPPorts = [ 8485 ]; - }; - useHostResolvConf = lib.mkForce false; - }; - services.resolved.enable = true; - system.stateVersion = "24.11"; }; + + systemd.services.miniflux = { + 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]; + }; + useHostResolvConf = lib.mkForce false; + }; + services.resolved.enable = true; + system.stateVersion = "24.11"; + }; }; }; } diff --git a/nixos/modules/default.nix b/nixos/modules/default.nix index aaa71ca..2712376 100644 --- a/nixos/modules/default.nix +++ b/nixos/modules/default.nix @@ -3,8 +3,7 @@ inputs, outputs, ... -}: -{ +}: { imports = (with inputs; [ niri-flake.nixosModules.niri diff --git a/nixos/modules/deploy/default.nix b/nixos/modules/deploy/default.nix index cbc1559..f84ae2a 100644 --- a/nixos/modules/deploy/default.nix +++ b/nixos/modules/deploy/default.nix @@ -1,8 +1,10 @@ -{ config, lib, ... }: -let - cfg = config.youthlic.users.deploy; -in { + config, + lib, + ... +}: let + cfg = config.youthlic.users.deploy; +in { options = { youthlic.users.deploy = { enable = lib.mkEnableOption "deploy"; diff --git a/nixos/modules/gui/cosmic.nix b/nixos/modules/gui/cosmic.nix index ef4d0b7..ffed1dc 100644 --- a/nixos/modules/gui/cosmic.nix +++ b/nixos/modules/gui/cosmic.nix @@ -3,11 +3,9 @@ lib, pkgs, ... -}: -let +}: let cfg = config.youthlic.gui; -in -{ +in { config = lib.mkIf (cfg.enabled == "cosmic") { # Enable the X11 windowing system. # You can disable this if you're only using the Wayland session. diff --git a/nixos/modules/gui/default.nix b/nixos/modules/gui/default.nix index 6ea87f4..f2904ab 100644 --- a/nixos/modules/gui/default.nix +++ b/nixos/modules/gui/default.nix @@ -3,11 +3,9 @@ lib, pkgs, ... -}: -let +}: let cfg = config.youthlic.gui; -in -{ +in { imports = [ ./niri.nix ./cosmic.nix @@ -66,7 +64,7 @@ in monospace = [ "Maple Mono NF CN" ]; - emoji = [ "Noto Color Emoji" ]; + emoji = ["Noto Color Emoji"]; }; }; diff --git a/nixos/modules/gui/kde.nix b/nixos/modules/gui/kde.nix index bf3b78d..38b2c29 100644 --- a/nixos/modules/gui/kde.nix +++ b/nixos/modules/gui/kde.nix @@ -2,11 +2,9 @@ config, lib, ... -}: -let +}: let cfg = config.youthlic.gui; -in -{ +in { config = lib.mkIf (cfg.enabled == "kde") { stylix.targets.qt.platform = "kde"; services = { diff --git a/nixos/modules/gui/niri.nix b/nixos/modules/gui/niri.nix index 77e1aa7..dc42cda 100644 --- a/nixos/modules/gui/niri.nix +++ b/nixos/modules/gui/niri.nix @@ -3,11 +3,9 @@ lib, pkgs, ... -}: -let +}: let cfg = config.youthlic.gui; -in -{ +in { config = lib.mkIf (cfg.enabled == "niri") { qt = { enable = true; @@ -23,7 +21,7 @@ in terminal-exec = { enable = true; settings = { - default = [ "com.mitchellh.ghostty.desktop" ]; + default = ["com.mitchellh.ghostty.desktop"]; }; }; mime = { @@ -52,7 +50,7 @@ in "firefox.desktop" "chromium-browser.desktop" ]; - "x-scheme-handler/tg" = [ "telegramdesktop.desktop" ]; + "x-scheme-handler/tg" = ["telegramdesktop.desktop"]; "x-scheme-handler/unknown" = [ "firefox.desktop" "chromium-browser.desktop" diff --git a/nixos/modules/home.nix b/nixos/modules/home.nix index d44bfa9..9e0f7cb 100644 --- a/nixos/modules/home.nix +++ b/nixos/modules/home.nix @@ -6,8 +6,7 @@ pkgs, rootPath, ... -}: -{ +}: { options.youthlic.home-manager = { enable = lib.mkOption { type = lib.types.bool; @@ -33,19 +32,17 @@ ''; }; }; - 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}") @@ -58,7 +55,7 @@ inherit (pkgs) system; }; backupFileExtension = "backup"; - sharedModules = [ outputs.homeModules.default ]; + sharedModules = [outputs.homeModules.default]; }; }; } diff --git a/nixos/modules/i18n.nix b/nixos/modules/i18n.nix index aa226ef..a871fd3 100644 --- a/nixos/modules/i18n.nix +++ b/nixos/modules/i18n.nix @@ -3,11 +3,9 @@ lib, config, ... -}: -let +}: let cfg = config.youthlic.i18n; -in -{ +in { options = { youthlic.i18n = { enable = lib.mkEnableOption "zh env"; diff --git a/nixos/modules/nix.nix b/nixos/modules/nix.nix index 2de491c..2694ac5 100644 --- a/nixos/modules/nix.nix +++ b/nixos/modules/nix.nix @@ -5,14 +5,12 @@ pkgs, lib, ... -}: -{ +}: { config = { nixpkgs = { config = { allowUnfree = true; - allowInsecurePredicate = - p: + allowInsecurePredicate = p: builtins.elem (lib.getName p) [ # for fluffychat and neochat "olm" @@ -25,7 +23,7 @@ mode = "0444"; }; nix = { - nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; + nixPath = ["nixpkgs=${inputs.nixpkgs}"]; extraOptions = '' !include ${config.sops.secrets."access-tokens".path} ''; diff --git a/nixos/modules/programs/asusd.nix b/nixos/modules/programs/asusd.nix index 7627478..cd8e042 100644 --- a/nixos/modules/programs/asusd.nix +++ b/nixos/modules/programs/asusd.nix @@ -2,11 +2,9 @@ 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/caddy.nix b/nixos/modules/programs/caddy.nix index 5404b87..ad88774 100644 --- a/nixos/modules/programs/caddy.nix +++ b/nixos/modules/programs/caddy.nix @@ -1,8 +1,10 @@ -{ lib, config, ... }: -let - cfg = config.youthlic.programs.caddy; -in { + lib, + config, + ... +}: let + cfg = config.youthlic.programs.caddy; +in { options = { youthlic.programs.caddy = { enable = lib.mkEnableOption "caddy"; @@ -17,7 +19,7 @@ in enable = true; }; networking.firewall = { - allowedTCPPorts = [ 443 ]; + allowedTCPPorts = [443]; }; }; } diff --git a/nixos/modules/programs/conduwuit.nix b/nixos/modules/programs/conduwuit.nix index a5dc846..4a5f1d2 100644 --- a/nixos/modules/programs/conduwuit.nix +++ b/nixos/modules/programs/conduwuit.nix @@ -1,8 +1,10 @@ -{ config, lib, ... }: -let - cfg = config.youthlic.programs.conduwuit; -in { + config, + lib, + ... +}: let + cfg = config.youthlic.programs.conduwuit; +in { options = { youthlic.programs.conduwuit = { enable = lib.mkEnableOption "conduwuit"; @@ -24,7 +26,7 @@ in enable = true; settings = { global = { - port = [ 8481 ]; + port = [8481]; address = [ "0.0.0.0" "::" diff --git a/nixos/modules/programs/dae/default.nix b/nixos/modules/programs/dae/default.nix index 1f369e2..2556b73 100644 --- a/nixos/modules/programs/dae/default.nix +++ b/nixos/modules/programs/dae/default.nix @@ -4,11 +4,9 @@ pkgs, lib, ... -}: -let +}: let cfg = config.youthlic.programs.dae; -in -{ +in { options = { youthlic.programs.dae = { enable = lib.mkEnableOption "dae"; @@ -30,102 +28,100 @@ in mode = "0444"; sopsFile = rootPath + "/secrets/general.yaml"; }; - systemd.services = - let - update = '' - head="user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36" - new_proxy=/etc/dae/proxy.d.new - num=0 - check=1 - urls="$(cat ${config.sops.secrets.url.path})" - mkdir -p ''${new_proxy} - for url in ''${urls}; do - txt=''${new_proxy}/''${num}.txt - config="''${new_proxy}/''${num}.dae" - echo \'curl -LH \""''${head}"\" \""''${url}"\" -o \""''${txt}"\"\' - curl -LH "''${head}" "''${url}" -o "''${txt}" - echo End curl - echo "" > ''${config} - { - echo 'subscription {' - echo \ \ wget:\ \"file://proxy.d/''${num}.txt\" - echo "}" - } >> ''${config} - if [[ ! -s ''${txt} ]]; then - check=0 - fi - chmod 0640 ''${txt} - chmod 0640 ''${config} - num=$((num+1)) - - if [[ ''${check} -eq 0 ]]; then - echo "''${txt}" is empty - exit 103 - fi - done - if [[ -d /etc/dae/proxy.d ]]; then - rm -rf /etc/proxy.d.old - mv /etc/dae/proxy.d /etc/dae/proxy.d.old + systemd.services = let + update = '' + head="user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36" + new_proxy=/etc/dae/proxy.d.new + num=0 + check=1 + urls="$(cat ${config.sops.secrets.url.path})" + mkdir -p ''${new_proxy} + for url in ''${urls}; do + txt=''${new_proxy}/''${num}.txt + config="''${new_proxy}/''${num}.dae" + echo \'curl -LH \""''${head}"\" \""''${url}"\" -o \""''${txt}"\"\' + curl -LH "''${head}" "''${url}" -o "''${txt}" + echo End curl + echo "" > ''${config} + { + echo 'subscription {' + echo \ \ wget:\ \"file://proxy.d/''${num}.txt\" + echo "}" + } >> ''${config} + if [[ ! -s ''${txt} ]]; then + check=0 fi - mv ''${new_proxy} /etc/dae/proxy.d - ''; - updateScript = pkgs.writeShellApplication { - name = "update.sh"; - runtimeInputs = with pkgs; [ - coreutils - curl - ]; - text = '' - mkdir -p /etc/proxy.d - if [ -z "$(ls -A /etc/dae/proxy.d 2>/dev/null)" ]; then - echo "No subscription file found in /etc/dae/proxy.d. Update now..." - ${update} - else - echo "Found existing subscription files. Skipping immediate update." - fi - ''; - }; - updateForceScript = pkgs.writeShellApplication { - name = "update-force.sh"; - runtimeInputs = with pkgs; [ - coreutils - curl - ]; - text = '' + chmod 0640 ''${txt} + chmod 0640 ''${config} + num=$((num+1)) + + if [[ ''${check} -eq 0 ]]; then + echo "''${txt}" is empty + exit 103 + fi + done + if [[ -d /etc/dae/proxy.d ]]; then + rm -rf /etc/proxy.d.old + mv /etc/dae/proxy.d /etc/dae/proxy.d.old + fi + mv ''${new_proxy} /etc/dae/proxy.d + ''; + updateScript = pkgs.writeShellApplication { + name = "update.sh"; + runtimeInputs = with pkgs; [ + coreutils + curl + ]; + text = '' + mkdir -p /etc/proxy.d + if [ -z "$(ls -A /etc/dae/proxy.d 2>/dev/null)" ]; then + echo "No subscription file found in /etc/dae/proxy.d. Update now..." ${update} - ''; + else + echo "Found existing subscription files. Skipping immediate update." + fi + ''; + }; + updateForceScript = pkgs.writeShellApplication { + name = "update-force.sh"; + runtimeInputs = with pkgs; [ + coreutils + curl + ]; + text = '' + ${update} + ''; + }; + in { + "update-dae-subscription-immediate" = { + after = ["network-online.target"]; + wants = ["network-online.target"]; + before = ["dae.service"]; + serviceConfig = { + Type = "oneshot"; + User = "root"; + ExecStart = [ + "${updateScript}/bin/update.sh" + ]; }; - in - { - "update-dae-subscription-immediate" = { - after = [ "network-online.target" ]; - wants = [ "network-online.target" ]; - before = [ "dae.service" ]; - serviceConfig = { - Type = "oneshot"; - User = "root"; - ExecStart = [ - "${updateScript}/bin/update.sh" - ]; - }; - wantedBy = [ "multi-user.target" ]; - }; - "update-dae-subscription-force" = { - serviceConfig = { - Type = "oneshot"; - User = "root"; - ExecStartPre = [ - "-${pkgs.systemd}/bin/systemctl stop dae.service" - ]; - ExecStartPost = [ - "-${pkgs.systemd}/bin/systemctl start dae.service" - ]; - ExecStart = [ - "${updateForceScript}/bin/update-force.sh" - ]; - }; + wantedBy = ["multi-user.target"]; + }; + "update-dae-subscription-force" = { + serviceConfig = { + Type = "oneshot"; + User = "root"; + ExecStartPre = [ + "-${pkgs.systemd}/bin/systemctl stop dae.service" + ]; + ExecStartPost = [ + "-${pkgs.systemd}/bin/systemctl start dae.service" + ]; + ExecStart = [ + "${updateForceScript}/bin/update-force.sh" + ]; }; }; + }; }) (lib.mkIf (cfg.enable && config.youthlic.programs.juicity.client.enable) { environment.etc."dae/local.d/0.dae" = { diff --git a/nixos/modules/programs/default.nix b/nixos/modules/programs/default.nix index c0a27c9..f9901ad 100644 --- a/nixos/modules/programs/default.nix +++ b/nixos/modules/programs/default.nix @@ -1,5 +1,8 @@ -{ config, lib, ... }: { + config, + lib, + ... +}: { imports = [ ./transfer-sh.nix ./rustypaste diff --git a/nixos/modules/programs/forgejo.nix b/nixos/modules/programs/forgejo.nix index b0fc2e9..72e90a8 100644 --- a/nixos/modules/programs/forgejo.nix +++ b/nixos/modules/programs/forgejo.nix @@ -3,11 +3,9 @@ config, lib, ... -}: -let +}: let cfg = config.youthlic.programs.forgejo; -in -{ +in { options = { youthlic.programs.forgejo = { enable = lib.mkEnableOption "forgejo"; @@ -92,15 +90,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/guix.nix b/nixos/modules/programs/guix.nix index e2082b8..4059d03 100644 --- a/nixos/modules/programs/guix.nix +++ b/nixos/modules/programs/guix.nix @@ -1,8 +1,10 @@ -{ lib, config, ... }: -let - cfg = config.youthlic.programs.guix; -in { + lib, + config, + ... +}: let + cfg = config.youthlic.programs.guix; +in { options = { youthlic.programs.guix = { enable = lib.mkEnableOption "guix"; diff --git a/nixos/modules/programs/juicity/default.nix b/nixos/modules/programs/juicity/default.nix index 09047f3..2543c9e 100644 --- a/nixos/modules/programs/juicity/default.nix +++ b/nixos/modules/programs/juicity/default.nix @@ -3,11 +3,9 @@ lib, config, ... -}: -let +}: let cfg = config.youthlic.programs.juicity; -in -{ +in { imports = [ ./template.nix ]; @@ -23,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"; @@ -58,7 +56,7 @@ in }; }) (lib.mkIf cfg.server.enable { - users.groups.juicity.members = [ "root" ]; + users.groups.juicity.members = ["root"]; sops = { secrets = { "juicity/certificate" = { @@ -98,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 1d3cefc..50ae4fe 100644 --- a/nixos/modules/programs/juicity/template.nix +++ b/nixos/modules/programs/juicity/template.nix @@ -3,27 +3,23 @@ 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"; @@ -31,7 +27,7 @@ in }; settings = lib.mkOption { type = settingsFormat.type; - default = { }; + default = {}; example = { listen = ":1000"; server = "112.32.62.11:23182"; @@ -59,7 +55,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 @@ -68,7 +64,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"; @@ -76,7 +72,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. @@ -104,7 +100,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.nix b/nixos/modules/programs/kanata.nix index e5ff8e2..09d973c 100644 --- a/nixos/modules/programs/kanata.nix +++ b/nixos/modules/programs/kanata.nix @@ -3,18 +3,16 @@ 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/kvm.nix b/nixos/modules/programs/kvm.nix index 9686ee6..a72510b 100644 --- a/nixos/modules/programs/kvm.nix +++ b/nixos/modules/programs/kvm.nix @@ -3,11 +3,9 @@ lib, pkgs, ... -}: -let +}: let cfg = config.youthlic.programs.kvm; -in -{ +in { options = { youthlic.programs.kvm = { enable = lib.mkEnableOption "kvm"; @@ -24,7 +22,7 @@ in programs.virt-manager = { enable = true; }; - users.groups.libvirtd.members = [ cfg.unixName ]; + users.groups.libvirtd.members = [cfg.unixName]; virtualisation = { libvirtd = { enable = true; diff --git a/nixos/modules/programs/mautrix-telegram.nix b/nixos/modules/programs/mautrix-telegram.nix index 37daf7c..5e90e05 100644 --- a/nixos/modules/programs/mautrix-telegram.nix +++ b/nixos/modules/programs/mautrix-telegram.nix @@ -1,21 +1,22 @@ -{ config, lib, ... }: -let - cfg = config.youthlic.programs.mautrix-telegram; -in { + config, + lib, + ... +}: let + cfg = config.youthlic.programs.mautrix-telegram; +in { options = { youthlic.programs.mautrix-telegram = { enable = lib.mkEnableOption "mautrix-telegram"; }; }; - config = - let - conduwuit-cfg = config.youthlic.programs.conduwuit; - caddy-cfg = config.youthlic.programs.caddy; - in + config = let + conduwuit-cfg = config.youthlic.programs.conduwuit; + caddy-cfg = config.youthlic.programs.caddy; + in lib.mkMerge [ (lib.mkIf cfg.enable { - sops.secrets.matrix-telegram-bot = { }; + sops.secrets.matrix-telegram-bot = {}; services.mautrix-telegram = { enable = true; environmentFile = "${config.sops.secrets.matrix-telegram-bot.path}"; diff --git a/nixos/modules/programs/miniflux.nix b/nixos/modules/programs/miniflux.nix index 5dc701f..da1a106 100644 --- a/nixos/modules/programs/miniflux.nix +++ b/nixos/modules/programs/miniflux.nix @@ -1,8 +1,10 @@ -{ lib, config, ... }: -let - cfg = config.youthlic.programs.miniflux; -in { + lib, + config, + ... +}: let + cfg = config.youthlic.programs.miniflux; +in { options = { youthlic.programs.miniflux = { enable = lib.mkEnableOption "miniflux"; diff --git a/nixos/modules/programs/minio.nix b/nixos/modules/programs/minio.nix index a25a4a6..5cf0e5c 100644 --- a/nixos/modules/programs/minio.nix +++ b/nixos/modules/programs/minio.nix @@ -1,8 +1,10 @@ -{ lib, config, ... }: -let - cfg = config.youthlic.programs.minio; -in { + lib, + config, + ... +}: let + cfg = config.youthlic.programs.minio; +in { options = { youthlic.programs.minio = { enable = lib.mkEnableOption "minio"; diff --git a/nixos/modules/programs/nh.nix b/nixos/modules/programs/nh.nix index a8958fd..ce07c10 100644 --- a/nixos/modules/programs/nh.nix +++ b/nixos/modules/programs/nh.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +{...}: { config = { programs.nh = { enable = true; diff --git a/nixos/modules/programs/nix-ld.nix b/nixos/modules/programs/nix-ld.nix index 2625592..70594dd 100644 --- a/nixos/modules/programs/nix-ld.nix +++ b/nixos/modules/programs/nix-ld.nix @@ -3,11 +3,9 @@ config, lib, ... -}: -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/open-webui.nix b/nixos/modules/programs/open-webui.nix index bacd7e2..1770e5f 100644 --- a/nixos/modules/programs/open-webui.nix +++ b/nixos/modules/programs/open-webui.nix @@ -1,8 +1,10 @@ -{ config, lib, ... }: -let - cfg = config.youthlic.programs.open-webui; -in { + config, + lib, + ... +}: let + cfg = config.youthlic.programs.open-webui; +in { options = { youthlic.programs.open-webui = { enable = lib.mkEnableOption "open-webui"; @@ -23,15 +25,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 86ade4c..eaa0b1c 100644 --- a/nixos/modules/programs/openssh.nix +++ b/nixos/modules/programs/openssh.nix @@ -1,8 +1,10 @@ -{ config, lib, ... }: -let - cfg = config.youthlic.programs.openssh; -in { + config, + lib, + ... +}: let + cfg = config.youthlic.programs.openssh; +in { options = { youthlic.programs.openssh = { enable = lib.mkEnableOption "openssh"; @@ -42,7 +44,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 dc25db2..d60eeb8 100644 --- a/nixos/modules/programs/owncast.nix +++ b/nixos/modules/programs/owncast.nix @@ -1,8 +1,10 @@ -{ lib, config, ... }: -let - cfg = config.youthlic.programs.owncast; -in { + lib, + config, + ... +}: let + cfg = config.youthlic.programs.owncast; +in { options = { youthlic.programs.owncast = { enable = lib.mkEnableOption "owncast"; diff --git a/nixos/modules/programs/postgresql.nix b/nixos/modules/programs/postgresql.nix index 2d66235..ba075eb 100644 --- a/nixos/modules/programs/postgresql.nix +++ b/nixos/modules/programs/postgresql.nix @@ -3,11 +3,9 @@ config, lib, ... -}: -let +}: let cfg = config.youthlic.programs.postgresql; -in -{ +in { options = { youthlic.programs.postgresql = { enable = lib.mkEnableOption "postgresql"; @@ -29,7 +27,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/rustypaste/default.nix b/nixos/modules/programs/rustypaste/default.nix index 98eef2a..dd7536c 100644 --- a/nixos/modules/programs/rustypaste/default.nix +++ b/nixos/modules/programs/rustypaste/default.nix @@ -1,8 +1,10 @@ -{ lib, config, ... }: -let - cfg = config.youthlic.programs.rustypaste; -in { + lib, + config, + ... +}: let + cfg = config.youthlic.programs.rustypaste; +in { imports = [ ./template.nix ]; diff --git a/nixos/modules/programs/rustypaste/template.nix b/nixos/modules/programs/rustypaste/template.nix index 2cf4d9b..475bf58 100644 --- a/nixos/modules/programs/rustypaste/template.nix +++ b/nixos/modules/programs/rustypaste/template.nix @@ -3,20 +3,18 @@ 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 ''; @@ -63,7 +61,7 @@ in isSystemUser = true; }; groups = lib.optionalAttrs (cfg.group == "rustypaste") { - rustypaste = { }; + rustypaste = {}; }; }; systemd.services.rustypaste = { @@ -88,8 +86,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 930f8dd..65ac04a 100644 --- a/nixos/modules/programs/steam.nix +++ b/nixos/modules/programs/steam.nix @@ -3,11 +3,9 @@ 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/tailscale.nix b/nixos/modules/programs/tailscale.nix index 7932268..1055e9c 100644 --- a/nixos/modules/programs/tailscale.nix +++ b/nixos/modules/programs/tailscale.nix @@ -1,8 +1,10 @@ -{ config, lib, ... }: -let - cfg = config.youthlic.programs.tailscale; -in { + config, + lib, + ... +}: let + cfg = config.youthlic.programs.tailscale; +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 a861fe3..468054e 100644 --- a/nixos/modules/programs/transfer-sh.nix +++ b/nixos/modules/programs/transfer-sh.nix @@ -1,8 +1,10 @@ -{ lib, config, ... }: -let - cfg = config.youthlic.programs.transfer-sh; -in { + lib, + config, + ... +}: let + cfg = config.youthlic.programs.transfer-sh; +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 ddc40ac..9cd8297 100644 --- a/nixos/modules/programs/transmission.nix +++ b/nixos/modules/programs/transmission.nix @@ -5,11 +5,9 @@ inputs, rootPath, ... -}: -let +}: let cfg = config.youthlic.programs.transmission; -in -{ +in { options = { youthlic.programs.transmission = { enable = lib.mkEnableOption "transmission"; @@ -43,21 +41,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/sops.nix b/nixos/modules/sops.nix index 664bf65..4b78e6c 100644 --- a/nixos/modules/sops.nix +++ b/nixos/modules/sops.nix @@ -2,13 +2,12 @@ rootPath, config, ... -}: -{ +}: { config = { sops.defaultSopsFile = rootPath + "/secrets/general.yaml"; sops.age = { keyFile = "/var/sops/key.txt"; - sshKeyPaths = [ ]; + sshKeyPaths = []; generateKey = false; }; }; diff --git a/overlays/additions/default.nix b/overlays/additions/default.nix index adc922a..e971d33 100644 --- a/overlays/additions/default.nix +++ b/overlays/additions/default.nix @@ -1,10 +1,8 @@ -{ ... }@args: -final: prev: -let +{...} @ args: final: prev: let inherit (prev) lib; in -[ - ./rime-ice.nix -] -|> map (file: import file args) -|> (overlays: (lib.composeManyExtensions overlays) final prev) + [ + ./rime-ice.nix + ] + |> map (file: import file args) + |> (overlays: (lib.composeManyExtensions overlays) final prev) diff --git a/overlays/additions/rime-ice.nix b/overlays/additions/rime-ice.nix index 1547370..da0c133 100644 --- a/overlays/additions/rime-ice.nix +++ b/overlays/additions/rime-ice.nix @@ -1,9 +1,6 @@ -{ outputs, ... }: -final: prev: -let +{outputs, ...}: final: prev: let inherit (final) stdenv; inherit (stdenv.hostPlatform) system; -in -{ +in { rime-ice = outputs.packages."${system}".rime-ice; } diff --git a/overlays/modifications/dae.nix b/overlays/modifications/dae.nix index 3921d25..3ee2db2 100644 --- a/overlays/modifications/dae.nix +++ b/overlays/modifications/dae.nix @@ -1,9 +1,6 @@ -{ inputs, ... }: -final: prev: -let +{inputs, ...}: final: prev: let inherit (final) stdenv; inherit (stdenv.hostPlatform) system; -in -{ +in { dae = inputs.dae.packages."${system}".dae-unstable; } diff --git a/overlays/modifications/default.nix b/overlays/modifications/default.nix index 82bba99..c5054ec 100644 --- a/overlays/modifications/default.nix +++ b/overlays/modifications/default.nix @@ -1,15 +1,13 @@ -{ ... }@args: -final: prev: -let +{...} @ args: final: prev: let inherit (prev) lib; in -[ - ./spotify.nix - ./niri.nix - ./ghostty.nix - ./juicity.nix - ./dae.nix - ./jujutsu.nix -] -|> map (file: import file args) -|> (overlays: (lib.composeManyExtensions overlays) final prev) + [ + ./spotify.nix + ./niri.nix + ./ghostty.nix + ./juicity.nix + ./dae.nix + ./jujutsu.nix + ] + |> map (file: import file args) + |> (overlays: (lib.composeManyExtensions overlays) final prev) diff --git a/overlays/modifications/ghostty.nix b/overlays/modifications/ghostty.nix index dbc8773..c0a5615 100644 --- a/overlays/modifications/ghostty.nix +++ b/overlays/modifications/ghostty.nix @@ -1,9 +1,6 @@ -{ inputs, ... }: -final: prev: -let +{inputs, ...}: final: prev: let inherit (final) stdenv; inherit (stdenv.hostPlatform) system; -in -{ +in { ghostty = inputs.ghostty.packages."${system}".default; } diff --git a/overlays/modifications/juicity.nix b/overlays/modifications/juicity.nix index c1bbc69..52f5127 100644 --- a/overlays/modifications/juicity.nix +++ b/overlays/modifications/juicity.nix @@ -1,9 +1,6 @@ -{ outputs, ... }: -final: prev: -let +{outputs, ...}: final: prev: let inherit (final) stdenv; inherit (stdenv.hostPlatform) system; -in -{ +in { juicity = outputs.packages."${system}".juicity; } diff --git a/overlays/modifications/jujutsu.nix b/overlays/modifications/jujutsu.nix index f661b51..69708a2 100644 --- a/overlays/modifications/jujutsu.nix +++ b/overlays/modifications/jujutsu.nix @@ -1,8 +1,5 @@ -{ inputs, ... }: -final: prev: -let +{inputs, ...}: final: prev: let inherit (final.stdenv.hostPlatform) system; -in -{ - jujutsu = inputs.jj.packages."${system}".jujutsu.overrideAttrs { doCheck = false; }; +in { + jujutsu = inputs.jj.packages."${system}".jujutsu.overrideAttrs {doCheck = false;}; } diff --git a/overlays/modifications/niri.nix b/overlays/modifications/niri.nix index 5ba2cf6..200914b 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/spotify.nix b/overlays/modifications/spotify.nix index 6f92c03..1501605 100644 --- a/overlays/modifications/spotify.nix +++ b/overlays/modifications/spotify.nix @@ -1 +1 @@ -{ inputs, ... }: import "${inputs.oskars-dotfiles}/overlays/spotx.nix" +{inputs, ...}: import "${inputs.oskars-dotfiles}/overlays/spotx.nix" diff --git a/pkgs/_sources/generated.nix b/pkgs/_sources/generated.nix index e8936d6..42df88b 100644 --- a/pkgs/_sources/generated.nix +++ b/pkgs/_sources/generated.nix @@ -1,6 +1,10 @@ # This file was generated by nvfetcher, please do not modify it manually. -{ fetchgit, fetchurl, fetchFromGitHub, dockerTools }: { + fetchgit, + fetchurl, + fetchFromGitHub, + dockerTools, +}: { dioxionary = { pname = "dioxionary"; version = "4db80d458ff7494967c94ebb1db596abba0775b2"; @@ -10,13 +14,12 @@ fetchSubmodules = false; deepClone = false; leaveDotGit = false; - sparseCheckout = [ ]; + sparseCheckout = []; sha256 = "sha256-H5uMTtDX9hBV36MtiPPlHPaL//WM11J5kdtEhyJBZIU="; }; cargoLock."./Cargo.lock" = { lockFile = ./dioxionary-4db80d458ff7494967c94ebb1db596abba0775b2/./Cargo.lock; outputHashes = { - }; }; date = "2025-04-07"; @@ -30,7 +33,7 @@ fetchSubmodules = false; deepClone = false; leaveDotGit = false; - sparseCheckout = [ ]; + sparseCheckout = []; sha256 = "sha256-s/OYlW66mu/3MHwhZCxvQv8f/rNuCB4SLZ2jYPO5UQQ="; }; date = "2025-02-20"; @@ -45,7 +48,7 @@ fetchSubmodules = false; deepClone = false; leaveDotGit = false; - sparseCheckout = [ "Sans/OTC" ]; + sparseCheckout = ["Sans/OTC"]; sha256 = "sha256-UxbwdY2w3u6i1kBWwr5vMKvsnD3eCllN+kBrCH38KlY="; }; }; @@ -59,7 +62,7 @@ fetchSubmodules = false; deepClone = false; leaveDotGit = false; - sparseCheckout = [ "Serif/OTC" ]; + sparseCheckout = ["Serif/OTC"]; sha256 = "sha256-mfbBSdJrUCZiUUmsmndtEW6H3z6KfBn+dEftBySf2j4="; }; }; @@ -84,7 +87,7 @@ fetchSubmodules = false; deepClone = false; leaveDotGit = false; - sparseCheckout = [ ]; + sparseCheckout = []; sha256 = "sha256-aOAxb0KjhSwlNX/IDvGwEysYvImgUEIDeNDOWRl1qNk="; }; name = "idris"; diff --git a/pkgs/default.nix b/pkgs/default.nix index 3969f44..0c57ffa 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -2,25 +2,23 @@ pkgs, inputs, ... -}: -let - srcs = pkgs.callPackage ./_sources/generated.nix { }; - callPackage = - fn: args: pkgs.lib.callPackageWith (pkgs // { inherit inputs srcs callPackage; }) fn args; +}: let + srcs = pkgs.callPackage ./_sources/generated.nix {}; + callPackage = fn: args: pkgs.lib.callPackageWith (pkgs // {inherit inputs srcs callPackage;}) fn args; in -{ - pinentry-selector = callPackage ./pinentry-selector.nix { }; - helix = callPackage ./helix { }; - juicity = callPackage ./juicity.nix { }; - rime-ice = callPackage ./rime-ice.nix { }; - dioxionary = callPackage ./dioxionary.nix { }; + { + pinentry-selector = callPackage ./pinentry-selector.nix {}; + helix = callPackage ./helix {}; + juicity = callPackage ./juicity.nix {}; + rime-ice = callPackage ./rime-ice.nix {}; + dioxionary = callPackage ./dioxionary.nix {}; - noto-serif-cjk = callPackage ./noto-serif-cjk.nix { }; - noto-sans-cjk = callPackage ./noto-sans-cjk.nix { }; -} -// ( - let - firefox-addons = (callPackage "${inputs.nur-rycee}/pkgs/firefox-addons/default.nix" { }); - in - pkgs.lib.genAttrs [ "immersive-translate" "tridactyl" ] (name: firefox-addons."${name}") -) + noto-serif-cjk = callPackage ./noto-serif-cjk.nix {}; + noto-sans-cjk = callPackage ./noto-sans-cjk.nix {}; + } + // ( + let + firefox-addons = callPackage "${inputs.nur-rycee}/pkgs/firefox-addons/default.nix" {}; + in + pkgs.lib.genAttrs ["immersive-translate" "tridactyl"] (name: firefox-addons."${name}") + ) diff --git a/pkgs/dioxionary.nix b/pkgs/dioxionary.nix index 73a6d8e..a89ea19 100644 --- a/pkgs/dioxionary.nix +++ b/pkgs/dioxionary.nix @@ -6,32 +6,31 @@ installShellFiles, lib, ... -}: -let +}: let src = srcs.dioxionary; in -rustPlatform.buildRustPackage { - inherit (src) pname src; - version = "${src.version}"; - cargoLock = src.cargoLock."./Cargo.lock"; - nativeBuildInputs = [ - pkg-config - installShellFiles - ]; - buildInputs = [ openssl.dev ]; - doCheck = false; - postInstall = '' - installShellCompletion --cmd dioxionary \ - --bash <($out/bin/dioxionary completion bash) \ - --zsh <($out/bin/dioxionary completion zsh) \ - --fish <($out/bin/dioxionary completion fish) - ''; - meta = { - description = "Rusty stardict. Enables terminal-based word lookup and vocabulary memorization using offline or online dictionaries"; - homepage = "https://github.com/vaaandark/dioxionary"; - changelog = "https://github.com/vaaandark/dioxionary/releases/tag/${src.version}"; - license = lib.licenses.gpl2Only; - maintainers = with lib.maintainers; [ ulic-youthlic ]; - mainProgram = "dioxionary"; - }; -} + rustPlatform.buildRustPackage { + inherit (src) pname src; + version = "${src.version}"; + cargoLock = src.cargoLock."./Cargo.lock"; + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; + buildInputs = [openssl.dev]; + doCheck = false; + postInstall = '' + installShellCompletion --cmd dioxionary \ + --bash <($out/bin/dioxionary completion bash) \ + --zsh <($out/bin/dioxionary completion zsh) \ + --fish <($out/bin/dioxionary completion fish) + ''; + meta = { + description = "Rusty stardict. Enables terminal-based word lookup and vocabulary memorization using offline or online dictionaries"; + homepage = "https://github.com/vaaandark/dioxionary"; + changelog = "https://github.com/vaaandark/dioxionary/releases/tag/${src.version}"; + license = lib.licenses.gpl2Only; + maintainers = with lib.maintainers; [ulic-youthlic]; + mainProgram = "dioxionary"; + }; + } diff --git a/pkgs/helix/default.nix b/pkgs/helix/default.nix index 6d2abc1..eb9489f 100644 --- a/pkgs/helix/default.nix +++ b/pkgs/helix/default.nix @@ -4,13 +4,11 @@ inputs, callPackage, ... -}: -let +}: let inherit (inputs.helix.packages."${pkgs.system}") helix; - runtime = callPackage ./runtime.nix { }; + runtime = callPackage ./runtime.nix {}; runtimeInputs = ( - with pkgs; - [ + with pkgs; [ idris2Packages.idris2Lsp lua-language-server bash-language-server @@ -30,7 +28,7 @@ let marksman nixd deno - nixfmt-rfc-style + alejandra vscode-langservers-extracted fish-lsp gopls @@ -45,16 +43,16 @@ let ] ); in -pkgs.symlinkJoin { - name = "helix-wrapped"; - paths = [ helix ]; - inherit (helix) meta; - buildInputs = [ - pkgs.makeWrapper - ]; - postBuild = '' - wrapProgram $out/bin/hx \ - --suffix PATH : ${lib.makeBinPath runtimeInputs} \ - --set HELIX_RUNTIME ${runtime} - ''; -} + pkgs.symlinkJoin { + name = "helix-wrapped"; + paths = [helix]; + inherit (helix) meta; + buildInputs = [ + pkgs.makeWrapper + ]; + postBuild = '' + wrapProgram $out/bin/hx \ + --suffix PATH : ${lib.makeBinPath runtimeInputs} \ + --set HELIX_RUNTIME ${runtime} + ''; + } diff --git a/pkgs/helix/runtime.nix b/pkgs/helix/runtime.nix index 93aa5fb..9d57637 100644 --- a/pkgs/helix/runtime.nix +++ b/pkgs/helix/runtime.nix @@ -4,10 +4,8 @@ stdenv, runCommandNoCCLocal, ... -}: -let - buildGrammar = - grammar: +}: let + buildGrammar = grammar: stdenv.mkDerivation { pname = "helix-tree-sitter-${grammar.name}"; version = grammar.version; @@ -81,20 +79,20 @@ let } ) |> lib.mapAttrsToList (_: value: "ln -s ${value.value}/${value.name}.so $out/${value.name}.so"); - grammarDir = runCommandNoCCLocal "helix-grammars" { } '' + grammarDir = runCommandNoCCLocal "helix-grammars" {} '' mkdir -p $out ${builtins.concatStringsSep "\n" grammarLinks} ''; - queryDir = runCommandNoCCLocal "helix-query" { } '' + queryDir = runCommandNoCCLocal "helix-query" {} '' mkdir -p $out ${builtins.concatStringsSep "\n" queries} ''; in -runCommandNoCCLocal "helix-runtime" { } '' - mkdir -p $out + runCommandNoCCLocal "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/juicity.nix b/pkgs/juicity.nix index 5fa50c1..d3140a5 100644 --- a/pkgs/juicity.nix +++ b/pkgs/juicity.nix @@ -1,4 +1,8 @@ -{ buildGoModule, srcs, ... }: +{ + buildGoModule, + srcs, + ... +}: buildGoModule rec { name = "juicity"; version = "unstable-${srcs.juicity.date}.${srcs.juicity.version}"; diff --git a/pkgs/noto-sans-cjk.nix b/pkgs/noto-sans-cjk.nix index 1ddeef2..26a6a15 100644 --- a/pkgs/noto-sans-cjk.nix +++ b/pkgs/noto-sans-cjk.nix @@ -3,19 +3,18 @@ srcs, stdenvNoCC, ... -}: -let +}: let source = srcs.noto-sans-cjk; in -stdenvNoCC.mkDerivation (finalAttrs: { - pname = "noto-sans-cjk"; - version = source.version; + stdenvNoCC.mkDerivation (finalAttrs: { + pname = "noto-sans-cjk"; + version = source.version; - src = source.src; + src = source.src; - installPhase = '' - install -m444 -Dt $out/share/fonts/opentype/noto-sans-cjk Sans/OTC/*.ttc - ''; + installPhase = '' + install -m444 -Dt $out/share/fonts/opentype/noto-sans-cjk Sans/OTC/*.ttc + ''; - passthru.tests.noto-fonts = nixosTests.noto-fonts; -}) + passthru.tests.noto-fonts = nixosTests.noto-fonts; + }) diff --git a/pkgs/noto-serif-cjk.nix b/pkgs/noto-serif-cjk.nix index 143b30a..0c07bee 100644 --- a/pkgs/noto-serif-cjk.nix +++ b/pkgs/noto-serif-cjk.nix @@ -3,19 +3,18 @@ srcs, stdenvNoCC, ... -}: -let +}: let source = srcs.noto-serif-cjk; in -stdenvNoCC.mkDerivation (finalAttrs: { - pname = "noto-serif-cjk"; - version = source.version; + stdenvNoCC.mkDerivation (finalAttrs: { + pname = "noto-serif-cjk"; + version = source.version; - src = source.src; + src = source.src; - installPhase = '' - install -m444 -Dt $out/share/fonts/opentype/noto-serif-cjk Serif/OTC/*.ttc - ''; + installPhase = '' + install -m444 -Dt $out/share/fonts/opentype/noto-serif-cjk Serif/OTC/*.ttc + ''; - passthru.tests.noto-fonts = nixosTests.noto-fonts; -}) + passthru.tests.noto-fonts = nixosTests.noto-fonts; + }) diff --git a/pkgs/pinentry-selector.nix b/pkgs/pinentry-selector.nix index a8b04c4..d44c418 100644 --- a/pkgs/pinentry-selector.nix +++ b/pkgs/pinentry-selector.nix @@ -1,4 +1,4 @@ -{ pkgs }: +{pkgs}: pkgs.writeShellApplication { name = "pinentry"; runtimeInputs = with pkgs; [ diff --git a/pkgs/rime-ice.nix b/pkgs/rime-ice.nix index 384ad8b..f6ffeca 100644 --- a/pkgs/rime-ice.nix +++ b/pkgs/rime-ice.nix @@ -1,16 +1,19 @@ -{ srcs, stdenvNoCC, ... }: -let +{ + srcs, + stdenvNoCC, + ... +}: let source = srcs.rime-ice; in -stdenvNoCC.mkDerivation { - inherit (source) pname version src; + stdenvNoCC.mkDerivation { + inherit (source) pname version src; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir -p $out/share/rime-data - cp -r * $out/share/rime-data/ + mkdir -p $out/share/rime-data + cp -r * $out/share/rime-data/ - runHook postInstall - ''; -} + runHook postInstall + ''; + }