From e521af0b1272dd3fdd0352f8d1d3b767a2098bd8 Mon Sep 17 00:00:00 2001 From: Ivan Kirilov Dimitrov Date: Sun, 7 Jul 2024 16:01:23 +0200 Subject: [PATCH] reformating --- home/modules/default.nix | 505 +++++++++++++------------------------- nixos/modules/default.nix | 8 +- 2 files changed, 167 insertions(+), 346 deletions(-) diff --git a/home/modules/default.nix b/home/modules/default.nix index 7f6d13a..289ca95 100644 --- a/home/modules/default.nix +++ b/home/modules/default.nix @@ -8,42 +8,22 @@ toplevel@{ moduleWithSystem, ... }: { password-store = { enable = true; package = pkgs.pass.withExtensions (e: with e; [ pass-otp pass-file ]); - settings = { - PASSWORD_STORE_DIR = "${config.home.homeDirectory}/.password-store"; - }; + settings = { PASSWORD_STORE_DIR = "${config.home.homeDirectory}/.password-store"; }; }; git = { enable = true; delta.enable = true; userName = pkgs.lib.mkDefault "Ivan Kirilov Dimitrov"; userEmail = pkgs.lib.mkDefault "ivan@idimitrov.dev"; - signing = { - signByDefault = true; - key = "ivan@idimitrov.dev"; - }; - extraConfig = { - color.ui = "auto"; - pull.rebase = true; - push.autoSetupRemote = true; - }; - aliases = { - a = "add ."; - c = "commit"; - d = "diff --cached"; - p = "push"; - }; + signing = { signByDefault = true; key = "ivan@idimitrov.dev"; }; + extraConfig = { color.ui = "auto"; pull.rebase = true; push.autoSetupRemote = true; }; + aliases = { a = "add ."; c = "commit"; d = "diff --cached"; p = "push"; }; }; gpg.enable = true; }; services = { pueue.enable = true; - gpg-agent = { - enable = true; - enableBashIntegration = true; - enableZshIntegration = true; - enableNushellIntegration = true; - pinentryPackage = pkgs.pinentry-qt; - }; + gpg-agent = { enable = true; enableBashIntegration = true; enableZshIntegration = true; enableNushellIntegration = true; pinentryPackage = pkgs.pinentry-qt; }; }; home = { stateVersion = toplevel.config.flake.stateVersion; @@ -55,17 +35,8 @@ toplevel@{ moduleWithSystem, ... }: { TERM = "screen-256color"; MAKEFLAGS = "-j 4"; }; - pointerCursor = with pkgs; { - name = "catppuccin-mocha-green-cursors"; - package = catppuccin-cursors.mochaGreen; - size = 24; - gtk.enable = true; - }; - packages = with pkgs; [ - transmission_4 - speedtest-cli - nvim - ]; + pointerCursor = with pkgs; { name = "catppuccin-mocha-green-cursors"; package = catppuccin-cursors.mochaGreen; size = 24; gtk.enable = true; }; + packages = with pkgs; [ transmission_4 speedtest-cli nvim ]; }; xdg = { enable = true; @@ -111,13 +82,12 @@ toplevel@{ moduleWithSystem, ... }: { ls = "${pkgs.nushell}/bin/nu -c 'ls'"; la = "${pkgs.nushell}/bin/nu -c 'ls -al'"; torrent = "transmission-remote"; + torrent-start = "transmission-daemon"; vi = "nvim"; sc = "systemctl"; neofetch = "${pkgs.fastfetch}/bin/fastfetch -c all.jsonc"; }; - sessionVariables = { - TERM = "screen-256color"; - }; + sessionVariables = { TERM = "screen-256color"; }; in { bash = { @@ -125,11 +95,7 @@ toplevel@{ moduleWithSystem, ... }: { enable = true; enableVteIntegration = true; historyControl = [ "erasedups" ]; - historyIgnore = [ - "ls" - "cd" - "exit" - ]; + historyIgnore = [ "ls" "cd" "exit" ]; }; zsh = { inherit shellAliases sessionVariables; @@ -144,30 +110,10 @@ toplevel@{ moduleWithSystem, ... }: { }; nushell = { enable = true; - environmentVariables = { - config = '' - { - show_banner: false, - completions: { - quick: false - partial: false - algorithm: "prefix" - } - } - ''; - }; - shellAliases = shellAliases // { - gcal = '' - bash -c "cal $(date +%Y)" - ''; - la = "ls -al"; - dev = "nix develop --command $env.SHELL"; - }; - }; - kitty.shellIntegration = { - enableBashIntegration = true; - enableZshIntegration = true; + environmentVariables = { config = '' { show_banner: false, completions: { quick: false partial: false algorithm: "prefix" } } ''; }; + shellAliases = shellAliases // { gcal = '' bash -c "cal $(date +%Y)" ''; la = "ls -al"; dev = "nix develop --command $env.SHELL"; }; }; + kitty.shellIntegration = { enableBashIntegration = true; enableZshIntegration = true; }; tmux = { enable = true; clock24 = true; @@ -181,12 +127,7 @@ toplevel@{ moduleWithSystem, ... }: { set-option -a terminal-features 'screen-256color:RGB' ''; }; - starship = { - enable = true; - enableNushellIntegration = true; - enableZshIntegration = true; - enableBashIntegration = true; - }; + starship = { enable = true; enableNushellIntegration = true; enableZshIntegration = true; enableBashIntegration = true; }; }; } ); @@ -196,21 +137,12 @@ toplevel@{ moduleWithSystem, ... }: { programs = { tealdeer = { enable = true; - settings = { - display = { - compact = true; - }; - updates = { - auto_update = true; - }; - }; + settings = { display = { compact = true; }; updates = { auto_update = true; }; }; }; bottom = { enable = true; settings = { - flags = { - rate = "250ms"; - }; + flags = { rate = "250ms"; }; row = [ { ratio = 40; child = [{ type = "cpu"; } { type = "mem"; } { type = "net"; }]; } { ratio = 35; child = [{ type = "temp"; } { type = "disk"; }]; } @@ -233,46 +165,34 @@ toplevel@{ moduleWithSystem, ... }: { terminal = "kitty"; modifier = "Mod4"; startup = [ - { command = "swaymsg 'workspace 1; exec kitty'"; } { command = "swaymsg 'workspace 2; exec firefox'"; } + { command = "swaymsg 'workspace 1; exec kitty'"; } ]; bars = [ ]; window.titlebar = false; keybindings = pkgs.lib.mkOptionDefault { - # Audio "XF86AudioMicMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-mute @DEFAULT_SOURCE@ toggle"; "XF86AudioRaiseVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%"; "XF86AudioLowerVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -5%"; "Alt+XF86AudioRaiseVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-volume @DEFAULT_SOURCE@ +5%"; "Alt+XF86AudioLowerVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-volume @DEFAULT_SOURCE@ -5%"; "XF86AudioMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle"; - # Display - "Alt+Shift+l" = "exec ${pkgs.swaylock}/bin/swaylock"; # Lock screen - "XF86ScreenSaver" = "output 'eDP-1' toggle"; # Turn screen off + "Alt+Shift+l" = "exec ${pkgs.swaylock}/bin/swaylock"; + "XF86ScreenSaver" = "output 'eDP-1' toggle"; "XF86MonBrightnessUp" = "exec doas ${pkgs.light}/bin/light -A 10"; "XF86MonBrightnessDown" = "exec doas ${pkgs.light}/bin/light -U 10"; - # Programs "${modifier}+p" = "exec ${menu}"; "${modifier}+Shift+a" = "exec ${pkgs.screenshot}/bin/screenshot area"; "${modifier}+Shift+s" = "exec ${pkgs.screenshot}/bin/screenshot"; "${modifier}+c" = "exec ${pkgs.sal}/bin/sal"; "End" = "exec rofi -show calc"; - # sway commands "${modifier}+Shift+r" = "reload"; "${modifier}+Shift+c" = "kill"; "${modifier}+Shift+q" = "exit"; }; - input = { - "*" = { - xkb_layout = "us,bg"; - xkb_options = "grp:win_space_toggle"; - xkb_variant = ",phonetic"; - }; - }; - }; - swaynag = { - enable = true; + input = { "*" = { xkb_layout = "us,bg"; xkb_options = "grp:win_space_toggle"; xkb_variant = ",phonetic"; }; }; }; + swaynag = { enable = config.wayland.windowManager.sway.enable; }; }; programs = { waybar = { @@ -285,55 +205,33 @@ toplevel@{ moduleWithSystem, ... }: { layer = "top"; position = "top"; height = 30; - output = [ - "eDP-1" - "HDMI-A-1" - ]; + output = [ "eDP-1" "HDMI-A-1" ]; + modules-left = [ "sway/workspaces" ]; modules-center = [ "clock#week" "clock#year" "clock#time" ]; modules-right = [ "network" "pulseaudio" "memory" "cpu" "battery" ]; - "clock#time" = { - format = "{:%H:%M:%S}"; - interval = 1; - }; - - "clock#week" = { - format = "{:%a}"; - }; - - "clock#year" = { - format = "{:%Y-%m-%d}"; - }; + "clock#time" = { format = "{:%H:%M:%S}"; interval = 1; }; + "clock#week" = { format = "{:%a}"; }; + "clock#year" = { format = "{:%Y-%m-%d}"; }; battery = { format = "{icon} {capacity}% {time}"; format-time = " {H} h {M} m"; format-icons = [ "" "" "" "" "" ]; - states = { - warning = 30; - critical = 15; - }; + states = { warning = 30; critical = 15; }; }; - cpu = { - format = " {usage}%"; - }; + cpu = { format = " {usage}%"; }; - memory = { - format = " {percentage}%"; - interval = 5; - }; + memory = { format = " {percentage}%"; interval = 5; }; pulseaudio = { format = "{icon} {volume}% | {format_source}"; format-muted = "󰝟 {volume}% | {format_source}"; format-source = "{volume}% "; format-source-muted = "{volume}% "; - format-icons = { - headphone = ""; - default = [ "" "" "" ]; - }; + format-icons = { headphone = ""; default = [ "" "" "" ]; }; }; network = { @@ -344,153 +242,146 @@ toplevel@{ moduleWithSystem, ... }: { interval = 5; }; - "sway/workspaces" = { - disable-scroll = true; - all-outputs = true; - }; + "sway/workspaces" = { disable-scroll = true; all-outputs = true; }; }; }; - systemd = { - enable = true; - target = "sway-session.target"; - }; - style = /* CSS */ '' - @define-color rosewater #f5e0dc; - @define-color flamingo #f2cdcd; - @define-color pink #f5c2e7; - @define-color mauve #cba6f7; - @define-color red #f38ba8; - @define-color maroon #eba0ac; - @define-color peach #fab387; - @define-color yellow #f9e2af; - @define-color green #a6e3a1; - @define-color teal #94e2d5; - @define-color sky #89dceb; - @define-color sapphire #74c7ec; - @define-color blue #89b4fa; - @define-color lavender #b4befe; - @define-color text #cdd6f4; - @define-color subtext1 #bac2de; - @define-color subtext0 #a6adc8; - @define-color overlay2 #9399b2; - @define-color overlay1 #7f849c; - @define-color overlay0 #6c7086; - @define-color surface2 #585b70; - @define-color surface1 #45475a; - @define-color surface0 #313244; - @define-color base #1e1e2e; - @define-color mantle #181825; - @define-color crust #11111b; - * { - font-family: FontAwesome, 'Fira Code'; - font-size: 13px; - } + systemd = { enable = true; target = "sway-session.target"; }; + style = /* CSS */ + '' + @define-color rosewater #f5e0dc; + @define-color flamingo #f2cdcd; + @define-color pink #f5c2e7; + @define-color mauve #cba6f7; + @define-color red #f38ba8; + @define-color maroon #eba0ac; + @define-color peach #fab387; + @define-color yellow #f9e2af; + @define-color green #a6e3a1; + @define-color teal #94e2d5; + @define-color sky #89dceb; + @define-color sapphire #74c7ec; + @define-color blue #89b4fa; + @define-color lavender #b4befe; + @define-color text #cdd6f4; + @define-color subtext1 #bac2de; + @define-color subtext0 #a6adc8; + @define-color overlay2 #9399b2; + @define-color overlay1 #7f849c; + @define-color overlay0 #6c7086; + @define-color surface2 #585b70; + @define-color surface1 #45475a; + @define-color surface0 #313244; + @define-color base #1e1e2e; + @define-color mantle #181825; + @define-color crust #11111b; + * { + font-family: FontAwesome, 'Fira Code'; + font-size: 13px; + } - window#waybar { - background-color: rgba(43, 48, 59, 0.1); - border-bottom: 2px solid rgba(100, 114, 125, 0.5); - color: @rosewater; - } + window#waybar { + background-color: rgba(43, 48, 59, 0.1); + border-bottom: 2px solid rgba(100, 114, 125, 0.5); + color: @rosewater; + } - #workspaces button { - padding: 0 5px; - background-color: @base; - color: @text; - border-radius: 6px; - } + #workspaces button { + padding: 0 5px; + background-color: @base; + color: @text; + border-radius: 6px; + } - #workspaces button:hover { - background: @mantle; - } + #workspaces button:hover { + background: @mantle; + } - #workspaces button.focused { - background-color: @crust; - box-shadow: inset 0 -2px @sky; - } + #workspaces button.focused { + background-color: @crust; + box-shadow: inset 0 -2px @sky; + } - #workspaces button.urgent { - background-color: @red; - } + #workspaces button.urgent { + background-color: @red; + } - #clock, - #battery, - #cpu, - #memory, - #disk, - #temperature, - #backlight, - #network, - #pulseaudio, - #wireplumber, - #custom-media, - #tray, - #mode, - #idle_inhibitor, - #scratchpad, - #power-profiles-daemon, - #mpd { - padding: 0 10px; - color: @text; - background-color: @base; - margin: 0 .5em; - border-radius: 9999px; - } + #clock, + #battery, + #cpu, + #memory, + #disk, + #temperature, + #backlight, + #network, + #pulseaudio, + #wireplumber, + #custom-media, + #tray, + #mode, + #idle_inhibitor, + #scratchpad, + #power-profiles-daemon, + #mpd { + padding: 0 10px; + color: @text; + background-color: @base; + margin: 0 .5em; + border-radius: 9999px; + } - #clock.week { - margin-right: 0px; - color: @peach; - border-radius: 9999px 0px 0px 9999px; - } + #clock.week { + margin-right: 0px; + color: @peach; + border-radius: 9999px 0px 0px 9999px; + } - #clock.year { - margin: 0px; - padding: 0px; - color: @pink; - border-radius: 0px; - } + #clock.year { + margin: 0px; + padding: 0px; + color: @pink; + border-radius: 0px; + } - #clock.time { - margin-left: 0px; - color: @sky; - border-radius: 0px 9999px 9999px 0px; - } + #clock.time { + margin-left: 0px; + color: @sky; + border-radius: 0px 9999px 9999px 0px; + } - #battery.charging, #battery.plugged { - color: @green; - } + #battery.charging, #battery.plugged { + color: @green; + } - #battery.discharging { - color: @yellow; - } + #battery.discharging { + color: @yellow; + } - @keyframes blink { - to { - background-color: #ffffff; - color: #000000; - } - } + @keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } + } - #battery.warning:not(.charging) { - background-color: @red; - } + #battery.warning:not(.charging) { + background-color: @red; + } - /* Using steps() instead of linear as a timing function to limit cpu usage */ - #battery.critical:not(.charging) { - background-color: @red; - animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: steps(12); - animation-iteration-count: infinite; - animation-direction: alternate; - } - ''; + /* Using steps() instead of linear as a timing function to limit cpu usage */ + #battery.critical:not(.charging) { + background-color: @red; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: steps(12); + animation-iteration-count: infinite; + animation-direction: alternate; + } + '' + ; }; swaylock = { enable = true; - settings = { - show-failed-attempts = true; - image = config.home.homeDirectory + "/pic/bg.png"; - }; + settings = { show-failed-attempts = true; image = config.home.homeDirectory + "/pic/bg.png"; }; }; rofi = { enable = true; @@ -510,45 +401,22 @@ toplevel@{ moduleWithSystem, ... }: { }; kitty = { enable = true; - font = { - package = pkgs.fira-code; - name = "FiraCodeNFM-Reg"; - }; - settings = { - background_opacity = "0.90"; - cursor_shape = "beam"; - term = "screen-256color"; - }; + font = { package = pkgs.fira-code; name = "FiraCodeNFM-Reg"; }; + settings = { background_opacity = "0.90"; cursor_shape = "beam"; term = "screen-256color"; }; }; imv.enable = true; mpv.enable = true; - bash.profileExtra = '' - [ "$(tty)" = "/dev/tty1" ] && exec sway - ''; - zsh.loginExtra = '' - [ "$(tty)" = "/dev/tty1" ] && exec sway - ''; - nushell.loginFile.text = '' - if (tty) == "/dev/tty1" { - sway - } - ''; - }; - services = { - mako.enable = true; - cliphist = { - enable = true; - systemdTarget = "sway-session.target"; - }; + bash.profileExtra = '' [ "$(tty)" = "/dev/tty1" ] && exec sway ''; + zsh.loginExtra = '' [ "$(tty)" = "/dev/tty1" ] && exec sway ''; + nushell.loginFile.text = '' if (tty) == "/dev/tty1" { sway } ''; }; + services = { mako.enable = true; cliphist = { enable = true; systemdTarget = "sway-session.target"; }; }; systemd.user = { timers = { rbingwp = { Timer = { OnCalendar = "*-*-* 10:00:00"; Persistent = true; }; Install = { WantedBy = [ "timers.target" ]; }; }; }; services = { wpd = { Service = { - Environment = [ - "PATH=${pkgs.xdg-user-dirs}/bin:${pkgs.swaybg}/bin" - ]; + Environment = [ "PATH=${pkgs.xdg-user-dirs}/bin:${pkgs.swaybg}/bin" ]; ExecStart = [ "${pkgs.nushell}/bin/nu -c 'swaybg -i ((xdg-user-dir PICTURES) | path split | path join bg.png)'" ]; }; }; @@ -565,19 +433,7 @@ toplevel@{ moduleWithSystem, ... }: { }; }; }; - home.packages = with pkgs; [ - audacity - gimp - grim - libnotify - libreoffice-qt - mupdf - slurp - wl-clipboard - xdg-user-dirs - xdg-utils - xwayland - ]; + home.packages = with pkgs; [ audacity gimp grim libnotify libreoffice-qt mupdf slurp wl-clipboard xdg-user-dirs xdg-utils xwayland ]; } ); web = moduleWithSystem ( @@ -591,14 +447,8 @@ toplevel@{ moduleWithSystem, ... }: { id = 0; search.default = "DuckDuckGo"; bookmarks = [ - { - name = "home-options"; - url = "https://nix-community.github.io/home-manager/options.xhtml"; - } - { - name = "nixvim-docs"; - url = "https://nix-community.github.io/nixvim/"; - } + { name = "home-options"; url = "https://nix-community.github.io/home-manager/options.xhtml"; } + { name = "nixvim-docs"; url = "https://nix-community.github.io/nixvim/"; } ]; settings = { "general.smoothScroll" = true; @@ -617,31 +467,13 @@ toplevel@{ moduleWithSystem, ... }: { OfferToSaveLoginsDefault = false; PasswordManagerEnabled = false; - FirefoxHome = { - Search = true; - Pocket = false; - Snippets = false; - TopSites = false; - Highlights = false; - }; + FirefoxHome = { Search = true; Pocket = false; Snippets = false; TopSites = false; Highlights = false; }; - UserMessaging = { - ExtensionRecommendations = false; - SkipOnboarding = true; - }; + UserMessaging = { ExtensionRecommendations = false; SkipOnboarding = true; }; Handlers = { schemes = { - mailto = { - action = "useHelperApp"; - ask = false; - handlers = [ - { - name = "RoundCube"; - uriTemplate = "https://mail.idimitrov.dev/?_task=mail&_action=compose&_to=%s"; - } - ]; - }; + mailto = { action = "useHelperApp"; ask = false; handlers = [{ name = "RoundCube"; uriTemplate = "https://mail.idimitrov.dev/?_task=mail&_action=compose&_to=%s"; }]; }; }; }; }; @@ -653,9 +485,7 @@ toplevel@{ moduleWithSystem, ... }: { description = "Integration with GnuPG"; path = "${pkgs.gpgme.dev}/bin/gpgme-json"; type = "stdio"; - allowed_extensions = [ - "jid1-AQqSMBYb0a8ADg@jetpack" - ]; + allowed_extensions = [ "jid1-AQqSMBYb0a8ADg@jetpack" ]; }; }; } @@ -663,10 +493,7 @@ toplevel@{ moduleWithSystem, ... }: { work = moduleWithSystem ( top@{ ... }: perSystem@{ pkgs, ... }: { - programs.chromium = { - enable = true; - package = pkgs.ungoogled-chromium; - }; + programs.chromium = { enable = true; package = pkgs.ungoogled-chromium; }; } ); }; diff --git a/nixos/modules/default.nix b/nixos/modules/default.nix index 81f60d4..bea4885 100644 --- a/nixos/modules/default.nix +++ b/nixos/modules/default.nix @@ -48,13 +48,7 @@ top@{ moduleWithSystem, ... }: { security = moduleWithSystem (toplevel@{ ... }: perSystem@{ ... }: { security = { sudo = { enable = false; execWheelOnly = true; extraRules = [{ groups = [ "wheel" ]; }]; }; - doas = { - enable = true; - extraRules = [ - # Allow wheel to run all commands without password and keep user env. - { groups = [ "wheel" ]; noPass = true; keepEnv = true; } - ]; - }; + doas = { enable = true; extraRules = [{ groups = [ "wheel" ]; noPass = true; keepEnv = true; }]; }; polkit.enable = true; rtkit.enable = true; };