refactor: rename home modules/general cleanup
This commit is contained in:
		
							parent
							
								
									16dd61d968
								
							
						
					
					
						commit
						653640b484
					
				
					 86 changed files with 230 additions and 322 deletions
				
			
		|  | @ -2,7 +2,6 @@ | |||
|   imports = [ | ||||
|     ./editor # Still need to implement nvim | ||||
|     ./fileManager | ||||
|     # ./language | ||||
|     ./multiplexer # Still need to implement tmux and screen | ||||
|     ./prompt # only Starship is currently implemented | ||||
|     ./shell | ||||
|  | @ -6,7 +6,7 @@ | |||
|     # ./nvim | ||||
|   ]; | ||||
| 
 | ||||
|   options.programs.console.editor = { | ||||
|   options.homeModules.console.editor = { | ||||
|     helix = { | ||||
|       enable = lib.mkEnableOption "Enable helix text editor"; | ||||
|       default = lib.mkOption { | ||||
|  | @ -1,6 +1,6 @@ | |||
| { inputs, config, pkgs, lib, ... }: | ||||
| let | ||||
|   cfg = config.programs.console.editor.helix; | ||||
|   cfg = config.homeModules.console.editor.helix; | ||||
|   inherit (config) colorscheme; | ||||
| in | ||||
| { | ||||
							
								
								
									
										108
									
								
								home/modules/console/editor/helix/languages.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								home/modules/console/editor/helix/languages.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,108 @@ | |||
| { pkgs, lib, config, ... }:  | ||||
| 
 | ||||
| let | ||||
|   cfg = config.homeModules.console.editor.helix; | ||||
| in | ||||
| 
 | ||||
| { | ||||
|   config = lib.mkIf cfg.enable { | ||||
|     programs.helix.languages = { | ||||
|       language = let | ||||
|         deno = lang: { | ||||
|           command = "${pkgs.deno}/bin/deno"; | ||||
|           args = ["fmt" "-" "--ext" lang]; | ||||
|         }; | ||||
| 
 | ||||
|         prettier = lang: { | ||||
|           command = "${pkgs.nodePackages.prettier}/bin/prettier"; | ||||
|           args = ["--parser" lang]; | ||||
|         }; | ||||
|         prettierLangs = map (e: { | ||||
|           name = e; | ||||
|           formatter = prettier e; | ||||
|         }); | ||||
|         langs = ["css" "scss" "html"]; | ||||
|       in | ||||
|         [ | ||||
|           { | ||||
|             name = "bash"; | ||||
|             auto-format = true; | ||||
|             formatter = { | ||||
|               command = "${pkgs.shfmt}/bin/shfmt"; | ||||
|               args = ["-i" "2"]; | ||||
|             }; | ||||
|           } | ||||
|           { | ||||
|             name = "clojure"; | ||||
|             injection-regex = "(clojure|clj|edn|boot|yuck)"; | ||||
|             file-types = ["clj" "cljs" "cljc" "clje" "cljr" "cljx" "edn" "boot" "yuck"]; | ||||
|           } | ||||
|           { | ||||
|             name = "javascript"; | ||||
|             auto-format = true; | ||||
|             language-servers = ["deno-lsp"]; | ||||
|           } | ||||
|           { | ||||
|             name = "json"; | ||||
|             formatter = deno "json"; | ||||
|           } | ||||
|           { | ||||
|             name = "markdown"; | ||||
|             auto-format = true; | ||||
|             formatter = deno "md"; | ||||
|           } | ||||
|         ] | ||||
|         ++ prettierLangs langs; | ||||
| 
 | ||||
|       language-server = { | ||||
|         bash-language-server = { | ||||
|           command = "${pkgs.nodePackages.bash-language-server}/bin/bash-language-server"; | ||||
|           args = ["start"]; | ||||
|         }; | ||||
| 
 | ||||
|         clangd = { | ||||
|           command = "${pkgs.clang-tools}/bin/clangd"; | ||||
|           clangd.fallbackFlags = ["-std=c++2b"]; | ||||
|         }; | ||||
| 
 | ||||
|         deno-lsp = { | ||||
|           command = "${pkgs.deno}/bin/deno"; | ||||
|           args = ["lsp"]; | ||||
|           environment.NO_COLOR = "1"; | ||||
|           config.deno = { | ||||
|             enable = true; | ||||
|             lint = true; | ||||
|             unstable = true; | ||||
|             suggest = { | ||||
|               completeFunctionCalls = false; | ||||
|               imports = {hosts."https://deno.land" = true;}; | ||||
|             }; | ||||
|             inlayHints = { | ||||
|               enumMemberValues.enabled = true; | ||||
|               functionLikeReturnTypes.enabled = true; | ||||
|               parameterNames.enabled = "all"; | ||||
|               parameterTypes.enabled = true; | ||||
|               propertyDeclarationTypes.enabled = true; | ||||
|               variableTypes.enabled = true; | ||||
|             }; | ||||
|           }; | ||||
|         }; | ||||
| 
 | ||||
|         nil = { | ||||
|           command = lib.getExe pkgs.nil; | ||||
|           config.nil.formatting.command = ["${lib.getExe pkgs.alejandra}" "-q"]; | ||||
|         }; | ||||
| 
 | ||||
|         vscode-css-language-server = { | ||||
|           command = "${pkgs.nodePackages.vscode-css-languageserver-bin}/bin/css-languageserver"; | ||||
|           args = ["--stdio"]; | ||||
|           config = { | ||||
|             provideFormatter = true; | ||||
|             css.validate.enable = true; | ||||
|             scss.validate.enable = true; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -7,7 +7,7 @@ | |||
|     # ./ranger | ||||
|   ]; | ||||
| 
 | ||||
|   options.programs.console.fileManager = { | ||||
|   options.homeModules.console.fileManager = { | ||||
|     lf = { | ||||
|       enable = lib.mkEnableOption "Enable lf file manager"; | ||||
|       default = lib.mkOption { | ||||
|  | @ -4,7 +4,7 @@ | |||
| #     - ripdrag support | ||||
| #     - color parity with eza | ||||
| let | ||||
|  cfg = config.programs.console.fileManager.lf; | ||||
|  cfg = config.homeModules.console.fileManager.lf; | ||||
| in | ||||
| 
 | ||||
| { | ||||
|  | @ -6,7 +6,7 @@ | |||
|     #./tmux | ||||
|   ]; | ||||
| 
 | ||||
|   options.programs.console.multiplexer = { | ||||
|   options.homeModules.console.multiplexer = { | ||||
|     zellij = { | ||||
|       enable = lib.mkEnableOption "Enable zellij multiplexer"; | ||||
|     }; | ||||
|  | @ -2,7 +2,7 @@ | |||
| let | ||||
|   inherit (config) colorscheme; | ||||
|   inherit (colorscheme) colors; | ||||
|   cfg = config.programs.console.multiplexer.zellij; | ||||
|   cfg = config.homeModules.console.multiplexer.zellij; | ||||
| in | ||||
| 
 | ||||
| { | ||||
|  | @ -4,7 +4,7 @@ | |||
|     ./starship | ||||
|   ]; | ||||
| 
 | ||||
|   options.programs.console.prompt = { | ||||
|   options.homeModules.console.prompt = { | ||||
|     starship = { | ||||
|       enable = lib.mkEnableOption "Enable starship prompt"; | ||||
|     }; | ||||
|  | @ -1,7 +1,7 @@ | |||
| { config, lib, ... }: | ||||
| 
 | ||||
| let | ||||
|   cfg = config.programs.console.prompt.starship; | ||||
|   cfg = config.homeModules.console.prompt.starship; | ||||
| in | ||||
| 
 | ||||
| { | ||||
|  | @ -1,6 +1,6 @@ | |||
| { config, lib, ... }: | ||||
| let | ||||
|   cfg = config.programs.console.shell.bash; | ||||
|   cfg = config.homeModules.console.shell.bash; | ||||
| in | ||||
| { | ||||
|   config = lib.mkIf cfg.enable { | ||||
|  | @ -5,7 +5,7 @@ | |||
|     ./bash | ||||
|   ]; | ||||
| 
 | ||||
|   options.programs.console.shell = { | ||||
|   options.homeModules.console.shell = { | ||||
|     fish = { | ||||
|       enable = lib.mkEnableOption "Enable fish configuration"; | ||||
|     }; | ||||
|  | @ -1,6 +1,6 @@ | |||
| { pkgs, lib, config, ... }: | ||||
| let | ||||
|   cfg = config.programs.console.shell.fish; | ||||
|   cfg = config.homeModules.console.shell.fish; | ||||
|   inherit (lib) mkIf; | ||||
|   hasPackage = pname: lib.any (p: p ? pname && p.pname == pname) config.home.packages; | ||||
|   hasEza = hasPackage "eza"; | ||||
|  | @ -6,7 +6,7 @@ | |||
|     ./tools | ||||
|   ]; | ||||
| 
 | ||||
|   options.programs.console.utility = { | ||||
|   options.homeModules.console.utility = { | ||||
|     nixIndex = { | ||||
|       enable = lib.mkEnableOption "Enable nixIndex configuration"; | ||||
|     }; | ||||
|  | @ -1,6 +1,6 @@ | |||
| { pkgs, config, lib, ... }: | ||||
|   let  | ||||
|     cfg = config.programs.console.utility.git; | ||||
|     cfg = config.homeModules.console.utility.git; | ||||
|   in | ||||
| {  | ||||
|   config = { | ||||
|  | @ -1,6 +1,6 @@ | |||
| { pkgs, config, lib, ... }: | ||||
| let | ||||
|   cfg = config.programs.console.utility.nixIndex; | ||||
|   cfg = config.homeModules.console.utility.nixIndex; | ||||
|   update-script = pkgs.writeShellApplication { | ||||
|     name = "fetch-nix-index-database"; | ||||
|     runtimeInputs = with pkgs; [ wget coreutils ]; | ||||
|  | @ -1,6 +1,6 @@ | |||
| { pkgs, lib, config, ... }: | ||||
| let | ||||
|   cfg = config.programs.console.utility.tools; | ||||
|   cfg = config.homeModules.console.utility.tools; | ||||
| in | ||||
| { | ||||
|   config = lib.mkIf cfg.enable { | ||||
|  | @ -7,7 +7,7 @@ | |||
|     #./brave -- still needs tio be implemented | ||||
|   ]; | ||||
| 
 | ||||
|   options.programs.desktop.browser = { | ||||
|   options.homeModules.desktop.browser = { | ||||
|     firefox = { | ||||
|       enable = lib.mkEnableOption "Enable firefox browser"; | ||||
|       default = lib.mkOption { | ||||
|  | @ -2,7 +2,7 @@ | |||
| 
 | ||||
| let | ||||
|   addons = inputs.firefox-addons.packages.${pkgs.system}; | ||||
|   cfg = config.programs.desktop.browser.firefox; | ||||
|   cfg = config.homeModules.desktop.browser.firefox; | ||||
| in | ||||
| { | ||||
| 
 | ||||
|  | @ -5,7 +5,7 @@ | |||
|     ./discord | ||||
|   ]; | ||||
| 
 | ||||
|   options.programs.desktop.communication = { | ||||
|   options.homeModules.desktop.communication = { | ||||
|     discord = { | ||||
|       enable = lib.mkEnableOption "Enable discord module"; | ||||
|     }; | ||||
|  | @ -1,7 +1,7 @@ | |||
| { config, lib, pkgs, ... }: | ||||
| 
 | ||||
| let | ||||
|   cfg = config.programs.desktop.communication.discord; | ||||
|   cfg = config.homeModules.desktop.communication.discord; | ||||
|   inherit (config.colorscheme) colors; | ||||
| in | ||||
| 
 | ||||
|  | @ -4,12 +4,10 @@ | |||
|     ./browser # done -- firefox still need: chrome, brave | ||||
|     #./creative -- still needs to be implemented | ||||
|     ./communication # only discord implemented | ||||
|     #./desktopEnvironment -- still needs to be implemented | ||||
|     ./media # done -- spotify gui still needs to be implemented | ||||
|     ./terminal # done -- wezterm still needs to be implemented | ||||
|     #./wallpaper -- still needs to be implemented | ||||
|     #./utility -- still needs to be implemented | ||||
|     #./vm -- still needs to be implemented | ||||
|     ./wayland # -- almost done, need to implement eww  | ||||
|     #./productivity -- still needs to be implemented | ||||
|     # ./gaming  | ||||
|  | @ -4,7 +4,7 @@ | |||
|     ./imv | ||||
|   ]; | ||||
| 
 | ||||
|   options.programs.desktop.media.image = { | ||||
|   options.homeModules.desktop.media.image = { | ||||
|     imv = { | ||||
|       enable = lib.mkEnableOption "Enable imv image viewer"; | ||||
|     }; | ||||
|  | @ -1,6 +1,6 @@ | |||
| { lib, config, ... }: | ||||
| let | ||||
|   cfg = config.programs.desktop.media.image.imv; | ||||
|   cfg = config.homeModules.desktop.media.image.imv; | ||||
| in | ||||
| { | ||||
|   config = lib.mkIf cfg.enable { | ||||
|  | @ -5,7 +5,7 @@ | |||
|     ./tui | ||||
|   ]; | ||||
| 
 | ||||
|   options.programs.desktop.media.music = { | ||||
|   options.homeModules.desktop.media.music = { | ||||
|     tui = { | ||||
|       enable = lib.mkEnableOption "Enable tui music"; | ||||
|     }; | ||||
|  | @ -1,7 +1,7 @@ | |||
| { pkgs, config, lib, ... }: | ||||
| 
 | ||||
| let | ||||
|   cfg = config.programs.desktop.media.music.tui; | ||||
|   cfg = config.homeModules.desktop.media.music.tui; | ||||
| in | ||||
| 
 | ||||
| { | ||||
|  | @ -6,7 +6,7 @@ | |||
|     ./mpv | ||||
|   ]; | ||||
|    | ||||
|   options.programs.desktop.media.video = { | ||||
|   options.homeModules.desktop.media.video = { | ||||
|     mpv = { | ||||
|       enable = lib.mkEnableOption "Enable mpv video player"; | ||||
|     }; | ||||
|  | @ -1,6 +1,6 @@ | |||
| { pkgs, lib, config, ... }: | ||||
| let | ||||
|   cfg = config.programs.desktop.media.video.jellyfin; | ||||
|   cfg = config.homeModules.desktop.media.video.jellyfin; | ||||
| in | ||||
| { | ||||
|   config = lib.mkIf cfg.enable { | ||||
|  | @ -1,7 +1,7 @@ | |||
| { lib, config, ... }: | ||||
| 
 | ||||
| let | ||||
|   cfg = config.programs.desktop.media.video.mpv; | ||||
|   cfg = config.homeModules.desktop.media.video.mpv; | ||||
| in | ||||
| { | ||||
|   config = { | ||||
|  | @ -1,6 +1,6 @@ | |||
| { lib, config, pkgs, ...}: | ||||
| let | ||||
|   cfg = config.programs.desktop.media.video.youtube; | ||||
|   cfg = config.homeModules.desktop.media.video.youtube; | ||||
| in | ||||
| { | ||||
|   config = lib.mkIf cfg.enable { | ||||
|  | @ -1,6 +1,6 @@ | |||
| { lib, config, ... }: | ||||
|   let | ||||
|     cfg = config.programs.desktop.terminal; | ||||
|     cfg = config.homeModules.desktop.terminal; | ||||
|   in | ||||
| { | ||||
| 
 | ||||
|  | @ -9,7 +9,7 @@ | |||
|     ./kitty | ||||
|   ]; | ||||
| 
 | ||||
|   options.programs.desktop.terminal = { | ||||
|   options.homeModules.desktop.terminal = { | ||||
|     foot = { | ||||
|       enable = lib.mkEnableOption "Enable foot terminal"; | ||||
|       default = lib.mkOption { | ||||
|  | @ -2,17 +2,16 @@ | |||
| 
 | ||||
| let | ||||
|   inherit (config.colorscheme) colors; | ||||
|   cfg = config.homeModules.desktop.terminal.foot; | ||||
| in | ||||
| 
 | ||||
| { | ||||
|   config = { | ||||
| 
 | ||||
|     home.sessionVariables = lib.mkIf config.programs.desktop.terminal.foot.default { | ||||
|   config = lib.mkIf cfg.enable { | ||||
|     home.sessionVariables = lib.mkIf cfg.default { | ||||
|       TERMINAL = "foot"; | ||||
|       TERM = "foot"; | ||||
|     }; | ||||
| 
 | ||||
|     programs.foot = lib.mkIf config.programs.desktop.terminal.foot.enable { | ||||
|     programs.foot = { | ||||
|       enable = true; | ||||
|       server.enable = true; | ||||
|       settings = { | ||||
|  | @ -2,17 +2,16 @@ | |||
| 
 | ||||
| let | ||||
|   inherit (config.colorscheme) colors; | ||||
|   cfg = config.programs.desktop.terminal.kitty; | ||||
|   cfg = config.homeModules.desktop.terminal.kitty; | ||||
| in | ||||
| { | ||||
| 
 | ||||
|   config = { | ||||
|   config = lib.mkIf cfg.enable { | ||||
|     home.sessionVariables = lib.mkIf cfg.default { | ||||
|       TERMINAL = "kitty -1"; | ||||
|       TERM = "kitty -1"; | ||||
|     }; | ||||
| 
 | ||||
|     programs.kitty = lib.mkIf  cfg.enable { | ||||
|     programs.kitty = { | ||||
|       enable = true; | ||||
|       font = { | ||||
|         name = config.fontProfiles.monospace.family; | ||||
|  | @ -1,6 +1,6 @@ | |||
| { pkgs, lib, config, ... }:  | ||||
| let | ||||
|   cfg = config.programs.desktop.themeSettings; | ||||
|   cfg = config.homeModules.desktop.themeSettings; | ||||
| in | ||||
| 
 | ||||
| { | ||||
|  | @ -8,7 +8,7 @@ | |||
|   ]; | ||||
| 
 | ||||
|   # settings to be expanded on in the future | ||||
|   options.programs.desktop.themeSettings = { | ||||
|   options.homeModules.desktop.themeSettings = { | ||||
|     enable = lib.mkEnableOption "Enable theme settings"; | ||||
|   }; | ||||
| } | ||||
|  | @ -1,6 +1,6 @@ | |||
| { pkgs, config, lib,  ... }: | ||||
| let | ||||
|   cfg = config.programs.desktop.themeSettings; | ||||
|   cfg = config.homeModules.desktop.themeSettings; | ||||
| in | ||||
| { | ||||
|   config = lib. mkIf cfg.enable { | ||||
|  | @ -2,7 +2,7 @@ | |||
| 
 | ||||
| let | ||||
|   inherit (inputs.nix-colors.lib-contrib { inherit pkgs; }) gtkThemeFromScheme; | ||||
|   cfg = config.programs.desktop.themeSettings; | ||||
|   cfg = config.homeModules.desktop.themeSettings; | ||||
| in | ||||
| { | ||||
|   config = lib.mkIf cfg.enable (rec { | ||||
|  | @ -1,6 +1,6 @@ | |||
| { config, lib, ... }: | ||||
| let | ||||
|   cfg = config.programs.desktop.themeSettings; | ||||
|   cfg = config.homeModules.desktop.themeSettings; | ||||
| in | ||||
| { | ||||
|   config = lib.mkIf cfg.enable { | ||||
							
								
								
									
										21
									
								
								home/modules/desktop/utility/gammastep.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								home/modules/desktop/utility/gammastep.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,21 @@ | |||
| { lib, config, ... }: | ||||
| 
 | ||||
| let | ||||
|   cfg = config.homeModules.desktop.utility.gammastep; | ||||
| in | ||||
| 
 | ||||
| { | ||||
|   config = lib.mkIf cfg.enable { | ||||
|     services.gammastep = lib.mkif config.programs.desktop.windowManager.hyprland.enable { | ||||
|       enable = true; | ||||
|       provider = "geoclue2"; | ||||
|       temperature = { | ||||
|         day = 6000; | ||||
|         night = 4600; | ||||
|       }; | ||||
|       settings = { | ||||
|         general.adjustment-method = "wayland"; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -6,7 +6,7 @@ | |||
|     #./waybar -- needs to be implemented | ||||
|   ]; | ||||
| 
 | ||||
|   options.programs.desktop.wayland.bar = { | ||||
|   options.homeModules.desktop.wayland.bar = { | ||||
|     eww = { | ||||
|       enable = lib.mkEnableOption "Enable Eww bar"; | ||||
|     }; | ||||
|  | @ -9,7 +9,7 @@ | |||
|     # ./launcher | ||||
|   ]; | ||||
| 
 | ||||
|   options.programs.desktop.wayland = { | ||||
|   options.homeModules.desktop.wayland = { | ||||
|     base = { | ||||
|       enable = lib.mkEnableOption "Enable wayland specific utilities"; | ||||
|     }; | ||||
|  | @ -6,7 +6,7 @@ | |||
|     ./swaylock | ||||
|   ]; | ||||
| 
 | ||||
|   options.programs.desktop.wayland.lockscreen = { | ||||
|   options.homeModules.desktop.wayland.lockscreen = { | ||||
|     swaylock = { | ||||
|       enable = lib.mkEnableOption "Enable Swaylock screen"; | ||||
|     }; | ||||
|  | @ -2,11 +2,11 @@ | |||
| 
 | ||||
| let | ||||
|   inherit (config.colorscheme) colors; | ||||
|   cfg = config.programs.desktop.wayland.lockscreen.swaylock; | ||||
|   cfg = config.homeModules.desktop.wayland.lockscreen.swaylock; | ||||
| in | ||||
| { | ||||
|   config = { | ||||
|     programs.swaylock = lib.mkIf cfg.enable { | ||||
|   config = lib.mkIf cfg.enable { | ||||
|     programs.swaylock = { | ||||
|       enable = true; | ||||
|       settings = { | ||||
|         font = config.fontProfiles.monospace.family; | ||||
|  | @ -6,7 +6,7 @@ | |||
|     #./dunst -- still needs to be implemented | ||||
|   ]; | ||||
| 
 | ||||
|   options.programs.desktop.wayland.notification = { | ||||
|   options.homeModules.desktop.wayland.notification = { | ||||
|     mako = { | ||||
|       enable = lib.mkEnableOption "Enable mako notification daemon"; | ||||
|     }; | ||||
|  | @ -1,10 +1,10 @@ | |||
| { config, lib, ... }: | ||||
| let | ||||
|   inherit (config.colorscheme) colors kind; | ||||
|   cfg = config.programs.desktop.wayland.notification.mako; | ||||
|   cfg = config.homeModules.desktop.wayland.notification.mako; | ||||
| in { | ||||
|   config = { | ||||
|     services.mako  = lib.mkIf cfg.enable { | ||||
|   config = lib.mkIf cfg.enable { | ||||
|     services.mako  = { | ||||
|       enable = true; | ||||
|       iconPath = | ||||
|         if kind == "dark" then | ||||
|  | @ -1,7 +1,7 @@ | |||
| { lib, config, pkgs, ... }: | ||||
| 
 | ||||
| let | ||||
|   cfg = config.programs.desktop.wayland.base; | ||||
|   cfg = config.homeModules.desktop.wayland.base; | ||||
| in | ||||
| 
 | ||||
| { | ||||
|  | @ -35,16 +35,16 @@ in | |||
|       }; | ||||
|     }; | ||||
|      | ||||
|     services.gammastep = { | ||||
|       enable = true; | ||||
|       provider = "geoclue2"; | ||||
|       temperature = { | ||||
|         day = 6000; | ||||
|         night = 4600; | ||||
|       }; | ||||
|       settings = { | ||||
|         general.adjustment-method = "wayland"; | ||||
|       }; | ||||
|     }; | ||||
|     # services.gammastep = { | ||||
|     #   enable = true; | ||||
|     #   provider = "geoclue2"; | ||||
|     #   temperature = { | ||||
|     #     day = 6000; | ||||
|     #     night = 4600; | ||||
|     #   }; | ||||
|     #   settings = { | ||||
|     #     general.adjustment-method = "wayland"; | ||||
|     #   }; | ||||
|     # }; | ||||
|   }; | ||||
| } | ||||
|  | @ -5,7 +5,7 @@ | |||
|     ./hyprland | ||||
|   ]; | ||||
| 
 | ||||
|   options.programs.desktop.wayland.windowManager = {  | ||||
|   options.homeModules.desktop.wayland.windowManager = {  | ||||
|     hyprland = { | ||||
|       enable = lib.mkEnableOption "Enable Hyprland window-manager"; | ||||
|     }; | ||||
|  | @ -1,10 +1,10 @@ | |||
| { config, lib, ... }: | ||||
| let | ||||
|   cfg = config.programs.desktop.wayland.windowManager.hyprland; | ||||
|   cfg = config.homeModules.desktop.wayland.windowManager.hyprland; | ||||
| in | ||||
| { | ||||
|   config = { | ||||
|     wayland.windowManager.hyprland = lib.mkIf cfg.enable { | ||||
|   config = lib.mkIf cfg.enable { | ||||
|     wayland.windowManager.hyprland = { | ||||
|       settings = { | ||||
|         general = { | ||||
|           gaps_in = 10; | ||||
|  | @ -1,8 +1,7 @@ | |||
| { lib, config, pkgs, ... }:  | ||||
| 
 | ||||
|   let | ||||
|     cfg = config.programs.desktop.wayland.windowManager.hyprland; | ||||
|     light = "${pkgs.light}/bin/light"; | ||||
|     cfg = config.homeModules.desktop.wayland.windowManager.hyprland; | ||||
|     notifysend = "${pkgs.libnotify}/bin/notify-send"; | ||||
|     #pamixer = "${pkgs.pamixer}/bin/pamixer"; | ||||
| 
 | ||||
|  | @ -10,15 +9,15 @@ | |||
|       #!/bin/sh | ||||
| 
 | ||||
|       if [ "$1" == "up" ]; then | ||||
|       ${light} -A 10 | ||||
|       brillo -q -u 30000 -A 5 | ||||
|     elif [ "$1" == "down" ]; then | ||||
|       ${light} -U 10 | ||||
|       brillo -q -u 30000 -U 5 | ||||
|     else | ||||
|       echo "Invalid argument" | ||||
|       exit 1 | ||||
|     fi | ||||
| 
 | ||||
|     BRIGHTNESS=$(${light} -G | awk -F'.' '{print$1}') | ||||
|     BRIGHTNESS=$(brillo -G | awk -F'.' '{print$1}') | ||||
| 
 | ||||
|     ${notifysend} --app-name="system-notify" -h string:x-canonical-private-synchronous:sys-notify "  $BRIGHTNESS%" | ||||
|     ''; | ||||
|  | @ -1,6 +1,6 @@ | |||
| { lib, config, pkgs, ... }:  | ||||
| let | ||||
|   cfg = config.programs.desktop.wayland.windowManager.hyprland; | ||||
|   cfg = config.homeModules.desktop.wayland.windowManager.hyprland; | ||||
| in | ||||
| { | ||||
|     imports = [ | ||||
|  | @ -19,6 +19,8 @@ in | |||
|     home.packages = with pkgs; [ | ||||
|       inputs.hyprwm-contrib.grimblast | ||||
|       hyprpicker | ||||
|       light | ||||
|       hyprshade | ||||
|       ]; | ||||
|      | ||||
|     wayland.windowManager.hyprland = { | ||||
|  | @ -1,7 +1,7 @@ | |||
| { config, lib, ... }: | ||||
| 
 | ||||
| { | ||||
|   home = lib.mkIf config.programs.desktop.wayland.windowManager.hyprland.enable { | ||||
|   home = lib.mkIf config.homeModules.desktop.wayland.windowManager.hyprland.enable { | ||||
|     sessionVariables = { | ||||
|       # GTK_IM_MODULE = "fcitx5"; | ||||
|       # QT_IM_MODULE = "fcitx5"; | ||||
|  | @ -1,6 +1,6 @@ | |||
| { config, lib, pkgs, ... }: | ||||
| let | ||||
|   cfg = config.programs.desktop.wayland.windowManager.hyprland; | ||||
|   cfg = config.homeModules.desktop.wayland.windowManager.hyprland; | ||||
| in | ||||
| { | ||||
|   config = { | ||||
|  | @ -13,6 +13,7 @@ in | |||
|         "${pkgs._1password-gui}/bin/1password --silent" | ||||
|         "${pkgs.live-buds-cli}/bin/earbuds -d" | ||||
|         "eww daemon && eww open bar" | ||||
|         "systemctl --user start clight" | ||||
|       ]; | ||||
|     }; | ||||
|   }; | ||||
|  | @ -1,6 +1,6 @@ | |||
| { lib, config, ... }: | ||||
| let | ||||
|   cfg = config.programs.desktop.wayland.windowManager.hyprland; | ||||
|   cfg = config.homeModules.desktop.wayland.windowManager.hyprland; | ||||
| in | ||||
| { | ||||
|   config = { | ||||
|  | @ -7,7 +7,7 @@ in | |||
| { | ||||
|   imports = [ | ||||
|     inputs.nix-colors.homeManagerModule | ||||
|     ../../programs | ||||
|     ../../modules | ||||
|   ] ++ (builtins.attrValues outputs.homeManagerModules); | ||||
| 
 | ||||
|   config = lib.mkIf cfg.enable { | ||||
|  | @ -44,7 +44,7 @@ in | |||
| 
 | ||||
|     xdg.portal.enable = true; | ||||
| 
 | ||||
|     programs = { | ||||
|     homeModules = { | ||||
|       console = { | ||||
|         editor.helix = { | ||||
|           enable = true; | ||||
|  |  | |||
|  | @ -5,11 +5,11 @@ in | |||
| { | ||||
| 
 | ||||
|   imports = [ | ||||
|     ../../programs | ||||
|     ../../modules | ||||
|   ]; | ||||
|    | ||||
|   config = lib.mkIf cfg.enable { | ||||
|     programs.desktop = { | ||||
|     homeModules.desktop = { | ||||
|       wayland = { | ||||
|         base.enable = true; | ||||
|         windowManager.hyprland.enable = true; | ||||
|  |  | |||
|  | @ -1,101 +0,0 @@ | |||
| { pkgs, lib, ... }:  | ||||
| { | ||||
|   programs.helix.languages = { | ||||
|     language = let | ||||
|       deno = lang: { | ||||
|         command = "${pkgs.deno}/bin/deno"; | ||||
|         args = ["fmt" "-" "--ext" lang]; | ||||
|       }; | ||||
| 
 | ||||
|       prettier = lang: { | ||||
|         command = "${pkgs.nodePackages.prettier}/bin/prettier"; | ||||
|         args = ["--parser" lang]; | ||||
|       }; | ||||
|       prettierLangs = map (e: { | ||||
|         name = e; | ||||
|         formatter = prettier e; | ||||
|       }); | ||||
|       langs = ["css" "scss" "html"]; | ||||
|     in | ||||
|       [ | ||||
|         { | ||||
|           name = "bash"; | ||||
|           auto-format = true; | ||||
|           formatter = { | ||||
|             command = "${pkgs.shfmt}/bin/shfmt"; | ||||
|             args = ["-i" "2"]; | ||||
|           }; | ||||
|         } | ||||
|         { | ||||
|           name = "clojure"; | ||||
|           injection-regex = "(clojure|clj|edn|boot|yuck)"; | ||||
|           file-types = ["clj" "cljs" "cljc" "clje" "cljr" "cljx" "edn" "boot" "yuck"]; | ||||
|         } | ||||
|         { | ||||
|           name = "javascript"; | ||||
|           auto-format = true; | ||||
|           language-servers = ["deno-lsp"]; | ||||
|         } | ||||
|         { | ||||
|           name = "json"; | ||||
|           formatter = deno "json"; | ||||
|         } | ||||
|         { | ||||
|           name = "markdown"; | ||||
|           auto-format = true; | ||||
|           formatter = deno "md"; | ||||
|         } | ||||
|       ] | ||||
|       ++ prettierLangs langs; | ||||
| 
 | ||||
|     language-server = { | ||||
|       bash-language-server = { | ||||
|         command = "${pkgs.nodePackages.bash-language-server}/bin/bash-language-server"; | ||||
|         args = ["start"]; | ||||
|       }; | ||||
| 
 | ||||
|       clangd = { | ||||
|         command = "${pkgs.clang-tools}/bin/clangd"; | ||||
|         clangd.fallbackFlags = ["-std=c++2b"]; | ||||
|       }; | ||||
| 
 | ||||
|       deno-lsp = { | ||||
|         command = "${pkgs.deno}/bin/deno"; | ||||
|         args = ["lsp"]; | ||||
|         environment.NO_COLOR = "1"; | ||||
|         config.deno = { | ||||
|           enable = true; | ||||
|           lint = true; | ||||
|           unstable = true; | ||||
|           suggest = { | ||||
|             completeFunctionCalls = false; | ||||
|             imports = {hosts."https://deno.land" = true;}; | ||||
|           }; | ||||
|           inlayHints = { | ||||
|             enumMemberValues.enabled = true; | ||||
|             functionLikeReturnTypes.enabled = true; | ||||
|             parameterNames.enabled = "all"; | ||||
|             parameterTypes.enabled = true; | ||||
|             propertyDeclarationTypes.enabled = true; | ||||
|             variableTypes.enabled = true; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|       nil = { | ||||
|         command = lib.getExe pkgs.nil; | ||||
|         config.nil.formatting.command = ["${lib.getExe pkgs.alejandra}" "-q"]; | ||||
|       }; | ||||
| 
 | ||||
|       vscode-css-language-server = { | ||||
|         command = "${pkgs.nodePackages.vscode-css-languageserver-bin}/bin/css-languageserver"; | ||||
|         args = ["--stdio"]; | ||||
|         config = { | ||||
|           provideFormatter = true; | ||||
|           css.validate.enable = true; | ||||
|           scss.validate.enable = true; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -1,102 +0,0 @@ | |||
| :root { | ||||
|   --nix-bg1: #32302f; /*base00*/ | ||||
|   --nix-bg2: #3c3836; /*base01*/ | ||||
|   --nix-bg3: #504945; /*base02*/ | ||||
| 
 | ||||
|   --nix-fg1: #d5c4a1; /*base05*/ | ||||
|   --nix-fg2: #fbf1c7; /*base07*/ | ||||
|   --nix-fg3: #665c54; /*base03*/ | ||||
|   --nix-link: #83a598; /*base0D*/ | ||||
| 
 | ||||
|   --nix-accent: #fb4934; /*base08*/ | ||||
|   --nix-hi: #b8bb26; /*base0B*/ | ||||
| 
 | ||||
|   /* server collapse */ | ||||
|   --sb-collapsed-width: 12px; | ||||
|   --sb-transition-duration: 0.15s; | ||||
| } | ||||
| 
 | ||||
| .theme-dark { | ||||
|   --background-primary: var(--nix-bg1); | ||||
|   --background-secondary: var(--nix-bg2); | ||||
|   --background-secondary-alt: var(--nix-bg3); | ||||
|   --header-primary: var(--nix-fg1); | ||||
|   --header-secondary: var(--nix-hi); | ||||
|   --text-normal: var(--nix-fg1); | ||||
|   --text-muted: var(--nix-fg1); | ||||
|   --text-link: var(--nix-link); | ||||
|   --background-accent: var(--nix-accent); /*base08*/ | ||||
|   --background-tertiary: var(--nix-bg2); /*base01*/ | ||||
|   --background-floating: var(--nix-bg1); /*base00*/ | ||||
|   --background-mentioned: var(--nix-hi); | ||||
|   --background-mentioned: var(--nix-hi); | ||||
|   --interactive-normal: var(--nix-fg1); /*base05*/ | ||||
|   --interactive-hover: var(--nix-hi); /*base0B*/ | ||||
|   --interactive-active: var(--nix-fg2); | ||||
|   --interactive-muted: var(--nix-fg3); /*base03*/ | ||||
|   --channels-default: var(--nix-fg1); | ||||
|   --background-mobile: var(--nix-bg1); | ||||
|   --background-mobile-secondary: var(--nix-bg2); | ||||
|   --background-modifier-selected: var(--nix-bg1); | ||||
|   --scrollbar-thin-thun: var(--nix-hi); | ||||
|   --scrollbar-auto-thumb: var(--nix-fg1); | ||||
|   --scrollbar-auto-track: var(--nix-bg2); | ||||
|   --channeltextarea-background: var(--nix-bg2); | ||||
|   --background-modifier-hover: var(--nix-bg1); | ||||
|   --activity-card-background: var(--nix-bg2); | ||||
|   --text-warning: var(--nix-accent); | ||||
| } | ||||
| 
 | ||||
| .link__95dc0 /* text channel*/ { | ||||
|   border-radius: 0px; | ||||
|   margin-left: var(--csu-init-margin); | ||||
|   font-family: JetBrains Mono Nerd Font; | ||||
|   transition: | ||||
|     margin-left var(--csu-anim-duration) var(--csu-anim-transition), | ||||
|     background-color var(--csu-anim-duration); | ||||
| } | ||||
| 
 | ||||
| .containerDefault__3187b .wrapper__7bcde:before /* text channel */ { | ||||
|   content: ""; | ||||
|   display: inline-block; | ||||
|   background: var(--nix-hi); | ||||
|   height: 100%; | ||||
|   position: absolute; | ||||
|   left: 0; | ||||
| } | ||||
| 
 | ||||
| /* server collapse */ | ||||
| .guilds__2b93a /* servers */ { | ||||
|   overflow: hidden !important; | ||||
|   width: var(--sb-collapsed-width, 75px); | ||||
|   transition: width var(--sb-transition-duration); | ||||
| } | ||||
| .guilds__2b93a:hover /* expand server bar on hover */ { | ||||
|   width: 72px; | ||||
|   overflow: visible !important; | ||||
|   animation: server-bar-overflow 0s linear 0ms forwards; | ||||
| } | ||||
| .guilds__2b93a ~ .base__3e6af /* friends list, chat */ { | ||||
|   position: absolute; | ||||
|   left: var(--sb-collapsed-left, var(--sb-collapsed-width)); | ||||
|   top: var(--sb-collapsed-top, 0px); | ||||
|   bottom: var(--sb-collapsed-bottom, 0px); | ||||
|   right: var(--sb-collapsed-right, 0px); | ||||
|   transition-property: var(--sb-transition-property, left); | ||||
|   transition-duration: var(--sb-transition-duration); | ||||
| } | ||||
| .guilds__2b93a:hover ~ .base__3e6af /* friends list, chat */ { | ||||
|   position: absolute; | ||||
|   left: var(--sb-left, 60px); | ||||
|   top: var(--sb-top, 0px); | ||||
|   bottom: var(--sb-bottom, 0px); | ||||
|   right: var(--sb-right, 0px); | ||||
| } | ||||
| @keyframes server-bar-overflow { | ||||
|   from { | ||||
|     overflow: hidden; | ||||
|   } | ||||
|   to { | ||||
|     overflow: visible; | ||||
|   } | ||||
| } | ||||
|  | @ -1,15 +0,0 @@ | |||
| { lib, ... } | ||||
| { | ||||
|   import = [ | ||||
|     ./window-manager | ||||
|     #./gnome -- still needs to be implemented | ||||
|     #./kde -- still needs to implemented | ||||
|     ./appearance | ||||
|   ]; | ||||
| 
 | ||||
|   options.programs.desktop.desktopEnvironment = { | ||||
|     hyprland = { | ||||
|       enable = lib.mkEnableOption "Enable Hyprland window-manager"; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -1,14 +0,0 @@ | |||
| { lib, config, ... }: | ||||
| { | ||||
|   services.gammastep = lib.mkif config.programs.desktop.windowManager.hyprland.enable { | ||||
|     enable = true; | ||||
|     provider = "geoclue2"; | ||||
|     temperature = { | ||||
|       day = 6000; | ||||
|       night = 4600; | ||||
|     }; | ||||
|     settings = { | ||||
|       general.adjustment-method = "wayland"; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -5,7 +5,6 @@ | |||
|     inputs.hardware.nixosModules.lenovo-thinkpad-t480s | ||||
| 		./hardware-configuration.nix | ||||
|     ../../profiles | ||||
| 		# ../../modules | ||||
| 		]; | ||||
| 
 | ||||
|     activeProfiles = ["base" "laptop"]; | ||||
|  |  | |||
|  | @ -9,13 +9,18 @@ in | |||
|     hardware.brillo.enable = true; | ||||
|     services.clight = { | ||||
|       enable = true; | ||||
|       temperature = { | ||||
|         night = 1000; | ||||
|         day = 6000; | ||||
|       }; | ||||
|       settings = { | ||||
|         verbose = true; | ||||
|         backlight.disabled = true; | ||||
|         dpms.timeouts = [900 300]; | ||||
|         dimmer.timeouts = [870 270]; | ||||
|         gamma.long_transition = true; | ||||
|         screen.disabled = true; | ||||
|         sunrise = "9:00"; | ||||
|         sunset = "20:00"; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
|  |  | |||
|  | @ -46,9 +46,19 @@ in | |||
| 
 | ||||
|     hardware = { | ||||
|       enableAllFirmware = true; | ||||
|       opengl.enable = true; | ||||
|       opengl = { | ||||
|         enable = true; | ||||
|         extraPackages = with pkgs; [ | ||||
|           libva | ||||
|           vaapiVdpau | ||||
|           libvdpau-va-gl | ||||
|         ]; | ||||
|         extraPackages32 = with pkgs.pkgsi686Linux; [ | ||||
|           vaapiVdpau | ||||
|           libvdpau-va-gl | ||||
|         ]; | ||||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     system.stateVersion = lib.mkDefault "23.11"; | ||||
|   };  | ||||
| } | ||||
|  |  | |||
|  | @ -12,7 +12,7 @@ in | |||
|       hardware = { | ||||
|         bluetooth.enable = true; | ||||
|         power.enable = true; | ||||
|         # backlight.enable = true; | ||||
|         backlight.enable = true; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue