From ec7197316a5f5d9935b50ac02157e5e8d7b932ed Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Thu, 13 Nov 2025 14:50:12 -0500 Subject: [PATCH] finish current refactor --- flake.nix | 3 +- home/all.nix | 544 -------------------------------- home/{ => hosts}/alien.nix | 0 home/{ => hosts}/peach.nix | 0 home/kde/other.nix | 19 ++ home/kde/plasma.nix | 215 +++++++++++++ home/systemd/default.nix | 50 +++ home/terminal/kitty/default.nix | 15 + home/terminal/nvim/default.nix | 245 ++++++++++++++ system/all.nix | 21 +- system/shell/fish.nix | 20 ++ 11 files changed, 572 insertions(+), 560 deletions(-) rename home/{ => hosts}/alien.nix (100%) rename home/{ => hosts}/peach.nix (100%) create mode 100644 home/kde/other.nix create mode 100644 home/kde/plasma.nix create mode 100644 home/systemd/default.nix create mode 100644 home/terminal/kitty/default.nix create mode 100644 home/terminal/nvim/default.nix create mode 100644 system/shell/fish.nix diff --git a/flake.nix b/flake.nix index 9459ff1..e98b462 100644 --- a/flake.nix +++ b/flake.nix @@ -77,6 +77,7 @@ } ./system/all.nix ./system/browsers/firefox.nix + ./system/shell/fish.nix ./system/hosts/${hostname}/default.nix ./hardware/${hostname}.nix catppuccin.nixosModules.catppuccin @@ -105,7 +106,7 @@ home.homeDirectory = "/home/${user}"; modules = [ ./home/all.nix - ./home/${hostname}.nix + ./home/hosts/${hostname}.nix catppuccin.homeModules.catppuccin home-manager.homeModules.home-manager plasma-manager.homeModules.plasma-manager diff --git a/home/all.nix b/home/all.nix index a5fb926..fe89968 100755 --- a/home/all.nix +++ b/home/all.nix @@ -58,550 +58,6 @@ }; }; - xdg.configFile."rclone/synology.conf".text = '' - [synology] - type = sftp - user = sckova - host = nas.taila30609.ts.net - key_file = ~/.ssh/key - ''; - - systemd.user.services.synology-mount = { - Unit = { - Description = "Mount Synology NAS with Rclone and Home Manager."; - After = [ "network-online.target" ]; - }; - - Service = { - Type = "notify"; - ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p %h/Synology"; - ExecStart = "${pkgs.rclone}/bin/rclone --config=%h/.config/rclone/synology.conf --vfs-cache-mode full --ignore-checksum mount \"synology:\" \"%h/Synology\""; - ExecStop = "/run/wrappers/bin/fusermount -u %h/Synology/%i"; - }; - - Install = { - WantedBy = [ "default.target" ]; - }; - }; - - systemd.user.services.input-leap = { - Unit = { - Description = "Autostart Input Leap"; - After = [ "graphical-session.target" ]; - }; - - Service = { - Type = "oneshot"; - RemainAfterExit = true; - PassEnvironment = "DISPLAY"; - ExecStart = "${pkgs.writeShellScript "input-leap-start" '' - sleep 5 - ${pkgs.input-leap}/bin/input-leap - ''}"; - }; - - Install = { - WantedBy = [ "graphical-session.target" ]; - }; - }; - - programs.konsole.enable = false; - - programs.kitty = { - enable = true; - enableGitIntegration = true; - themeFile = "Catppuccin-Mocha"; - font = { - name = "Noto Sans Mono"; - size = 10; - }; - shellIntegration.enableFishIntegration = true; - extraConfig = "\nwheel_scroll_multiplier 5.0"; - }; - - programs.fish = { - enable = true; - interactiveShellInit = '' - set fish_greeting # Disable greeting - ''; - }; - - programs.nixvim = { - enable = true; - defaultEditor = true; - waylandSupport = true; - viAlias = true; - vimAlias = true; - clipboard = { - register = "unnamedplus"; - providers.wl-copy.enable = true; - }; - opts = { - tabstop = 2; - softtabstop = 2; - shiftwidth = 2; - expandtab = true; - number = true; - }; - colorschemes.catppuccin = { - enable = true; - settings = { - flavour = "mocha"; - }; - }; - keymaps = [ - # --- Normal mode mappings --- - { - mode = "n"; - key = ""; - action = "\"+y"; - options = { - noremap = true; - silent = true; - }; - } - { - mode = "n"; - key = ""; - action = "\"+p"; - options = { - noremap = true; - silent = true; - }; - } - - # --- Visual mode mappings --- - { - mode = "v"; - key = ""; - action = "\"+y"; - options = { - noremap = true; - silent = true; - }; - } - { - mode = "v"; - key = ""; - action = "\"+p"; - options = { - noremap = true; - silent = true; - }; - } - ]; - plugins = { - nvim-autopairs = { - enable = true; - # autoLoad = true; - }; - cmp = { - autoEnableSources = true; - enable = true; - # autoLoad = true; - }; - copilot-lua = { - enable = true; - # autoLoad = true; - }; - conform-nvim = { - enable = true; - # autoLoad = true; - settings = { - formatters_by_ft = { - lua = [ "stylua" ]; - python = [ - "isort" - "black" - ]; - nix = [ "nixfmt" ]; - javascript = [ - "deno fmt" - "prettier" - ]; - css = [ - "deno fmt" - "prettier" - ]; - json = [ - "deno fmt" - "prettier" - ]; - jsonc = [ - "deno fmt" - "prettier" - ]; - }; - - # Default formatting options - default_format_opts = { - lsp_format = "fallback"; - }; - - # Format-on-save behavior - format_on_save = { - timeout_ms = 500; - }; - - # Custom formatter settings - formatters = { - shfmt = { - append_args = [ - "-i" - "2" - ]; - }; - }; - }; - }; - fzf-lua = { - enable = true; - # autoLoad = true; - }; - kitty-scrollback = { - enable = true; - # autoLoad = true; - }; - lsp = { - enable = true; - # autoLoad = true; - }; - lualine = { - enable = true; - settings = { - options = { - theme = { - normal = { - a = { - fg = "#1e1e2e"; - bg = "#cba6f7"; - }; - b = { - fg = "#cdd6f4"; - bg = "#313244"; - }; - c = { - fg = "#cdd6f4"; - }; - }; - insert = { - a = { - fg = "#1e1e2e"; - bg = "#89b4fa"; - }; - }; - visual = { - a = { - fg = "#1e1e2e"; - bg = "#94e2d5"; - }; - }; - replace = { - a = { - fg = "#1e1e2e"; - bg = "#f38ba8"; - }; - }; - inactive = { - a = { - fg = "#cdd6f4"; - bg = "#1e1e2e"; - }; - b = { - fg = "#cdd6f4"; - bg = "#1e1e2e"; - }; - c = { - fg = "#cdd6f4"; - }; - }; - }; - component_separators = ""; - section_separators = { - left = ""; - right = ""; - }; - }; - - sections = { - lualine_a = [ - { - __unkeyed-1 = "mode"; - separator = { - left = " "; - }; - right_padding = 2; - } - ]; - lualine_b = [ - "filename" - "branch" - ]; - lualine_c = [ "%=" ]; - lualine_x = [ ]; - lualine_y = [ - "filetype" - "progress" - ]; - lualine_z = [ - { - __unkeyed-1 = "location"; - separator = { - right = " "; - }; - left_padding = 2; - } - ]; - }; - - inactive_sections = { - lualine_a = [ "filename" ]; - lualine_b = [ ]; - lualine_c = [ ]; - lualine_x = [ ]; - lualine_y = [ ]; - lualine_z = [ "location" ]; - }; - tabline = { }; - extensions = [ ]; - }; - # autoLoad = true; - }; - }; - }; - - programs.ghostwriter = { - enable = true; - font = { - family = "Noto Sans"; - pointSize = 12; - }; - }; - - programs.kate = { - enable = true; - editor = { - font = { - family = "Noto Sans Mono"; - pointSize = 10; - }; - }; - }; - - programs.plasma = { - enable = true; - overrideConfig = true; - - session = { - sessionRestore.restoreOpenApplicationsOnLogin = "startWithEmptySession"; - }; - - workspace = { - iconTheme = "Colloid-Dark"; - windowDecorations = { - library = "org.kde.breeze"; - theme = "Breeze"; - }; - cursor.size = 24; - wallpaperPictureOfTheDay.provider = "bing"; - wallpaperFillMode = "preserveAspectCrop"; - }; - - kscreenlocker = { - appearance.wallpaperPictureOfTheDay.provider = "bing"; - }; - - window-rules = [ - { - description = "Global Changes"; - match = { - window-class = { - value = ""; - type = "substring"; - }; - window-types = [ "normal" ]; - }; - apply = { - opacityactive = { - value = 100; - apply = "force"; - }; - opacityinactive = { - value = 100; - apply = "force"; - }; - }; - } - { - description = "OpenMW"; - match = { - window-class = { - value = "openmw"; - type = "substring"; - }; - window-types = [ "normal" ]; - }; - apply = { - noborder = { - value = true; - apply = "force"; - }; - maximizehoriz = { - value = true; - apply = "force"; - }; - maximizevert = { - value = true; - apply = "force"; - }; - desktops = { - value = "Desktop_4"; - apply = "force"; - }; - }; - } - { - description = "Firefox Picture-in-Picture"; - match = { - window-class = { - value = ""; - type = "substring"; - }; - title = { - value = "Picture-in-Picture"; - type = "exact"; - }; - }; - apply = { - above = { - value = true; - apply = "force"; - }; - desktops = { - value = "\\0"; - apply = "force"; - }; - }; - } - ]; - - kwin = { - titlebarButtons = { - left = [ - "on-all-desktops" - "keep-below-windows" - "keep-above-windows" - ]; - right = [ - "minimize" - "maximize" - "close" - ]; - }; - - nightLight = { - enable = true; - mode = "location"; - # Atlanta - location.latitude = "33.7501"; - location.longitude = "-84.3885"; - temperature.day = 6000; - temperature.night = 3500; - transitionTime = 60; - }; - virtualDesktops = { - names = [ - "1" - "2" - "3" - "4" - ]; - rows = 1; - }; - effects = { - desktopSwitching = { - animation = "slide"; - navigationWrapping = true; - }; - dimAdminMode.enable = true; - # dimInactive.enable = true; - minimization = { - animation = "magiclamp"; - duration = 500; - }; - shakeCursor.enable = true; - snapHelper.enable = true; - # translucency.enable = true; - # windowOpenClose.animation = "fade"; - blur = { - enable = false; - noiseStrength = 8; - strength = 5; - }; - }; - }; - - configFile = { - # kdeglobals.KDE.AutomaticLookAndFeel = true; - kwinrc.Round-Corners.ActiveOutlinePalette = 2; - kwinrc.Round-Corners.ActiveOutlineUseCustom = false; - kwinrc.Round-Corners.ActiveOutlineUsePalette = true; - kwinrc.Round-Corners.ActiveSecondOutlinePalette = 2; - kwinrc.Round-Corners.ActiveSecondOutlineUseCustom = false; - kwinrc.Round-Corners.ActiveSecondOutlineUsePalette = true; - kwinrc.Round-Corners.InactiveOutlinePalette = 3; - kwinrc.Round-Corners.InactiveOutlineUseCustom = false; - kwinrc.Round-Corners.InactiveOutlineUsePalette = true; - kwinrc.Round-Corners.InactiveSecondOutlinePalette = 3; - kwinrc.Round-Corners.InactiveSecondOutlineUseCustom = false; - kwinrc.Round-Corners.InactiveSecondOutlineUsePalette = true; - plasmaparc.General.AudioFeedback = false; - kdeglobals.Sounds.Enable = false; - kwinrc.Plugins.forceblurEnabled = true; - kwinrc.Effect-blurplus.BlurDecorations = true; - kwinrc.Effect-blurplus.BlurMatching = false; - kwinrc.Effect-blurplus.BlurMenus = true; - kwinrc.Effect-blurplus.BlurNonMatching = true; - kwinrc.Effect-blurplus.TopCornerRadius = 10; - kwinrc.Effect-blurplus.BottomCornerRadius = 10; - kwinrc.Effect-blurplus.NoiseStrength = 6; - kwinrc.Effect-blurplus.RefractionStrength = 10; - }; - - panels = [ - # Small dock at the bottom right - { - location = "bottom"; - height = 40; - hiding = "dodgewindows"; - lengthMode = "fit"; - floating = true; - alignment = "left"; - widgets = [ - { - kickoff = { - sortAlphabetically = true; - # icon = "nix-snowflake-white"; - }; - } - { - iconTasks = { - launchers = [ - "applications:firefox.desktop" - "applications:org.kde.dolphin.desktop" - "applications:vesktop.desktop" - "applications:kitty.desktop" - "applications:org.strawberrymusicplayer.strawberry.desktop" - "applications:writer.desktop" - ]; - }; - } - "org.kde.plasma.pager" - ]; - } - ]; - }; - # This value determines the Home Manager release that your # configuration is compatible with. This helps avoid breakage # when a new Home Manager release introduces backwards diff --git a/home/alien.nix b/home/hosts/alien.nix similarity index 100% rename from home/alien.nix rename to home/hosts/alien.nix diff --git a/home/peach.nix b/home/hosts/peach.nix similarity index 100% rename from home/peach.nix rename to home/hosts/peach.nix diff --git a/home/kde/other.nix b/home/kde/other.nix new file mode 100644 index 0000000..32243dc --- /dev/null +++ b/home/kde/other.nix @@ -0,0 +1,19 @@ +{ + programs.ghostwriter = { + enable = true; + font = { + family = "Noto Sans"; + pointSize = 12; + }; + }; + + programs.kate = { + enable = true; + editor = { + font = { + family = "Noto Sans Mono"; + pointSize = 10; + }; + }; + }; +} diff --git a/home/kde/plasma.nix b/home/kde/plasma.nix new file mode 100644 index 0000000..713a535 --- /dev/null +++ b/home/kde/plasma.nix @@ -0,0 +1,215 @@ +{ + programs.plasma = { + enable = true; + overrideConfig = true; + + session = { + sessionRestore.restoreOpenApplicationsOnLogin = "startWithEmptySession"; + }; + + workspace = { + iconTheme = "Colloid-Dark"; + windowDecorations = { + library = "org.kde.breeze"; + theme = "Breeze"; + }; + cursor.size = 24; + wallpaperPictureOfTheDay.provider = "bing"; + wallpaperFillMode = "preserveAspectCrop"; + }; + + kscreenlocker = { + appearance.wallpaperPictureOfTheDay.provider = "bing"; + }; + + window-rules = [ + { + description = "Global Changes"; + match = { + window-class = { + value = ""; + type = "substring"; + }; + window-types = [ "normal" ]; + }; + apply = { + opacityactive = { + value = 100; + apply = "force"; + }; + opacityinactive = { + value = 100; + apply = "force"; + }; + }; + } + { + description = "OpenMW"; + match = { + window-class = { + value = "openmw"; + type = "substring"; + }; + window-types = [ "normal" ]; + }; + apply = { + noborder = { + value = true; + apply = "force"; + }; + maximizehoriz = { + value = true; + apply = "force"; + }; + maximizevert = { + value = true; + apply = "force"; + }; + desktops = { + value = "Desktop_4"; + apply = "force"; + }; + }; + } + { + description = "Firefox Picture-in-Picture"; + match = { + window-class = { + value = ""; + type = "substring"; + }; + title = { + value = "Picture-in-Picture"; + type = "exact"; + }; + }; + apply = { + above = { + value = true; + apply = "force"; + }; + desktops = { + value = "\\0"; + apply = "force"; + }; + }; + } + ]; + + kwin = { + titlebarButtons = { + left = [ + "on-all-desktops" + "keep-below-windows" + "keep-above-windows" + ]; + right = [ + "minimize" + "maximize" + "close" + ]; + }; + + nightLight = { + enable = true; + mode = "location"; + # Atlanta + location.latitude = "33.7501"; + location.longitude = "-84.3885"; + temperature.day = 6000; + temperature.night = 3500; + transitionTime = 60; + }; + virtualDesktops = { + names = [ + "1" + "2" + "3" + "4" + ]; + rows = 1; + }; + effects = { + desktopSwitching = { + animation = "slide"; + navigationWrapping = true; + }; + dimAdminMode.enable = true; + # dimInactive.enable = true; + minimization = { + animation = "magiclamp"; + duration = 500; + }; + shakeCursor.enable = true; + snapHelper.enable = true; + # translucency.enable = true; + # windowOpenClose.animation = "fade"; + blur = { + enable = false; + noiseStrength = 8; + strength = 5; + }; + }; + }; + + configFile = { + # kdeglobals.KDE.AutomaticLookAndFeel = true; + kwinrc.Round-Corners.ActiveOutlinePalette = 2; + kwinrc.Round-Corners.ActiveOutlineUseCustom = false; + kwinrc.Round-Corners.ActiveOutlineUsePalette = true; + kwinrc.Round-Corners.ActiveSecondOutlinePalette = 2; + kwinrc.Round-Corners.ActiveSecondOutlineUseCustom = false; + kwinrc.Round-Corners.ActiveSecondOutlineUsePalette = true; + kwinrc.Round-Corners.InactiveOutlinePalette = 3; + kwinrc.Round-Corners.InactiveOutlineUseCustom = false; + kwinrc.Round-Corners.InactiveOutlineUsePalette = true; + kwinrc.Round-Corners.InactiveSecondOutlinePalette = 3; + kwinrc.Round-Corners.InactiveSecondOutlineUseCustom = false; + kwinrc.Round-Corners.InactiveSecondOutlineUsePalette = true; + plasmaparc.General.AudioFeedback = false; + kdeglobals.Sounds.Enable = false; + kwinrc.Plugins.forceblurEnabled = true; + kwinrc.Effect-blurplus.BlurDecorations = true; + kwinrc.Effect-blurplus.BlurMatching = false; + kwinrc.Effect-blurplus.BlurMenus = true; + kwinrc.Effect-blurplus.BlurNonMatching = true; + kwinrc.Effect-blurplus.TopCornerRadius = 10; + kwinrc.Effect-blurplus.BottomCornerRadius = 10; + kwinrc.Effect-blurplus.NoiseStrength = 6; + kwinrc.Effect-blurplus.RefractionStrength = 10; + }; + + panels = [ + # Small dock at the bottom right + { + location = "bottom"; + height = 40; + hiding = "dodgewindows"; + lengthMode = "fit"; + floating = true; + alignment = "left"; + widgets = [ + { + kickoff = { + sortAlphabetically = true; + # icon = "nix-snowflake-white"; + }; + } + { + iconTasks = { + launchers = [ + "applications:firefox.desktop" + "applications:org.kde.dolphin.desktop" + "applications:vesktop.desktop" + "applications:kitty.desktop" + "applications:org.strawberrymusicplayer.strawberry.desktop" + "applications:writer.desktop" + ]; + }; + } + "org.kde.plasma.pager" + ]; + } + ]; + }; +} diff --git a/home/systemd/default.nix b/home/systemd/default.nix new file mode 100644 index 0000000..a45c001 --- /dev/null +++ b/home/systemd/default.nix @@ -0,0 +1,50 @@ +{ pkgs, ... }: + +{ + xdg.configFile."rclone/synology.conf".text = '' + [synology] + type = sftp + user = sckova + host = nas.taila30609.ts.net + key_file = ~/.ssh/key + ''; + + systemd.user.services.synology-mount = { + Unit = { + Description = "Mount Synology NAS with Rclone and Home Manager."; + After = [ "network-online.target" ]; + }; + + Service = { + Type = "notify"; + ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p %h/Synology"; + ExecStart = "${pkgs.rclone}/bin/rclone --config=%h/.config/rclone/synology.conf --vfs-cache-mode full --ignore-checksum mount \"synology:\" \"%h/Synology\""; + ExecStop = "/run/wrappers/bin/fusermount -u %h/Synology/%i"; + }; + + Install = { + WantedBy = [ "default.target" ]; + }; + }; + + systemd.user.services.input-leap = { + Unit = { + Description = "Autostart Input Leap"; + After = [ "graphical-session.target" ]; + }; + + Service = { + Type = "oneshot"; + RemainAfterExit = true; + PassEnvironment = "DISPLAY"; + ExecStart = "${pkgs.writeShellScript "input-leap-start" '' + sleep 5 + ${pkgs.input-leap}/bin/input-leap + ''}"; + }; + + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + }; +} diff --git a/home/terminal/kitty/default.nix b/home/terminal/kitty/default.nix new file mode 100644 index 0000000..0b54eb3 --- /dev/null +++ b/home/terminal/kitty/default.nix @@ -0,0 +1,15 @@ +{ + programs.kitty = { + enable = true; + enableGitIntegration = true; + themeFile = "Catppuccin-Mocha"; + font = { + name = "Noto Sans Mono"; + size = 10; + }; + shellIntegration = { + enableFishIntegration = true; + }; + extraConfig = "\nwheel_scroll_multiplier 5.0"; + }; +} diff --git a/home/terminal/nvim/default.nix b/home/terminal/nvim/default.nix new file mode 100644 index 0000000..515110e --- /dev/null +++ b/home/terminal/nvim/default.nix @@ -0,0 +1,245 @@ +{ + programs.nixvim = { + enable = true; + defaultEditor = true; + waylandSupport = true; + viAlias = true; + vimAlias = true; + clipboard = { + register = "unnamedplus"; + providers.wl-copy.enable = true; + }; + opts = { + tabstop = 2; + softtabstop = 2; + shiftwidth = 2; + expandtab = true; + number = true; + }; + colorschemes.catppuccin = { + enable = true; + settings = { + flavour = "mocha"; + }; + }; + keymaps = [ + # --- Normal mode mappings --- + { + mode = "n"; + key = ""; + action = "\"+y"; + options = { + noremap = true; + silent = true; + }; + } + { + mode = "n"; + key = ""; + action = "\"+p"; + options = { + noremap = true; + silent = true; + }; + } + + # --- Visual mode mappings --- + { + mode = "v"; + key = ""; + action = "\"+y"; + options = { + noremap = true; + silent = true; + }; + } + { + mode = "v"; + key = ""; + action = "\"+p"; + options = { + noremap = true; + silent = true; + }; + } + ]; + plugins = { + nvim-autopairs = { + enable = true; + # autoLoad = true; + }; + cmp = { + autoEnableSources = true; + enable = true; + # autoLoad = true; + }; + copilot-lua = { + enable = true; + # autoLoad = true; + }; + conform-nvim = { + enable = true; + # autoLoad = true; + settings = { + formatters_by_ft = { + lua = [ "stylua" ]; + python = [ + "isort" + "black" + ]; + nix = [ "nixfmt" ]; + javascript = [ + "deno fmt" + "prettier" + ]; + css = [ + "deno fmt" + "prettier" + ]; + json = [ + "deno fmt" + "prettier" + ]; + jsonc = [ + "deno fmt" + "prettier" + ]; + }; + + # Default formatting options + default_format_opts = { + lsp_format = "fallback"; + }; + + # Format-on-save behavior + format_on_save = { + timeout_ms = 500; + }; + + # Custom formatter settings + formatters = { + shfmt = { + append_args = [ + "-i" + "2" + ]; + }; + }; + }; + }; + fzf-lua = { + enable = true; + # autoLoad = true; + }; + kitty-scrollback = { + enable = true; + # autoLoad = true; + }; + lsp = { + enable = true; + # autoLoad = true; + }; + lualine = { + enable = true; + settings = { + options = { + theme = { + normal = { + a = { + fg = "#1e1e2e"; + bg = "#cba6f7"; + }; + b = { + fg = "#cdd6f4"; + bg = "#313244"; + }; + c = { + fg = "#cdd6f4"; + }; + }; + insert = { + a = { + fg = "#1e1e2e"; + bg = "#89b4fa"; + }; + }; + visual = { + a = { + fg = "#1e1e2e"; + bg = "#94e2d5"; + }; + }; + replace = { + a = { + fg = "#1e1e2e"; + bg = "#f38ba8"; + }; + }; + inactive = { + a = { + fg = "#cdd6f4"; + bg = "#1e1e2e"; + }; + b = { + fg = "#cdd6f4"; + bg = "#1e1e2e"; + }; + c = { + fg = "#cdd6f4"; + }; + }; + }; + component_separators = ""; + section_separators = { + left = ""; + right = ""; + }; + }; + + sections = { + lualine_a = [ + { + __unkeyed-1 = "mode"; + separator = { + left = " "; + }; + right_padding = 2; + } + ]; + lualine_b = [ + "filename" + "branch" + ]; + lualine_c = [ "%=" ]; + lualine_x = [ ]; + lualine_y = [ + "filetype" + "progress" + ]; + lualine_z = [ + { + __unkeyed-1 = "location"; + separator = { + right = " "; + }; + left_padding = 2; + } + ]; + }; + + inactive_sections = { + lualine_a = [ "filename" ]; + lualine_b = [ ]; + lualine_c = [ ]; + lualine_x = [ ]; + lualine_y = [ ]; + lualine_z = [ "location" ]; + }; + tabline = { }; + extensions = [ ]; + }; + # autoLoad = true; + }; + }; + }; +} diff --git a/system/all.nix b/system/all.nix index 68f6321..7fe8dba 100755 --- a/system/all.nix +++ b/system/all.nix @@ -27,7 +27,12 @@ imports = [ ../home/all.nix ../home/browsers/firefox/default.nix - ../home/${config.networking.hostName}.nix + ../home/systemd/default.nix + ../home/terminal/nvim/default.nix + ../home/terminal/kitty/default.nix + ../home/kde/plasma.nix + ../home/kde/other.nix + ../home/hosts/${config.networking.hostName}.nix ]; }; @@ -122,16 +127,6 @@ hashedPassword = "$6$bvwRUFaJNMpH8rm3$FGDWFN6tBScJ/2DynAjnlZE8JRfyADN78d6c4GawxpAjyNLNE/AjQzMA09tLRqpKX7WnN5PIUZLAm2bT9/RbG0"; }; - programs.bash = { - interactiveShellInit = '' - if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]] - then - shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION="" - exec ${pkgs.fish}/bin/fish $LOGIN_OPTION - fi - ''; - }; - nixpkgs.config.allowUnfree = true; environment = { @@ -153,10 +148,6 @@ services.openssh.enable = true; networking.firewall.enable = false; - networking.extraHosts = '' - 0.0.0.0 apresolve.spotify.com - ''; - # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave diff --git a/system/shell/fish.nix b/system/shell/fish.nix new file mode 100644 index 0000000..5cb36f2 --- /dev/null +++ b/system/shell/fish.nix @@ -0,0 +1,20 @@ +{ pkgs, ... }: + +{ + programs.bash = { + interactiveShellInit = '' + if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]] + then + shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION="" + exec ${pkgs.fish}/bin/fish $LOGIN_OPTION + fi + ''; + }; + + programs.fish = { + enable = true; + interactiveShellInit = '' + set fish_greeting # Disable greeting + ''; + }; +}