From 165cde749fc899d4c86eb6de97d3b7c4373eb7b3 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> Date: Wed, 25 Sep 2024 00:17:41 +0530 Subject: Using more descriptive option names. --- modules/desktop/default.nix | 4 +- modules/desktop/display-server/default.nix | 7 + modules/desktop/display-server/x11/default.nix | 7 + .../desktop/display-server/x11/xinit/default.nix | 14 ++ modules/desktop/display-server/x11/xinit/xinitrc | 4 + modules/desktop/popup-manager/default.nix | 2 +- modules/desktop/popup-manager/rofi/default.nix | 8 +- modules/desktop/status-bar/default.nix | 2 +- modules/desktop/status-bar/polybar/default.nix | 11 +- modules/desktop/terminal/alacritty/default.nix | 9 +- modules/desktop/terminal/default.nix | 7 + modules/desktop/window-manager/bspwm/default.nix | 6 +- modules/desktop/window-manager/default.nix | 2 +- modules/desktop/window-manager/sxhkd/default.nix | 10 +- modules/desktop/xresources/default.nix | 7 - modules/desktop/xresources/xinit/default.nix | 14 -- modules/desktop/xresources/xinit/xinitrc | 4 - modules/shell/bash/default.nix | 9 +- modules/shell/default.nix | 18 +- modules/shell/zsh/default.nix | 11 +- modules/tools/editor/default.nix | 2 +- modules/tools/editor/neovim/default.nix | 6 +- modules/tools/file-manager/default.nix | 2 +- modules/tools/file-manager/lf/default.nix | 6 +- modules/tools/file-manager/lsd/default.nix | 8 +- modules/tools/git/default.nix | 6 +- modules/tools/system-monitor/htop/default.nix | 6 +- modules/tools/viewer/bat/default.nix | 6 +- modules/tools/viewer/bat/theme.nix | 214 ++++++++++----------- modules/tools/viewer/default.nix | 2 +- 30 files changed, 225 insertions(+), 189 deletions(-) create mode 100644 modules/desktop/display-server/default.nix create mode 100644 modules/desktop/display-server/x11/default.nix create mode 100644 modules/desktop/display-server/x11/xinit/default.nix create mode 100644 modules/desktop/display-server/x11/xinit/xinitrc delete mode 100644 modules/desktop/xresources/default.nix delete mode 100644 modules/desktop/xresources/xinit/default.nix delete mode 100644 modules/desktop/xresources/xinit/xinitrc (limited to 'modules') diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index e15cd53..b4ff4c5 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -1,11 +1,11 @@ -{ lib, config, ... }: +{ ... }: { imports = [ + ./display-server ./popup-manager ./status-bar ./terminal ./window-manager - ./xresources ]; } diff --git a/modules/desktop/display-server/default.nix b/modules/desktop/display-server/default.nix new file mode 100644 index 0000000..f81358d --- /dev/null +++ b/modules/desktop/display-server/default.nix @@ -0,0 +1,7 @@ +{ ... }: + +{ + imports = [ + ./x11 + ]; +} diff --git a/modules/desktop/display-server/x11/default.nix b/modules/desktop/display-server/x11/default.nix new file mode 100644 index 0000000..b589c35 --- /dev/null +++ b/modules/desktop/display-server/x11/default.nix @@ -0,0 +1,7 @@ +{ ... }: + +{ + imports = [ + ./xinit + ]; +} diff --git a/modules/desktop/display-server/x11/xinit/default.nix b/modules/desktop/display-server/x11/xinit/default.nix new file mode 100644 index 0000000..a064f36 --- /dev/null +++ b/modules/desktop/display-server/x11/xinit/default.nix @@ -0,0 +1,14 @@ +{ lib, config, ... }: + +{ + options = { + desktop.display-server.x11.xinit.enable = lib.mkEnableOption "Enables xinit."; + }; + + config = lib.mkIf config.desktop.display-server.x11.xinit.enable { + home.file.".xinitrc" = { + source = ./xinitrc; + executable = true; + }; + }; +} diff --git a/modules/desktop/display-server/x11/xinit/xinitrc b/modules/desktop/display-server/x11/xinit/xinitrc new file mode 100644 index 0000000..2ac4486 --- /dev/null +++ b/modules/desktop/display-server/x11/xinit/xinitrc @@ -0,0 +1,4 @@ +#!/bin/sh +polybar main & +sxhkd & +exec bspwm diff --git a/modules/desktop/popup-manager/default.nix b/modules/desktop/popup-manager/default.nix index 8c82ea7..3eacbf6 100644 --- a/modules/desktop/popup-manager/default.nix +++ b/modules/desktop/popup-manager/default.nix @@ -1,4 +1,4 @@ -{ lib, ... }: +{ ... }: { imports = [ diff --git a/modules/desktop/popup-manager/rofi/default.nix b/modules/desktop/popup-manager/rofi/default.nix index fdf7d3e..5c839e1 100644 --- a/modules/desktop/popup-manager/rofi/default.nix +++ b/modules/desktop/popup-manager/rofi/default.nix @@ -1,13 +1,13 @@ { config, lib, ... }: { - options = { - rofi.enable = lib.mkEnableOption "Enables rofi."; + options.desktop.popup-manager.rofi = { + enable = lib.mkEnableOption "Enables rofi."; }; - config = lib.mkIf config.rofi.enable { + config = lib.mkIf config.desktop.popup-manager.rofi.enable { programs.rofi.enable = true; programs.rofi.font = "FiraCode Nerd Font 16"; - programs.rofi.theme = import ./theme/default.nix config; + programs.rofi.theme = import ./theme config; }; } diff --git a/modules/desktop/status-bar/default.nix b/modules/desktop/status-bar/default.nix index 124c830..45cb3a0 100644 --- a/modules/desktop/status-bar/default.nix +++ b/modules/desktop/status-bar/default.nix @@ -1,4 +1,4 @@ -{ lib, ... }: +{ ... }: { imports = [ diff --git a/modules/desktop/status-bar/polybar/default.nix b/modules/desktop/status-bar/polybar/default.nix index 11f4f1a..7608c38 100644 --- a/modules/desktop/status-bar/polybar/default.nix +++ b/modules/desktop/status-bar/polybar/default.nix @@ -1,18 +1,21 @@ { config, lib, ... }: { - options = { - polybar.enable = lib.mkEnableOption "Enables polybar."; + options.desktop.status-bar.polybar = { + enable = lib.mkEnableOption "Enables polybar."; }; - config = lib.mkIf config.polybar.enable { + config = lib.mkIf config.desktop.status-bar.polybar.enable { services.polybar.enable = true; services.polybar.script = "polybar main &"; services.polybar.config = { "bar/main" = import ./bars/main.nix config; "module/xwindow" = import ./modules/xwindow.nix config; - "module/bspwm" = import ./modules/bspwm.nix config; + "module/bspwm" = + if config.desktop.window-manager.bspwm.enable then + import ./modules/bspwm.nix config + else null; "module/cpu" = import ./modules/cpu.nix config; "module/memory" = import ./modules/memory.nix config; "module/date" = import ./modules/date.nix config; diff --git a/modules/desktop/terminal/alacritty/default.nix b/modules/desktop/terminal/alacritty/default.nix index 0fe56e0..a1f521a 100644 --- a/modules/desktop/terminal/alacritty/default.nix +++ b/modules/desktop/terminal/alacritty/default.nix @@ -1,12 +1,13 @@ { pkgs, config, lib, ... }: { - options = { - alacritty.enable = lib.mkEnableOption "Enables alacritty."; + options.desktop.terminal.alacritty = { + enable = lib.mkEnableOption "Enables alacritty."; }; - config = lib.mkIf config.alacritty.enable { + config = lib.mkIf config.desktop.terminal.alacritty.enable { programs.alacritty.enable = true; + desktop.terminal.default = "${pkgs.alacritty}/bin/alacritty"; programs.alacritty.settings = { window = { @@ -71,7 +72,7 @@ }; shell = { - program = "${pkgs.zsh}/bin/zsh"; + program = config.shell.default; }; }; }; diff --git a/modules/desktop/terminal/default.nix b/modules/desktop/terminal/default.nix index 6a0cfc8..534b742 100644 --- a/modules/desktop/terminal/default.nix +++ b/modules/desktop/terminal/default.nix @@ -4,4 +4,11 @@ imports = [ ./alacritty ]; + + options = { + desktop.terminal.default = lib.mkOption { + type = lib.types.string; + description = "Path to the default terminal program."; + }; + }; } diff --git a/modules/desktop/window-manager/bspwm/default.nix b/modules/desktop/window-manager/bspwm/default.nix index 643d78b..da9aa12 100644 --- a/modules/desktop/window-manager/bspwm/default.nix +++ b/modules/desktop/window-manager/bspwm/default.nix @@ -1,11 +1,11 @@ { config, lib, ... }: { - options = { - bspwm.enable = lib.mkEnableOption "Enables bspwm."; + options.desktop.window-manager.bspwm = { + enable = lib.mkEnableOption "Enables bspwm."; }; - config = lib.mkIf config.bspwm.enable { + config = lib.mkIf config.desktop.window-manager.bspwm.enable { xsession.windowManager.bspwm.enable = true; xsession.windowManager.bspwm.settings = with config.scheme.withHashtag; { diff --git a/modules/desktop/window-manager/default.nix b/modules/desktop/window-manager/default.nix index 6e9b9f8..c1de8c5 100644 --- a/modules/desktop/window-manager/default.nix +++ b/modules/desktop/window-manager/default.nix @@ -1,4 +1,4 @@ -{ lib, ... }: +{ ... }: { imports = [ diff --git a/modules/desktop/window-manager/sxhkd/default.nix b/modules/desktop/window-manager/sxhkd/default.nix index 29261b9..3673b48 100644 --- a/modules/desktop/window-manager/sxhkd/default.nix +++ b/modules/desktop/window-manager/sxhkd/default.nix @@ -1,11 +1,11 @@ { pkgs, config, lib, ... }: { - options = { - sxhkd.enable = lib.mkEnableOption "Enables sxhkd."; + options.desktop.window-manager.sxhkd = { + enable = lib.mkEnableOption "Enables sxhkd."; }; - config = lib.mkIf config.sxhkd.enable { + config = lib.mkIf config.desktop.window-manager.sxhkd.enable { services.sxhkd.enable = true; services.sxhkd.keybindings = @@ -28,12 +28,12 @@ ${(createKeybinding "t" "Launch terminal.")} - = "alacritty"; + = config.desktop.terminal.default; ${(createKeybinding "f" "Launch File Explorer.")} - = "alacritty -t 'File Explorer' --class 'popup' -e lf"; + = "${config.desktop.terminal.default} -t 'File Explorer' --class 'popup' -e lf"; ${(createKeybinding "q" diff --git a/modules/desktop/xresources/default.nix b/modules/desktop/xresources/default.nix deleted file mode 100644 index 65eb812..0000000 --- a/modules/desktop/xresources/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ lib, ... }: - -{ - imports = [ - ./xinit - ]; -} diff --git a/modules/desktop/xresources/xinit/default.nix b/modules/desktop/xresources/xinit/default.nix deleted file mode 100644 index f5069fa..0000000 --- a/modules/desktop/xresources/xinit/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ lib, config, ... }: - -{ - options = { - xinit.enable = lib.mkEnableOption "Enables xinit."; - }; - - config = lib.mkIf config.xinit.enable { - home.file.".xinitrc" = { - source = ./xinitrc; - executable = true; - }; - }; -} diff --git a/modules/desktop/xresources/xinit/xinitrc b/modules/desktop/xresources/xinit/xinitrc deleted file mode 100644 index 2ac4486..0000000 --- a/modules/desktop/xresources/xinit/xinitrc +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -polybar main & -sxhkd & -exec bspwm diff --git a/modules/shell/bash/default.nix b/modules/shell/bash/default.nix index f26e3d8..ee3b4a8 100644 --- a/modules/shell/bash/default.nix +++ b/modules/shell/bash/default.nix @@ -1,13 +1,14 @@ -{ config, lib, ... }: +{ config, lib, pkgs, ... }: { - options = { - bash.enable = lib.mkEnableOption "Enables bash."; + options.shell.bash = { + enable = lib.mkEnableOption "Enables bash."; }; - config = lib.mkIf config.bash.enable { + config = lib.mkIf config.shell.bash.enable { programs.bash.enable = true; programs.bash.historyFile = "${config.xdg.cacheHome}/bash/history"; + programs.bash.shellAliases = config.shell.alias; home.file."${config.xdg.cacheHome}/bash/histroy".text = ""; # Create the cache directory and histroy file }; } diff --git a/modules/shell/default.nix b/modules/shell/default.nix index e4c3964..2dbd054 100644 --- a/modules/shell/default.nix +++ b/modules/shell/default.nix @@ -1,8 +1,24 @@ -{ lib, config, ... }: +{ lib, pkgs, ... }: { imports = [ ./bash ./zsh ]; + + options.shell = { + default = lib.mkOption { + type = lib.types.string; + description = "Path to the default shell program."; + }; + alias = lib.mkOption { + type = lib.types.attrs; + description = "Shell aliases."; + }; + }; + + config = { + shell.default = lib.mkDefault "${pkgs.bash}/bin/bash"; # Set bash as default shell + shell.bash.enable = lib.mkDefault true; # Enable bash by default + }; } diff --git a/modules/shell/zsh/default.nix b/modules/shell/zsh/default.nix index b4ea77a..c553ec4 100644 --- a/modules/shell/zsh/default.nix +++ b/modules/shell/zsh/default.nix @@ -1,15 +1,16 @@ -{ config, lib, ... }: +{ config, lib, pkgs, ... }: { - options = { - zsh.enable = lib.mkEnableOption "Enables zsh."; + options.shell.zsh = { + enable = lib.mkEnableOption "Enables zsh."; }; - config = lib.mkIf config.zsh.enable { + config = lib.mkIf config.shell.zsh.enable { programs.zsh.enable = true; programs.zsh.dotDir = ".config/zsh"; programs.zsh.history.path = "${config.xdg.cacheHome}/zsh/history"; programs.zsh.initExtra = builtins.readFile ./zshrc; - programs.zsh.shellAliases = config.programs.bash.shellAliases; + programs.zsh.shellAliases = config.shell.alias; + shell.default = "${pkgs.zsh}/bin/zsh"; }; } diff --git a/modules/tools/editor/default.nix b/modules/tools/editor/default.nix index 1a146bf..fd2da1a 100644 --- a/modules/tools/editor/default.nix +++ b/modules/tools/editor/default.nix @@ -1,4 +1,4 @@ -{ lib, config, ... }: +{ ... }: { imports = [ diff --git a/modules/tools/editor/neovim/default.nix b/modules/tools/editor/neovim/default.nix index e06ec88..6cf3b50 100644 --- a/modules/tools/editor/neovim/default.nix +++ b/modules/tools/editor/neovim/default.nix @@ -1,11 +1,11 @@ { pkgs, config, lib, ... }: { - options = { - neovim.enable = lib.mkEnableOption "Enables neovim."; + options.tools.editor.neovim = { + enable = lib.mkEnableOption "Enables neovim."; }; - config = lib.mkIf config.neovim.enable { + config = lib.mkIf config.tools.editor.neovim.enable { programs.neovim.enable = true; programs.neovim.viAlias = true; programs.neovim.vimAlias = true; diff --git a/modules/tools/file-manager/default.nix b/modules/tools/file-manager/default.nix index d127a66..fc5eb46 100644 --- a/modules/tools/file-manager/default.nix +++ b/modules/tools/file-manager/default.nix @@ -1,4 +1,4 @@ -{ lib, config, ... }: +{ ... }: { imports = [ diff --git a/modules/tools/file-manager/lf/default.nix b/modules/tools/file-manager/lf/default.nix index 00784cf..30ed421 100644 --- a/modules/tools/file-manager/lf/default.nix +++ b/modules/tools/file-manager/lf/default.nix @@ -1,11 +1,11 @@ { config, pkgs, lib, ... }: { - options = { - lf.enable = lib.mkEnableOption "Enables lf."; + options.tools.file-manager.lf = { + enable = lib.mkEnableOption "Enables lf."; }; - config = lib.mkIf config.lf.enable { + config = lib.mkIf config.tools.file-manager.lf.enable { programs.lf.enable = true; programs.lf.settings = { hidden = true; diff --git a/modules/tools/file-manager/lsd/default.nix b/modules/tools/file-manager/lsd/default.nix index 0f57e6b..5b940ab 100644 --- a/modules/tools/file-manager/lsd/default.nix +++ b/modules/tools/file-manager/lsd/default.nix @@ -1,14 +1,14 @@ { pkgs, lib, config, ... }: { - options = { - lsd.enable = lib.mkEnableOption "Enables lsd."; + options.tools.file-manager.lsd = { + enable = lib.mkEnableOption "Enables lsd."; }; - config = lib.mkIf config.lsd.enable { + config = lib.mkIf config.tools.file-manager.lsd.enable { programs.lsd.enable = true; programs.lsd.enableAliases = true; - programs.bash.shellAliases."tree" = "${pkgs.lsd}/bin/lsd -a --tree"; + shell.alias."tree" = "${pkgs.lsd}/bin/lsd -a --tree"; programs.lsd.settings = { icons.separator = " "; diff --git a/modules/tools/git/default.nix b/modules/tools/git/default.nix index 7396cb8..1dadacf 100644 --- a/modules/tools/git/default.nix +++ b/modules/tools/git/default.nix @@ -1,11 +1,11 @@ { lib, config, ... }: { - options = { - git.enable = lib.mkEnableOption "Enables git."; + options.tools.git = { + enable = lib.mkEnableOption "Enables git."; }; - config = lib.mkIf config.git.enable { + config = lib.mkIf config.tools.git.enable { programs.git.enable = true; programs.git.userEmail = "54011232+arpitchakladar@users.noreply.github.com"; programs.git.userName = "Arpit Chakladar"; diff --git a/modules/tools/system-monitor/htop/default.nix b/modules/tools/system-monitor/htop/default.nix index f27174a..c19ab60 100644 --- a/modules/tools/system-monitor/htop/default.nix +++ b/modules/tools/system-monitor/htop/default.nix @@ -1,11 +1,11 @@ { pkgs, lib, config, ... }: { - options = { - htop.enable = lib.mkEnableOption "Enables htop."; + options.tools.system-monitor.htop = { + enable = lib.mkEnableOption "Enables htop."; }; - config = lib.mkIf config.htop.enable { + config = lib.mkIf config.tools.system-monitor.htop.enable { programs.htop.enable = true; programs.htop.package = pkgs.htop-vim; }; diff --git a/modules/tools/viewer/bat/default.nix b/modules/tools/viewer/bat/default.nix index cc01f82..915b4b2 100644 --- a/modules/tools/viewer/bat/default.nix +++ b/modules/tools/viewer/bat/default.nix @@ -1,11 +1,11 @@ { config, lib, ... }: { - options = { - bat.enable = lib.mkEnableOption "Enables bat."; + options.tools.viewer.bat = { + enable = lib.mkEnableOption "Enables bat."; }; - config = lib.mkIf config.bat.enable { + config = lib.mkIf config.tools.viewer.bat.enable { programs.bat.enable = true; programs.bat.config.theme = "customTheme"; xdg.configFile."bat/themes/customTheme.tmTheme".text diff --git a/modules/tools/viewer/bat/theme.nix b/modules/tools/viewer/bat/theme.nix index e345ee4..dc22ceb 100644 --- a/modules/tools/viewer/bat/theme.nix +++ b/modules/tools/viewer/bat/theme.nix @@ -5,120 +5,120 @@ with config.scheme.withHashtag; - name - customTheme - settings - - - - settings - - background - #0F1419 - foreground - #E6E1CF - caret - #F3F4F5 - invisibles - #3E4B59 - lineHighlight - #272D38 - selection - #3E4B59 - - - - - - scope - comment - settings - - foreground - #BFBDB6 - - - - - scope - string - settings - - foreground - #FFB454 - - + name + customTheme + settings + + + + settings + + background + ${base00} + foreground + ${base05} + caret + ${base07} + invisibles + ${base03} + lineHighlight + ${base02} + selection + ${base03} + + + + + + scope + comment + settings + + foreground + ${base04} + + + + + scope + string + settings + + foreground + ${base0A} + + - - scope - constant.numeric - settings - - foreground - #FF8F40 - - + + scope + constant.numeric + settings + + foreground + ${base09} + + - - scope - variable - settings - - foreground - #F07178 - - + + scope + variable + settings + + foreground + ${base08} + + - - scope - keyword - settings - - foreground - #59C2FF - - + + scope + keyword + settings + + foreground + ${base0D} + + - - scope - support.function - settings - - foreground - #D2A6FF - - + + scope + support.function + settings + + foreground + ${base0E} + + - - scope - constant.language - settings - - foreground - #B8CC52 - - + + scope + constant.language + settings + + foreground + ${base0B} + + - - scope - entity.name.tag - settings - - foreground - #95E6CB - - + + scope + entity.name.tag + settings + + foreground + ${base0C} + + - - scope - invalid - settings - - foreground - #E6B673 - - - + + scope + invalid + settings + + foreground + ${base0F} + + + '' diff --git a/modules/tools/viewer/default.nix b/modules/tools/viewer/default.nix index dde782b..7784a99 100644 --- a/modules/tools/viewer/default.nix +++ b/modules/tools/viewer/default.nix @@ -1,4 +1,4 @@ -{ lib, config, ... }: +{ ... }: { imports = [ -- cgit v1.2.3