From af827c485bbc86b0f3ccdf8f04e54d15b004cbe2 Mon Sep 17 00:00:00 2001 From: xezo360hye Date: Wed, 4 Jun 2025 00:39:56 +0300 Subject: [PATCH] refactor: apply nixfmt --- flake.nix | 138 +++++++++++++++++------------- home/common.nix | 69 ++++++++------- home/modules/emacs/default.nix | 17 ++-- home/modules/firefox/default.nix | 132 ++++++++++++++++++---------- home/modules/hyprland/default.nix | 35 ++++---- home/modules/neovim/default.nix | 30 +++---- home/modules/nethack/default.nix | 36 ++++---- home/modules/plasma/default.nix | 100 +++++++++++----------- system/common.nix | 47 ++++++---- system/tuxedo.nix | 11 ++- 10 files changed, 354 insertions(+), 261 deletions(-) diff --git a/flake.nix b/flake.nix index 63df564..35fb31a 100644 --- a/flake.nix +++ b/flake.nix @@ -2,89 +2,107 @@ description = "My homebrew NixOS configurations"; inputs = { - nixpkgs.url = github:nixos/nixpkgs/nixos-unstable; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { - url = github:nix-community/home-manager; + url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; nixvim = { - url = github:nix-community/nixvim; + url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "nixpkgs"; }; plasma-manager = { - url = github:nix-community/plasma-manager; + url = "github:nix-community/plasma-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; - nur.url = github:nix-community/NUR; - nethack.url = git+https://git.psf.lt/xezo360hye/nethack?shallow=1; + nur.url = "github:nix-community/NUR"; + nethack.url = "git+https://git.psf.lt/xezo360hye/nethack?shallow=1"; }; - outputs = { - self, - nixpkgs, - home-manager, - nixvim, - nethack, - plasma-manager, - nur, - ... - } @ inputs: - let - inherit (nixpkgs) lib; + outputs = + { + self, + nixpkgs, + home-manager, + nixvim, + nethack, + plasma-manager, + nur, + ... + }@inputs: + let + inherit (nixpkgs) lib; - username = "andrey"; - hostnames = [ "tokishiko" "maidena" "noma" "tuxedo" ]; - stateVersion = "24.05"; + username = "andrey"; + hostnames = [ + "tokishiko" + "maidena" + "noma" + "tuxedo" + ]; + stateVersion = "24.05"; - makeSystem = hostname: { - "${hostname}" = nixpkgs.lib.nixosSystem { - specialArgs = { inherit inputs; }; - modules = [ - home-manager.nixosModules.home-manager - nur.modules.nixos.default + makeSystem = hostname: { + "${hostname}" = nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; }; + modules = [ + home-manager.nixosModules.home-manager + nur.modules.nixos.default - ./system/common.nix - ./system/${hostname}.nix - ./hardware/${hostname}.nix + ./system/common.nix + ./system/${hostname}.nix + ./hardware/${hostname}.nix - { - system.stateVersion = stateVersion; - networking.hostName = hostname; + { + system.stateVersion = stateVersion; + networking.hostName = hostname; - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; - home-manager.users.${username} = { - imports = [ - ./home/${hostname}.nix - ./home/common.nix - ] ++ (map - (module: - let hm = module.homeManagerModules; - in hm.${lib.head (lib.attrNames hm)}) - [ nixvim nethack plasma-manager ]); + home-manager.users.${username} = { + imports = + [ + ./home/${hostname}.nix + ./home/common.nix + ] + ++ (map + ( + module: + let + hm = module.homeManagerModules; + in + hm.${lib.head (lib.attrNames hm)} + ) + [ + nixvim + nethack + plasma-manager + ] + ); - home = { - username = username; - homeDirectory = "/home/${username}"; - stateVersion = stateVersion; + home = { + username = username; + homeDirectory = "/home/${username}"; + stateVersion = stateVersion; + }; + + news.display = "show"; }; - - news.display = "show"; - }; - } - ]; + } + ]; + }; }; + + forEachHost = fn: lib.mergeAttrsList (map fn hostnames); + in + { + nixosConfigurations = forEachHost makeSystem; + + formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-tree; }; - - forEachHost = fn: lib.mergeAttrsList (map fn hostnames); - in { - nixosConfigurations = forEachHost makeSystem; - - formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-tree; - }; } diff --git a/home/common.nix b/home/common.nix index 318f64b..78b927e 100644 --- a/home/common.nix +++ b/home/common.nix @@ -11,13 +11,11 @@ fastfetch.enable = true; btop.enable = true; - bash = { enable = true; historyControl = [ "ignoreboth" ]; }; - git = { enable = true; userName = "xezo360hye"; @@ -26,8 +24,14 @@ extraConfig = { credential.helper = "store"; init.defaultBranch = "master"; - url."https://github.com/".insteadOf = [ "gh:" "github:" ]; - url."https://git.psf.lt/".insteadOf = [ "psf:" "gitea:" ]; + url."https://github.com/".insteadOf = [ + "gh:" + "github:" + ]; + url."https://git.psf.lt/".insteadOf = [ + "psf:" + "gitea:" + ]; }; }; @@ -49,39 +53,42 @@ }; home = { - packages = with pkgs; let - sent' = sent.overrideAttrs (oldAttrs: { - buildInputs = oldAttrs.buildInputs ++ [ cairo ]; - patches = [ - ./resources/patches/sent-pdf.diff - ]; - }); - in [ - texlive.combined.scheme-full - telegram-desktop - libreoffice-qt6 - libqalculate - arduino-cli + packages = + with pkgs; + let + sent' = sent.overrideAttrs (oldAttrs: { + buildInputs = oldAttrs.buildInputs ++ [ cairo ]; + patches = [ + ./resources/patches/sent-pdf.diff + ]; + }); + in + [ + texlive.combined.scheme-full + telegram-desktop + libreoffice-qt6 + libqalculate + arduino-cli - gimp - krita - inkscape + gimp + krita + inkscape - ani-cli - ytfzf + ani-cli + ytfzf - cpufrequtils - steam-run + cpufrequtils + steam-run - sent' + sent' - gcc - python3 - nodejs - lua + gcc + python3 + nodejs + lua - wl-clipboard - ]; + wl-clipboard + ]; sessionVariables = { ANI_CLI_PLAYER = "mpv"; diff --git a/home/modules/emacs/default.nix b/home/modules/emacs/default.nix index 0a65995..0ca0539 100644 --- a/home/modules/emacs/default.nix +++ b/home/modules/emacs/default.nix @@ -3,15 +3,16 @@ programs.emacs = { enable = true; package = pkgs.emacs-gtk; - extraPackages = epkgs: with epkgs; [ - doom + extraPackages = + epkgs: with epkgs; [ + doom - magit - minimap - rainbow-delimiters + magit + minimap + rainbow-delimiters - company - company-tabnine - ]; + company + company-tabnine + ]; }; } diff --git a/home/modules/firefox/default.nix b/home/modules/firefox/default.nix index 52ab43c..efcce16 100644 --- a/home/modules/firefox/default.nix +++ b/home/modules/firefox/default.nix @@ -56,59 +56,97 @@ force = true; default = "ddg"; - engines = let - makeShortcuts = let - prefix = "@"; - in map (shortcut: prefix + shortcut); + engines = + let + makeShortcuts = + let + prefix = "@"; + in + map (shortcut: prefix + shortcut); - hideEngines = let - hideEngine = engine: { - name = engine; - value = { - metaData.hidden = true; - }; - }; - in engines: lib.listToAttrs (map hideEngine engines); - in (hideEngines [ "google" "bing" "amazondotcom-us" "ebay" ]) // - { - "Arch Wiki" = { - urls = [{ template = "https://wiki.archlinux.org/index.php?search={searchTerms}"; }]; - icon = "https://wiki.archlinux.org/favicon.ico"; - definedAliases = makeShortcuts [ "archlinux" "aw" ]; - }; - - "Nix Packages" = { - urls = [{ - template = "https://search.nixos.org/packages"; - params = [ - { name = "type"; value = "packages"; } - { name = "channel"; value = "unstable"; } - { name = "query"; value = "{searchTerms}"; } + hideEngines = + let + hideEngine = engine: { + name = engine; + value = { + metaData.hidden = true; + }; + }; + in + engines: lib.listToAttrs (map hideEngine engines); + in + (hideEngines [ + "google" + "bing" + "amazondotcom-us" + "ebay" + ]) + // { + "Arch Wiki" = { + urls = [ { template = "https://wiki.archlinux.org/index.php?search={searchTerms}"; } ]; + icon = "https://wiki.archlinux.org/favicon.ico"; + definedAliases = makeShortcuts [ + "archlinux" + "aw" ]; - }]; + }; - icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - definedAliases = makeShortcuts [ "nixpkgs" "packages" "np" ]; - }; + "Nix Packages" = { + urls = [ + { + template = "https://search.nixos.org/packages"; + params = [ + { + name = "type"; + value = "packages"; + } + { + name = "channel"; + value = "unstable"; + } + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } + ]; - "NixOS Wiki" = { - urls = [{ template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; }]; - icon = "https://wiki.nixos.org/favicon.png"; - definedAliases = makeShortcuts [ "nixos" "nw" ]; - }; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = makeShortcuts [ + "nixpkgs" + "packages" + "np" + ]; + }; - "MyNixOS" = { - urls = [{ template = "https://mynixos.com/search?q={searchTerms}"; }]; - icon = "https://mynixos.com/favicon-light.svg"; - definedAliases = makeShortcuts [ "mynixos" "mw" ]; - }; + "NixOS Wiki" = { + urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ]; + icon = "https://wiki.nixos.org/favicon.png"; + definedAliases = makeShortcuts [ + "nixos" + "nw" + ]; + }; - "RuTracker" = { - urls = [{ template = "https://rutracker.org/forum/tracker.php?nm={searchTerms}"; }]; - icon = "https://rutracker.org/favicon.ico"; - definedAliases = makeShortcuts [ "rutracker" "rt" ]; + "MyNixOS" = { + urls = [ { template = "https://mynixos.com/search?q={searchTerms}"; } ]; + icon = "https://mynixos.com/favicon-light.svg"; + definedAliases = makeShortcuts [ + "mynixos" + "mw" + ]; + }; + + "RuTracker" = { + urls = [ { template = "https://rutracker.org/forum/tracker.php?nm={searchTerms}"; } ]; + icon = "https://rutracker.org/favicon.ico"; + definedAliases = makeShortcuts [ + "rutracker" + "rt" + ]; + }; }; - }; }; }; @@ -126,7 +164,7 @@ EmailTracking = true; Fingerprinting = true; - Exceptions = []; + Exceptions = [ ]; }; FirefoxHome = { diff --git a/home/modules/hyprland/default.nix b/home/modules/hyprland/default.nix index 0f39e06..0699a48 100644 --- a/home/modules/hyprland/default.nix +++ b/home/modules/hyprland/default.nix @@ -5,7 +5,8 @@ lib, ... }: -let genFlatList = f: n: builtins.concatLists (builtins.genList f n); +let + genFlatList = f: n: builtins.concatLists (builtins.genList f n); in { programs.kitty = { @@ -50,26 +51,28 @@ in }; }; - bind = [ - "SUPER, Return, exec, kitty" - "SUPER SHIFT, Q, exit" + bind = + [ + "SUPER, Return, exec, kitty" + "SUPER SHIFT, Q, exit" - "SUPER, V, togglefloating" - "SUPER, J, togglesplit" - "SUPER, P, pseudo" + "SUPER, V, togglefloating" + "SUPER, J, togglesplit" + "SUPER, P, pseudo" - "ALT CTRL, left, workspace, -1" - "ALT CTRL, right, workspace, +1" - ] ++ ( - genFlatList - ( x: let n = toString (x + 1); + "ALT CTRL, left, workspace, -1" + "ALT CTRL, right, workspace, +1" + ] + ++ (genFlatList ( + x: + let + n = toString (x + 1); in - [ "SUPER, ${n}, workspace, ${n}" + [ + "SUPER, ${n}, workspace, ${n}" "SUPER SHIFT, ${n}, movetoworkspace, ${n}" ] - ) - 9 - ); + ) 9); }; }; } diff --git a/home/modules/neovim/default.nix b/home/modules/neovim/default.nix index 4af42ab..496f2c4 100644 --- a/home/modules/neovim/default.nix +++ b/home/modules/neovim/default.nix @@ -14,31 +14,31 @@ copilot-lua = { enable = true; - settings = { + settings = { suggestion.autoTrigger = true; suggestion.keymap = { accept = ""; acceptLine = ""; acceptWord = ""; }; - }; + }; }; }; keymaps = [ - { - mode = "n"; - key = ";"; - action = ":"; - } - { - mode = "n"; - key = ""; - action = "nohlsearch"; - options = { - silent = true; - }; - } + { + mode = "n"; + key = ";"; + action = ":"; + } + { + mode = "n"; + key = ""; + action = "nohlsearch"; + options = { + silent = true; + }; + } ]; }; } diff --git a/home/modules/nethack/default.nix b/home/modules/nethack/default.nix index 83a20db..368d268 100644 --- a/home/modules/nethack/default.nix +++ b/home/modules/nethack/default.nix @@ -34,20 +34,20 @@ hilite_status = { hitpoints = { - "100%" = "grey"; + "100%" = "grey"; "<100%" = "green"; - "<66%" = "yellow"; - "<50%" = "orange"; - "<33%" = "red&bold"; - "<15%" = "red&inverse"; + "<66%" = "yellow"; + "<50%" = "orange"; + "<33%" = "red&bold"; + "<15%" = "red&inverse"; }; power = { - "100%" = "grey"; + "100%" = "grey"; "<100%" = "green"; - "<66%" = "yellow"; - "<50%" = "orange"; - "<33%" = "red&bold"; + "<66%" = "yellow"; + "<50%" = "orange"; + "<33%" = "red&bold"; }; cap = { @@ -199,17 +199,21 @@ "(mud|buckled|riding|snow|hiking|combat|jungle) boots" = "magenta"; " (Dragonbane|Fire Brand|Frost Brand|Ogresmasher|Trollsbane|Werebane)" = "lightgreen"; " (Demonbane|Excalibur|Grayswandir|Snickersnee|Sunsword)" = "lightgreen"; - " (Orb of Detection|Sceptre of Might|Magic Mirror of Merlin|Mitre of Holiness|Tsurugi of Muramasa)" = "lightgreen"; + " (Orb of Detection|Sceptre of Might|Magic Mirror of Merlin|Mitre of Holiness|Tsurugi of Muramasa)" = + "lightgreen"; " (Cleaver|Giantslayer|Magicbane|Mjollnir|Vorpal Blade)" = "lightgreen"; - " (Heart of Ahriman|Staff of Aesculapius|Eyes of the Overworld|Platinum Yendorian Express Card|Orb of Fate|Eye of the Aethiopica)" = "lightgreen"; + " (Heart of Ahriman|Staff of Aesculapius|Eyes of the Overworld|Platinum Yendorian Express Card|Orb of Fate|Eye of the Aethiopica)" = + "lightgreen"; " (Grimtooth|Orcrist|Sting|Stormbringer)" = "lightgreen"; " (Longbow of Diana|Master Key of Thievery)" = "lightgreen"; - " (Bell of Opening|silver bell|Candelabrum of Invocation|candelabrum|Book of the Dead|papyrus spellbook)" = "magenta&bold"; + " (Bell of Opening|silver bell|Candelabrum of Invocation|candelabrum|Book of the Dead|papyrus spellbook)" = + "magenta&bold"; " Amulet of Yendor named" = "magenta&bold"; " cursed.* bag .* holding" = "red&bold"; " cursed.* luck(stone)?($| )" = "red&bold"; " cursed.* unicorn horn" = "red&bold"; - " cursed.* (Bell of Opening|silver bell|Candelabrum of Invocation|candelabrum|Book of the Dead|papyrus spellbook)" = "red&bold"; + " cursed.* (Bell of Opening|silver bell|Candelabrum of Invocation|candelabrum|Book of the Dead|papyrus spellbook)" = + "red&bold"; "cursed tins? .* spinach|tins? .* spinach .* (cursed|C($| ))" = "red"; " load(stone)?($| )" = "red&underline"; " bag .* tricks" = "blue&underline"; @@ -218,8 +222,10 @@ " gold piece" = "yellow"; " valuable" = "brown"; " gems? .* hard" = "yellow"; - " ([0-9]+|an?|gems? .*) (uncursed |cursed |blessed )?(dilithium|opal|garnet|jasper|agate|jet|obsidian|jade|citrine|chrysoberyl|amber|amethyst|fluorite|turquoise)(e?s)?( stones?| gems?| crystals?)?( named .*)?$" = "brown"; - " ([0-9]+|an?|gems?.*) (uncursed |cursed |blessed )?(diamond|rub(y|ies)|jacinth|sapphire|black opal|emerald|topaz|aquamarine)(e?s)?( stones?| gems?)?( named .*)?$" = "yellow"; + " ([0-9]+|an?|gems? .*) (uncursed |cursed |blessed )?(dilithium|opal|garnet|jasper|agate|jet|obsidian|jade|citrine|chrysoberyl|amber|amethyst|fluorite|turquoise)(e?s)?( stones?| gems?| crystals?)?( named .*)?$" = + "brown"; + " ([0-9]+|an?|gems?.*) (uncursed |cursed |blessed )?(diamond|rub(y|ies)|jacinth|sapphire|black opal|emerald|topaz|aquamarine)(e?s)?( stones?| gems?)?( named .*)?$" = + "yellow"; " 0%" = "white"; " [1-9]%" = "cyan"; " [12][0-9]%" = "cyan"; diff --git a/home/modules/plasma/default.nix b/home/modules/plasma/default.nix index d8f071e..1e19d2a 100644 --- a/home/modules/plasma/default.nix +++ b/home/modules/plasma/default.nix @@ -16,14 +16,16 @@ programs.plasma = { enable = true; - input.touchpads = [{ - enable = true; - name = "SynPS/2 Synaptics TouchPad"; - vendorId = "0002"; - productId = "0007"; - disableWhileTyping = false; - naturalScroll = true; - }]; + input.touchpads = [ + { + enable = true; + name = "SynPS/2 Synaptics TouchPad"; + vendorId = "0002"; + productId = "0007"; + disableWhileTyping = false; + naturalScroll = true; + } + ]; kwin.edgeBarrier = 0; workspace = { @@ -40,54 +42,54 @@ floating = false; height = 44; - widgets = let - kickoff = { - kickoff.icon = "nix-snowflake-white"; - }; - - taskmanager = { - iconTasks.launchers = [ - "applications:systemsettings.desktop" - "applications:org.kde.dolphin.desktop" - "applications:firefox.desktop" - "applications:org.kde.konsole.desktop" - ]; - }; - - systray = { - systemTray.items.shown = [ - "org.kde.plasma.battery" - ]; - }; - - digital-clock = { - digitalClock = { - date.format = "isoDate"; - time.format = "24h"; - - date.position = "belowTime"; - calendar.firstDayOfWeek = "monday"; + widgets = + let + kickoff = { + kickoff.icon = "nix-snowflake-white"; }; - }; - workspaces = "org.kde.plasma.pager"; - separator = "org.kde.plasma.panelspacer"; - in - [ - kickoff - workspaces - taskmanager + taskmanager = { + iconTasks.launchers = [ + "applications:systemsettings.desktop" + "applications:org.kde.dolphin.desktop" + "applications:firefox.desktop" + "applications:org.kde.konsole.desktop" + ]; + }; - separator - digital-clock - separator + systray = { + systemTray.items.shown = [ + "org.kde.plasma.battery" + ]; + }; - systray - ]; + digital-clock = { + digitalClock = { + date.format = "isoDate"; + time.format = "24h"; + + date.position = "belowTime"; + calendar.firstDayOfWeek = "monday"; + }; + }; + + workspaces = "org.kde.plasma.pager"; + separator = "org.kde.plasma.panelspacer"; + in + [ + kickoff + workspaces + taskmanager + + separator + digital-clock + separator + + systray + ]; } ]; - window-rules = [ { description = "Konsole"; diff --git a/system/common.nix b/system/common.nix index f7b3b77..f82e139 100644 --- a/system/common.nix +++ b/system/common.nix @@ -1,23 +1,27 @@ -{ inputs, config, pkgs, lib, ... }: -let flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs; +{ + inputs, + config, + pkgs, + lib, + ... +}: +let + flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs; in { # Bootloader boot.loader.grub.enable = true; boot.loader.grub.device = lib.mkDefault "/dev/sda"; - # Networking networking.networkmanager.enable = true; services.openssh.enable = true; services.tailscale.enable = true; - # l10n and i8n time.timeZone = "Europe/Riga"; i18n.defaultLocale = "en_US.UTF-8"; - # Editor programs.neovim = { enable = true; @@ -26,13 +30,15 @@ in defaultEditor = true; }; - # Nix nixpkgs.config.allowUnfree = true; nix = { settings = { trusted-users = [ "andrey" ]; - experimental-features = [ "nix-command" "flakes" ]; + experimental-features = [ + "nix-command" + "flakes" + ]; flake-registry = ""; nix-path = config.nix.nixPath; }; @@ -42,19 +48,26 @@ in nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs; }; - # Users users.mutableUsers = false; users.users.andrey = { isNormalUser = true; initialHashedPassword = "$y$j9T$mGZT4otEkrc94e.Ile.P20$BoxfgxCiacs.tYoEp7S5AjcP.aMUBrsaCJYJkBot635"; - extraGroups = [ "wheel" "cdrom" "networkmanager" "audio" "dialout" "scanner" "lp" "adbusers" ]; + extraGroups = [ + "wheel" + "cdrom" + "networkmanager" + "audio" + "dialout" + "scanner" + "lp" + "adbusers" + ]; }; security.sudo.execWheelOnly = true; security.sudo.wheelNeedsPassword = false; - # Printers and scanners hardware.sane.enable = true; services.printing.enable = true; @@ -73,20 +86,24 @@ in stats.enable = true; }; - # Programs programs = { git = { enable = true; config = { init.defaultBranch = "master"; - url."https://github.com/".insteadOf = [ "gh:" "github:" ]; - url."https://git.psf.lt/".insteadOf = [ "psf:" "gitea:" ]; + url."https://github.com/".insteadOf = [ + "gh:" + "github:" + ]; + url."https://git.psf.lt/".insteadOf = [ + "psf:" + "gitea:" + ]; }; }; }; - # Packages environment.systemPackages = with pkgs; [ alsa-utils @@ -97,13 +114,11 @@ in unzip ]; - hardware.bluetooth = { enable = true; settings.General.Enable = "Source,Sink,Media,Socket"; }; - # Xorg security.rtkit.enable = true; services = { diff --git a/system/tuxedo.nix b/system/tuxedo.nix index 8a2d929..e660bed 100644 --- a/system/tuxedo.nix +++ b/system/tuxedo.nix @@ -28,8 +28,11 @@ }; }; - fonts.packages = lib.mkAfter (with pkgs; [ - vistafonts - corefonts - ]); + fonts.packages = lib.mkAfter ( + with pkgs; + [ + vistafonts + corefonts + ] + ); }