aboutsummaryrefslogtreecommitdiff
path: root/modules/home-manager
diff options
context:
space:
mode:
authorDylan <boss@tehbox.org>2026-10-17 22:02:09 +1300
committerDylan <boss@tehbox.org>2026-10-17 22:04:40 +1300
commit008b591a0a5942ae42f4c07a5abbee4dbd2d0743 (patch)
tree0ae88a36bc00ede3b43b31489adae633dc54e8cd /modules/home-manager
parent280e1bbe5e733128a451260685cc8ecd10a042a3 (diff)
downloadnixos-configuration-008b591a0a5942ae42f4c07a5abbee4dbd2d0743.tar.gz
nixos-configuration-008b591a0a5942ae42f4c07a5abbee4dbd2d0743.zip
feat: Formatting changes
Diffstat (limited to 'modules/home-manager')
-rw-r--r--modules/home-manager/YATwm/default.nix261
-rw-r--r--modules/home-manager/emacs/default.nix81
-rw-r--r--modules/home-manager/home.nix388
-rw-r--r--modules/home-manager/hyprland/default.nix315
-rw-r--r--modules/home-manager/hyprpaper/default.nix22
-rw-r--r--modules/home-manager/i3/default.nix86
-rw-r--r--modules/home-manager/i3/i3-commands.nix48
-rw-r--r--modules/home-manager/i3/rofi-passmenu.nix138
-rw-r--r--modules/home-manager/kitty/default.nix50
-rw-r--r--modules/home-manager/picom/default.nix38
-rw-r--r--modules/home-manager/polybar/default.nix43
-rw-r--r--modules/home-manager/rofi/default.nix29
-rw-r--r--modules/home-manager/shells/bash.nix156
-rw-r--r--modules/home-manager/waybar/default.nix35
14 files changed, 887 insertions, 803 deletions
diff --git a/modules/home-manager/YATwm/default.nix b/modules/home-manager/YATwm/default.nix
index 587e929..869ae2a 100644
--- a/modules/home-manager/YATwm/default.nix
+++ b/modules/home-manager/YATwm/default.nix
@@ -1,117 +1,166 @@
{ inputs, config, ... }:
let
- hm = config.flake.modules.homeManager;
+ hm = config.flake.modules.homeManager;
in
{
- flake.modules.homeManager.YATwm =
- {
- pkgs,
- lib,
- ...
- } : {
- imports = [
- hm.polybar
- hm.rofi
- hm.kitty
- inputs.YATwm.homeManagerModules.default
- ];
- home.packages = with pkgs; [
- i3lock
- xss-lock
- networkmanagerapplet
- flameshot
- picom
- nitrogen
- pamixer
- kitty
- alacritty
- ];
+ flake.modules.homeManager.YATwm =
+ {
+ pkgs,
+ lib,
+ ...
+ }:
+ {
+ imports = [
+ hm.polybar
+ hm.rofi
+ hm.kitty
+ inputs.YATwm.homeManagerModules.default
+ ];
+ home.packages = with pkgs; [
+ i3lock
+ xss-lock
+ networkmanagerapplet
+ flameshot
+ picom
+ nitrogen
+ pamixer
+ kitty
+ alacritty
+ ];
- xsession.windowManager.YATwm = {
- enable = true;
- package = inputs.YATwm.packages.x86_64-linux.YATwm;
- useEmacsBinds = true;
- quitKey = "C-s-g";
- swapMods = false;
- keybinds = let
- left = "h";
- right = "l";
- up = "k";
- down = "j";
- wsBind = key: ws: {
- "s-${key}" = "changeWS ${ws}";
- "s-S-${key}" = "wToWS ${ws}";
- };
- wsBinds = workspaces: lib.attrsets.concatMapAttrs (key: ws: wsBind key ws) workspaces;
- in {
- # Important
- "s-E" = "exit";
- "s-R" = "reload";
+ xsession.windowManager.YATwm = {
+ enable = true;
+ package = inputs.YATwm.packages.x86_64-linux.YATwm;
+ useEmacsBinds = true;
+ quitKey = "C-s-g";
+ swapMods = false;
+ keybinds =
+ let
+ left = "h";
+ right = "l";
+ up = "k";
+ down = "j";
+ wsBind = key: ws: {
+ "s-${key}" = "changeWS ${ws}";
+ "s-S-${key}" = "wToWS ${ws}";
+ };
+ wsBinds = workspaces: lib.attrsets.concatMapAttrs (key: ws: wsBind key ws) workspaces;
+ in
+ {
+ # Important
+ "s-E" = "exit";
+ "s-R" = "reload";
- # Directions
- "s-${left}" = "focChange left";
- "s-${right}" = "focChange right";
- "s-${up}" = "focChange up";
- "s-${down}" = "focChange down";
+ # Directions
+ "s-${left}" = "focChange left";
+ "s-${right}" = "focChange right";
+ "s-${up}" = "focChange up";
+ "s-${down}" = "focChange down";
- # Tiling
- "s-t" = "toggle";
- "s-f" = "fullscreen";
+ # Tiling
+ "s-t" = "toggle";
+ "s-f" = "fullscreen";
- # Application shortcuts
- "s-d" = "bashSpawn rofi -i -show drun -disable-history";
- "s-D" = "bashSpawn prime-run rofi -i -show drun -disable-history";
- "s-g" = "bashSpawn ~/bin/rofi-passmenu";
- "s-RET" = "bashSpawn kitty";
- # "s-r k" = "spawn kitty";
- "s-c" = "spawn firefox";
- "s-S--" = "bashSpawn emacsclient -c";
- "s-S" = "spawn flameshot gui";
- "s-x" = "spawn loginctl lock-session";
- "s-X" = "bashSpawn loginctl lock-session && systemctl suspend";
- "s-Q" = "kill";
+ # Application shortcuts
+ "s-d" = "bashSpawn rofi -i -show drun -disable-history";
+ "s-D" = "bashSpawn prime-run rofi -i -show drun -disable-history";
+ "s-g" = "bashSpawn ~/bin/rofi-passmenu";
+ "s-RET" = "bashSpawn kitty";
+ # "s-r k" = "spawn kitty";
+ "s-c" = "spawn firefox";
+ "s-S--" = "bashSpawn emacsclient -c";
+ "s-S" = "spawn flameshot gui";
+ "s-x" = "spawn loginctl lock-session";
+ "s-X" = "bashSpawn loginctl lock-session && systemctl suspend";
+ "s-Q" = "kill";
- # Sound
- "s-[" = "spawn playerctl -p firefox play-pause";
- "s-]" = "spawn playerctl -p spotify play-pause";
+ # Sound
+ "s-[" = "spawn playerctl -p firefox play-pause";
+ "s-]" = "spawn playerctl -p spotify play-pause";
- # Special workspaces
- "s-p s" = "changeWS 11";
- "s-S-p s" = "wToWS 11";
- } //
- wsBinds {
- "1" = "1";
- "2" = "2";
- "3" = "3";
- "4" = "4";
- "5" = "5";
- "6" = "6";
- "7" = "7";
- "8" = "8";
- "9" = "9";
- "0" = "10";
- };
- workspaces = [
- {name = "1: A";}
- {name = "2: B";}
- {name = "3: C";}
- {name = "4: D";}
- {name = "5: E";}
- {name = "6: F"; monitorPriorities = [2 1];}
- {name = "7: G"; monitorPriorities = [2 1];}
- {name = "8: H"; monitorPriorities = [2 1];}
- {name = "9: I"; monitorPriorities = [2 1];}
- {name = "10: J"; monitorPriorities = [2 1];}
- {name = "S"; monitorPriorities = [1];}
- ];
- startup = [
- {command = "~/.config/polybar/launch.sh"; once = false;}
- {command = "picom --legacy-backends -fD 3"; once = false;}
- {command = "xss-lock --transfer-sleep-lock -- i3lock -eti ~/Documents/lockscreen.png --nofork"; bash = false;}
- {command = "nitrogen --restore";}
- {command = "nm-applet"; once = false; bash = false;}
- ];
- #extraConfig = "bindmode normal\n" + (builtins.readFile ./config);
- };
- };
+ # Special workspaces
+ "s-p s" = "changeWS 11";
+ "s-S-p s" = "wToWS 11";
+ }
+ // wsBinds {
+ "1" = "1";
+ "2" = "2";
+ "3" = "3";
+ "4" = "4";
+ "5" = "5";
+ "6" = "6";
+ "7" = "7";
+ "8" = "8";
+ "9" = "9";
+ "0" = "10";
+ };
+ workspaces = [
+ { name = "1: A"; }
+ { name = "2: B"; }
+ { name = "3: C"; }
+ { name = "4: D"; }
+ { name = "5: E"; }
+ {
+ name = "6: F";
+ monitorPriorities = [
+ 2
+ 1
+ ];
+ }
+ {
+ name = "7: G";
+ monitorPriorities = [
+ 2
+ 1
+ ];
+ }
+ {
+ name = "8: H";
+ monitorPriorities = [
+ 2
+ 1
+ ];
+ }
+ {
+ name = "9: I";
+ monitorPriorities = [
+ 2
+ 1
+ ];
+ }
+ {
+ name = "10: J";
+ monitorPriorities = [
+ 2
+ 1
+ ];
+ }
+ {
+ name = "S";
+ monitorPriorities = [ 1 ];
+ }
+ ];
+ startup = [
+ {
+ command = "~/.config/polybar/launch.sh";
+ once = false;
+ }
+ {
+ command = "picom --legacy-backends -fD 3";
+ once = false;
+ }
+ {
+ command = "xss-lock --transfer-sleep-lock -- i3lock -eti ~/Documents/lockscreen.png --nofork";
+ bash = false;
+ }
+ { command = "nitrogen --restore"; }
+ {
+ command = "nm-applet";
+ once = false;
+ bash = false;
+ }
+ ];
+ #extraConfig = "bindmode normal\n" + (builtins.readFile ./config);
+ };
+ };
}
diff --git a/modules/home-manager/emacs/default.nix b/modules/home-manager/emacs/default.nix
index c63e481..e5bf32b 100644
--- a/modules/home-manager/emacs/default.nix
+++ b/modules/home-manager/emacs/default.nix
@@ -1,39 +1,50 @@
{ ... }:
{
- flake.modules.homeManager.emacs =
- { pkgs, config, ... } :
- let
- tex = (pkgs.texlive.combine {
- inherit (pkgs.texlive) scheme-medium
- dvisvgm dvipng # for preview and export as html
- # svg transparent
- etoolbox
- subfiles
- enumitem
- wrapfig amsmath ulem hyperref capt-of;
- });
- myEmacs = (pkgs.emacsPackagesFor pkgs.emacs30).emacsWithPackages (epkgs: with epkgs; [
- # vterm
- # ghostel
- treesit-grammars.with-all-grammars
- ]);
- in
- {
- services.emacs = {
- enable = true;
- package = myEmacs;
- };
+ flake.modules.homeManager.emacs =
+ { pkgs, config, ... }:
+ let
+ tex = (
+ pkgs.texlive.combine {
+ inherit (pkgs.texlive)
+ scheme-medium
+ dvisvgm
+ dvipng # for preview and export as html
+ # svg transparent
+ etoolbox
+ subfiles
+ enumitem
+ wrapfig
+ amsmath
+ ulem
+ hyperref
+ capt-of
+ ;
+ }
+ );
+ myEmacs = (pkgs.emacsPackagesFor pkgs.emacs30).emacsWithPackages (
+ epkgs: with epkgs; [
+ # vterm
+ # ghostel
+ treesit-grammars.with-all-grammars
+ ]
+ );
+ in
+ {
+ services.emacs = {
+ enable = true;
+ package = myEmacs;
+ };
- home.packages = with pkgs; [
- mu
- emacsPackages.mu4e
- isync
- ispell
- poppler-utils
- tex
- ghostscript
- haskell-language-server
- myEmacs
- ];
- };
+ home.packages = with pkgs; [
+ mu
+ emacsPackages.mu4e
+ isync
+ ispell
+ poppler-utils
+ tex
+ ghostscript
+ haskell-language-server
+ myEmacs
+ ];
+ };
}
diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix
index 3f4eb02..ad0b2c6 100644
--- a/modules/home-manager/home.nix
+++ b/modules/home-manager/home.nix
@@ -1,217 +1,219 @@
{ inputs, config, ... }:
let
- hm = config.flake.modules.homeManager;
+ hm = config.flake.modules.homeManager;
in
{
- flake.modules.homeManager.boss =
- { pkgs, lib, ... }:
- let
- claude-code-latest = pkgs.claude-code.override {
- manifest = lib.importJSON ./claude-code-manifest-2.1.282.json;
- };
- in
- {
+ flake.modules.homeManager.boss =
+ { pkgs, lib, ... }:
+ let
+ claude-code-latest = pkgs.claude-code.override {
+ manifest = lib.importJSON ./claude-code-manifest-2.1.282.json;
+ };
+ in
+ {
- imports = [
- hm.bash
- hm.emacs
- #hm.hyprland
- hm.i3
- # hm.YATwm
- hm.kitty
- inputs.spicetify-nix.homeManagerModules.default
- inputs.nixcord.homeModules.nixcord
- inputs.zen-browser.homeModules.twilight-official
- #inputs.stylix.homeManagerModules.stylix
- ];
+ imports = [
+ hm.bash
+ hm.emacs
+ #hm.hyprland
+ hm.i3
+ # hm.YATwm
+ hm.kitty
+ inputs.spicetify-nix.homeManagerModules.default
+ inputs.nixcord.homeModules.nixcord
+ inputs.zen-browser.homeModules.twilight-official
+ #inputs.stylix.homeManagerModules.stylix
+ ];
- home = {
- stateVersion = "24.05";
- username = "boss";
- homeDirectory = "/home/boss";
- };
+ home = {
+ stateVersion = "24.05";
+ username = "boss";
+ homeDirectory = "/home/boss";
+ };
- # The home.packages option allows you to install Nix packages into your
- # environment.
- # nixpkgs.config.allowUnfree = true;
- home.packages = with pkgs; [
- feh
- pass
- # spotify
- playerctl
- libqalculate
- libreoffice
- hunspell
- hunspellDicts.en_AU
- logisim-evolution
- thunderbird
- xdotool
- discord
- # (discord.override {
- # withOpenASAR = true;
- # withVencord = true;
- # })
- # vesktop
- mumble
- gimp
- bottom
- xfce.thunar
- mpv
- man-pages
- man-pages-posix
- # (inputs.plover-flake.packages.${system}.plover.with-plugins (ps: with ps;[
- # plover-dict-commands
- # plover-console-ui
- # plover-controller
- # ]))
- pavucontrol
- unzip zip
- appimage-run
- # lunar-client
- libnotify
- xclip
- (python3.withPackages (ps: with ps; [
- python-lsp-server
- numpy
- matplotlib
- jupyter
- jupytext
- pandas
- pydot
- scikit-learn
- nbdev
- pillow
- ]))
- graphviz
- alacritty
- # nyxt
- wireguard-tools
- brightnessctl
- # inputs.nil.packages.${system}.default
- nil
- #inputs.polymc.packages.${system}.default
- jre8
- #inputs.zen-browser.packages."${system}".default
- piper
- qbittorrent
- # sbcl
- superTuxKart
- typst
- sops
- ffmpeg
- ghc
- # hytale-launcher
- # inputs.hytale-launcher.packages.${pkgs.system}.default
- #adom
- flatpak
- deadlock-mod-manager
- nh
- claude-code-latest
- inputs.claude-desktop.packages.${system}.claude-desktop
- # openttd
- ];
+ # The home.packages option allows you to install Nix packages into your
+ # environment.
+ # nixpkgs.config.allowUnfree = true;
+ home.packages = with pkgs; [
+ feh
+ pass
+ # spotify
+ playerctl
+ libqalculate
+ libreoffice
+ hunspell
+ hunspellDicts.en_AU
+ logisim-evolution
+ thunderbird
+ xdotool
+ discord
+ # (discord.override {
+ # withOpenASAR = true;
+ # withVencord = true;
+ # })
+ # vesktop
+ mumble
+ gimp
+ bottom
+ xfce.thunar
+ mpv
+ man-pages
+ man-pages-posix
+ # (inputs.plover-flake.packages.${system}.plover.with-plugins (ps: with ps;[
+ # plover-dict-commands
+ # plover-console-ui
+ # plover-controller
+ # ]))
+ pavucontrol
+ unzip
+ zip
+ appimage-run
+ # lunar-client
+ libnotify
+ xclip
+ (python3.withPackages (
+ ps: with ps; [
+ python-lsp-server
+ numpy
+ matplotlib
+ jupyter
+ jupytext
+ pandas
+ pydot
+ scikit-learn
+ nbdev
+ pillow
+ ]
+ ))
+ graphviz
+ alacritty
+ # nyxt
+ wireguard-tools
+ brightnessctl
+ # inputs.nil.packages.${system}.default
+ nil
+ #inputs.polymc.packages.${system}.default
+ jre8
+ #inputs.zen-browser.packages."${system}".default
+ piper
+ qbittorrent
+ # sbcl
+ superTuxKart
+ typst
+ sops
+ ffmpeg
+ ghc
+ # hytale-launcher
+ # inputs.hytale-launcher.packages.${pkgs.system}.default
+ #adom
+ flatpak
+ deadlock-mod-manager
+ nh
+ claude-code-latest
+ inputs.claude-desktop.packages.${system}.claude-desktop
+ # openttd
+ ];
- nix = {
- #package = pkgs.nix;
- settings.experimental-features = [ "nix-command" "flakes" ];
- };
+ nix = {
+ #package = pkgs.nix;
+ settings.experimental-features = [
+ "nix-command"
+ "flakes"
+ ];
+ };
- home.sessionVariables = {
- EDITOR = "emacsclient -c";
- MAKEFLAGS = " -j16 ";
- MOZ_ENABLE_WAYLAND = 1;
- };
+ home.sessionVariables = {
+ EDITOR = "emacsclient -c";
+ MAKEFLAGS = " -j16 ";
+ MOZ_ENABLE_WAYLAND = 1;
+ };
+ programs.home-manager.enable = true;
- programs.home-manager.enable = true;
+ programs.direnv = {
+ enable = true;
+ enableBashIntegration = true;
+ nix-direnv.enable = true;
+ };
- programs.direnv = {
- enable = true;
- enableBashIntegration = true;
- nix-direnv.enable = true;
- };
+ services.gpg-agent.enable = true;
+ services.gpg-agent.pinentry.package = pkgs.pinentry-gtk2;
- services.gpg-agent.enable = true;
- services.gpg-agent.pinentry.package = pkgs.pinentry-gtk2;
+ services.dunst = {
+ enable = true;
+ settings = {
+ global = {
+ follow = "keyboard";
+ frame_width = 0;
+ };
+ };
+ };
- services.dunst = {
- enable = true;
- settings = {
- global = {
- follow = "keyboard";
- frame_width = 0;
- };
- };
- };
+ programs.obs-studio = {
+ enable = true;
- programs.obs-studio = {
- enable = true;
+ # optional Nvidia hardware acceleration
+ # package = (
+ # pkgs.obs-studio.override {
+ # cudaSupport = true;
+ # }
+ # );
- # optional Nvidia hardware acceleration
- # package = (
- # pkgs.obs-studio.override {
- # cudaSupport = true;
- # }
- # );
+ plugins = with pkgs.obs-studio-plugins; [
+ obs-pipewire-audio-capture
+ input-overlay
+ ];
+ };
- plugins = with pkgs.obs-studio-plugins; [
- obs-pipewire-audio-capture
- input-overlay
- ];
- };
+ # services.easyeffects.enable = true;
- # services.easyeffects.enable = true;
+ services.pass-secret-service.enable = true;
+ # Start with the X session rather than at boot, so it inherits DISPLAY/XAUTHORITY
+ # and gpg can show the GTK pinentry. Otherwise apps get logged out.
+ systemd.user.services.pass-secret-service = {
+ Unit.After = [ "graphical-session.target" ];
+ Unit.PartOf = lib.mkForce [ "graphical-session.target" ];
+ Install.WantedBy = lib.mkForce [ "graphical-session.target" ];
+ };
- services.pass-secret-service.enable = true;
- # Start with the X session rather than at boot, so it inherits DISPLAY/XAUTHORITY
- # and gpg can show the GTK pinentry. Otherwise apps get logged out.
- systemd.user.services.pass-secret-service = {
- Unit.After = [ "graphical-session.target" ];
- Unit.PartOf = lib.mkForce [ "graphical-session.target" ];
- Install.WantedBy = lib.mkForce [ "graphical-session.target" ];
- };
+ programs.firefox = {
+ enable = true;
+ };
+ programs.zen-browser = {
+ enable = true;
+ setAsDefaultBrowser = true;
+ };
+ # programs.nixcord = {
+ # enable = true;
+ # };
- programs.firefox = {
- enable = true;
- };
- programs.zen-browser = {
- enable = true;
- setAsDefaultBrowser = true;
- };
+ stylix.targets.spicetify.enable = true;
+ stylix.targets.firefox.profileNames = [ "default" ];
+ stylix.targets.zen-browser.profileNames = [ "default" ];
+ # stylix.targets.nixcord.enable = true;
- # programs.nixcord = {
- # enable = true;
- # };
+ programs.spicetify =
+ let
+ spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
+ in
+ {
+ enable = true;
+ spotifyLaunchFlags = "--disable-gpu --disable-software-rasterizer";
+ enabledExtensions = with spicePkgs.extensions; [
+ fullAppDisplay
+ powerBar
+ # addToQueueTop
+ loopyLoop
+ ];
+ enabledCustomApps = with spicePkgs.apps; [
+ newReleases
+ lyricsPlus
+ betterLibrary
+ ];
+ # theme = spicePkgs.themes.nightlight;
+ };
-
- stylix.targets.spicetify.enable = true;
- stylix.targets.firefox.profileNames = [ "default"];
- stylix.targets.zen-browser.profileNames = [ "default" ];
- # stylix.targets.nixcord.enable = true;
-
- programs.spicetify =
- let
- spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
- in
- {
- enable = true;
- spotifyLaunchFlags = "--disable-gpu --disable-software-rasterizer";
- enabledExtensions = with spicePkgs.extensions; [
- fullAppDisplay
- powerBar
- # addToQueueTop
- loopyLoop
- ];
- enabledCustomApps = with spicePkgs.apps; [
- newReleases
- lyricsPlus
- betterLibrary
- ];
- # theme = spicePkgs.themes.nightlight;
- };
-
-
- xsession.windowManager.command = lib.mkForce "$@";
- };
+ xsession.windowManager.command = lib.mkForce "$@";
+ };
}
diff --git a/modules/home-manager/hyprland/default.nix b/modules/home-manager/hyprland/default.nix
index e5f041e..6f77ee9 100644
--- a/modules/home-manager/hyprland/default.nix
+++ b/modules/home-manager/hyprland/default.nix
@@ -1,157 +1,176 @@
{ inputs, config, ... }:
let
- hm = config.flake.modules.homeManager;
+ hm = config.flake.modules.homeManager;
in
{
- flake.modules.homeManager.hyprland =
- {
- pkgs,
- lib,
- ...
- }:
- {
- imports = [
- hm.rofi
- hm.kitty
- hm.waybar
- hm.hyprpaper
- ];
+ flake.modules.homeManager.hyprland =
+ {
+ pkgs,
+ lib,
+ ...
+ }:
+ {
+ imports = [
+ hm.rofi
+ hm.kitty
+ hm.waybar
+ hm.hyprpaper
+ ];
- home.file.".config/hypr/hyprlock.conf".source = ./hyprlock.conf;
+ home.file.".config/hypr/hyprlock.conf".source = ./hyprlock.conf;
- wayland.windowManager.hyprland= {
- enable = true;
- xwayland.enable = true;
- systemd.variables = ["--all"];
- #package = inputs.hyprland.packages.${pkgs.system}.hyprland;
- #portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
- settings = {
- "$mod" = "SUPER";
- exec-once = [
- "waybar"
- "xss-lock --transfer-sleep-lock -- hyprlock"
- "nm-applet"
- "hyprpaper"
- ];
- bind =
- [
- "$mod, C, exec, firefox"
- ", Print, exec, grimblast copy area"
- "$mod, D, exec, rofi -i -show drun -disable-history"
- "$mod Shift, E, exit"
- "$mod, Return, exec, kitty"
- "$mod, T, togglesplit"
- "$mod Control, left, workspace, m-1"
- "$mod Control, h, workspace, m-1"
- "$mod Control, right, workspace, m+1"
- "$mod Control, l, workspace, m+1"
- "$mod, x, exec, hyprlock"
- "$mod Shift, x, exec, hyprlock"
- "$mod Shift, x, exec, systemctl suspend"
- "$mod Shift, MINUS, exec, emacsclient -c"
- "ALT, Tab, focusmonitor, +1"
- "$mod, G, exec, bash /home/boss/bin/rofi-passmenu"
- ", XF86AudioRaiseVolume, exec, pamixer -i 5"
- ", XF86AudioLowerVolume, exec, pamixer -d 5"
- "$mod Shift, Q, killactive"
- "$mod, F, fullscreen"
- "$mod Shift, space, togglefloating"
- "$mod, mouse:272, movewindow"
- ", XF86AudioPlay, exec, playerctl play-pause"
- "$mod, bracketleft, exec, playerctl -p firefox play-pause"
- "$mod, bracketright, exec, playerctl -p spotify play-pause"
- "$mod Shift, S, exec spectacle -r"
- ]
- ++ (
- # workspaces
- # binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
- builtins.concatLists (builtins.genList (
- x: let
- key = let
- c = (x + 1) / 10;
- in toString (x + 1 - (c * 10));
- in [
- "$mod, ${key}, workspace, ${toString (x + 1)}"
- "$mod SHIFT, ${key}, movetoworkspace, ${toString (x + 1)}"
- (lib.mkIf (x < 5)
- "$mod Control, ${key}, workspace, ${toString (x + 6)}"
- )
- "$mod Control, ${key}, workspace, ${toString (x + 1)}"
- ]
- )
- 10)
- )
- ++ (
- builtins.map (
- x: "$mod, ${ builtins.elemAt x 0}, movefocus, ${builtins.elemAt x 1}\nbind=$mod Shift, ${builtins.elemAt x 0}, movewindow, ${builtins.elemAt x 1}"
- )
- [
- ["h" "l"]
- ["left" "l"]
- ["j" "d"]
- ["down" "d"]
- ["k" "u"]
- ["up" "u"]
- ["l" "r"]
- ["right" "r"]
- ]
- );
- monitor =
- [
- "eDP-1, highrr, 0x0, 1"
- "HDMI-A-1, highrr, 1920x0, 1"
- ];
- workspace =
- (builtins.genList
- (x : "${toString (x + 1)},monitor:eDP-1")
- 5
- )
- ++ (builtins.genList
- (x : "${toString (x + 6)},monitor:HDMI-A-1")
- 5
- );
+ wayland.windowManager.hyprland = {
+ enable = true;
+ xwayland.enable = true;
+ systemd.variables = [ "--all" ];
+ #package = inputs.hyprland.packages.${pkgs.system}.hyprland;
+ #portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
+ settings = {
+ "$mod" = "SUPER";
+ exec-once = [
+ "waybar"
+ "xss-lock --transfer-sleep-lock -- hyprlock"
+ "nm-applet"
+ "hyprpaper"
+ ];
+ bind = [
+ "$mod, C, exec, firefox"
+ ", Print, exec, grimblast copy area"
+ "$mod, D, exec, rofi -i -show drun -disable-history"
+ "$mod Shift, E, exit"
+ "$mod, Return, exec, kitty"
+ "$mod, T, togglesplit"
+ "$mod Control, left, workspace, m-1"
+ "$mod Control, h, workspace, m-1"
+ "$mod Control, right, workspace, m+1"
+ "$mod Control, l, workspace, m+1"
+ "$mod, x, exec, hyprlock"
+ "$mod Shift, x, exec, hyprlock"
+ "$mod Shift, x, exec, systemctl suspend"
+ "$mod Shift, MINUS, exec, emacsclient -c"
+ "ALT, Tab, focusmonitor, +1"
+ "$mod, G, exec, bash /home/boss/bin/rofi-passmenu"
+ ", XF86AudioRaiseVolume, exec, pamixer -i 5"
+ ", XF86AudioLowerVolume, exec, pamixer -d 5"
+ "$mod Shift, Q, killactive"
+ "$mod, F, fullscreen"
+ "$mod Shift, space, togglefloating"
+ "$mod, mouse:272, movewindow"
+ ", XF86AudioPlay, exec, playerctl play-pause"
+ "$mod, bracketleft, exec, playerctl -p firefox play-pause"
+ "$mod, bracketright, exec, playerctl -p spotify play-pause"
+ "$mod Shift, S, exec spectacle -r"
+ ]
+ ++ (
+ # workspaces
+ # binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
+ builtins.concatLists (
+ builtins.genList (
+ x:
+ let
+ key =
+ let
+ c = (x + 1) / 10;
+ in
+ toString (x + 1 - (c * 10));
+ in
+ [
+ "$mod, ${key}, workspace, ${toString (x + 1)}"
+ "$mod SHIFT, ${key}, movetoworkspace, ${toString (x + 1)}"
+ (lib.mkIf (x < 5) "$mod Control, ${key}, workspace, ${toString (x + 6)}")
+ "$mod Control, ${key}, workspace, ${toString (x + 1)}"
+ ]
+ ) 10
+ )
+ )
+ ++ (builtins.map
+ (
+ x:
+ "$mod, ${builtins.elemAt x 0}, movefocus, ${builtins.elemAt x 1}\nbind=$mod Shift, ${builtins.elemAt x 0}, movewindow, ${builtins.elemAt x 1}"
+ )
+ [
+ [
+ "h"
+ "l"
+ ]
+ [
+ "left"
+ "l"
+ ]
+ [
+ "j"
+ "d"
+ ]
+ [
+ "down"
+ "d"
+ ]
+ [
+ "k"
+ "u"
+ ]
+ [
+ "up"
+ "u"
+ ]
+ [
+ "l"
+ "r"
+ ]
+ [
+ "right"
+ "r"
+ ]
+ ]
+ );
+ monitor = [
+ "eDP-1, highrr, 0x0, 1"
+ "HDMI-A-1, highrr, 1920x0, 1"
+ ];
+ workspace =
+ (builtins.genList (x: "${toString (x + 1)},monitor:eDP-1") 5)
+ ++ (builtins.genList (x: "${toString (x + 6)},monitor:HDMI-A-1") 5);
+ input = {
+ touchpad.natural_scroll = true;
+ #touchpad.scroll_factor = 0.5;
+ accel_profile = "flat";
+ follow_mouse = true;
+ kb_options = "caps:super";
+ #sensitivity = 0.00;
+ };
+ decoration = {
+ rounding = 10;
+ drop_shadow = false;
+ };
+ animation = [
+ "workspaces,1,5,easeOutQuint,slide"
+ ];
+ bezier = [
+ "easeInOutCubic,0.65,0,0.35,1"
+ "easeOutQuint,0.22,1,0.36,1"
+ ];
+ general = {
+ #"col.inactive_border" = "rgb(2f2e43)";
+ #"col.active_border" = "rgb(ab47bc)";
+ border_size = 2;
+ gaps_in = 6;
+ gaps_out = 12;
+ };
+ windowrulev2 = [
+ "opacity 0.8 override 0.8 override, title:Spotify$"
+ ];
+ };
+ };
- input = {
- touchpad.natural_scroll = true;
- #touchpad.scroll_factor = 0.5;
- accel_profile = "flat";
- follow_mouse = true;
- kb_options = "caps:super";
- #sensitivity = 0.00;
- };
- decoration = {
- rounding = 10;
- drop_shadow = false;
- };
- animation = [
- "workspaces,1,5,easeOutQuint,slide"
- ];
- bezier = [
- "easeInOutCubic,0.65,0,0.35,1"
- "easeOutQuint,0.22,1,0.36,1"
- ];
- general = {
- #"col.inactive_border" = "rgb(2f2e43)";
- #"col.active_border" = "rgb(ab47bc)";
- border_size = 2;
- gaps_in = 6;
- gaps_out = 12;
- };
- windowrulev2 = [
- "opacity 0.8 override 0.8 override, title:Spotify$"
- ];
- };
- };
-
- home.packages = with pkgs; [
- ydotool
- xss-lock
- pamixer
- grimblast
- playerctl
- libsForQt5.spectacle
- inputs.hyprlock.packages.${system}.hyprlock
- ];
- };
+ home.packages = with pkgs; [
+ ydotool
+ xss-lock
+ pamixer
+ grimblast
+ playerctl
+ libsForQt5.spectacle
+ inputs.hyprlock.packages.${system}.hyprlock
+ ];
+ };
}
diff --git a/modules/home-manager/hyprpaper/default.nix b/modules/home-manager/hyprpaper/default.nix
index 4596331..bc7ca9a 100644
--- a/modules/home-manager/hyprpaper/default.nix
+++ b/modules/home-manager/hyprpaper/default.nix
@@ -1,14 +1,14 @@
{ ... }:
{
- flake.modules.homeManager.hyprpaper =
- {
- pkgs,
- ...
- }:
- {
- #home.file.".config/hypr/hyprpaper.conf".source = ./hyprpaper.conf;
- home.packages = with pkgs; [
- hyprpaper
- ];
- };
+ flake.modules.homeManager.hyprpaper =
+ {
+ pkgs,
+ ...
+ }:
+ {
+ #home.file.".config/hypr/hyprpaper.conf".source = ./hyprpaper.conf;
+ home.packages = with pkgs; [
+ hyprpaper
+ ];
+ };
}
diff --git a/modules/home-manager/i3/default.nix b/modules/home-manager/i3/default.nix
index 982aea1..757c7a9 100644
--- a/modules/home-manager/i3/default.nix
+++ b/modules/home-manager/i3/default.nix
@@ -1,49 +1,49 @@
{ inputs, config, ... }:
let
- hm = config.flake.modules.homeManager;
+ hm = config.flake.modules.homeManager;
in
{
- flake.modules.homeManager.i3 =
- # let
- # nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-24.11";
- # pkgs = import nixpkgs { config = {}; overlays = []; };
- # in
- # {
- # i3-commands = pkgs.callPackage ./i3-commands.nix { };
- # }
+ flake.modules.homeManager.i3 =
+ # let
+ # nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-24.11";
+ # pkgs = import nixpkgs { config = {}; overlays = []; };
+ # in
+ # {
+ # i3-commands = pkgs.callPackage ./i3-commands.nix { };
+ # }
-
- {
- config,
- pkgs,
- ...
- } : {
- imports = [
- hm.polybar
- hm.rofi
- hm.kitty
- hm.picom
- ];
- xsession.enable = true;
- xsession.windowManager.i3 = {
- enable = true;
- package = pkgs.i3;
- };
- xdg.configFile."i3/config".enable = false;
- home.file.".config/i3/config" = {
- source = ./config;
- onChange = "${pkgs.i3}/bin/i3-msg restart";
- };
- home.packages = with pkgs; [
- i3lock
- xss-lock
- networkmanagerapplet
- flameshot
- picom
- nitrogen
- pamixer
- inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.i3-commands
- inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.rofi-passmenu
- ];
- };
+ {
+ config,
+ pkgs,
+ ...
+ }:
+ {
+ imports = [
+ hm.polybar
+ hm.rofi
+ hm.kitty
+ hm.picom
+ ];
+ xsession.enable = true;
+ xsession.windowManager.i3 = {
+ enable = true;
+ package = pkgs.i3;
+ };
+ xdg.configFile."i3/config".enable = false;
+ home.file.".config/i3/config" = {
+ source = ./config;
+ onChange = "${pkgs.i3}/bin/i3-msg restart";
+ };
+ home.packages = with pkgs; [
+ i3lock
+ xss-lock
+ networkmanagerapplet
+ flameshot
+ picom
+ nitrogen
+ pamixer
+ inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.i3-commands
+ inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.rofi-passmenu
+ ];
+ };
}
diff --git a/modules/home-manager/i3/i3-commands.nix b/modules/home-manager/i3/i3-commands.nix
index d3df9a4..fdfafb3 100644
--- a/modules/home-manager/i3/i3-commands.nix
+++ b/modules/home-manager/i3/i3-commands.nix
@@ -1,28 +1,28 @@
{
- perSystem =
- { pkgs, ... }:
- {
- packages.i3-commands = pkgs.callPackage (
- {
- stdenv,
- lib
- }:
- stdenv.mkDerivation {
- pname = "i3-commands";
- version = "0.0.1";
+ perSystem =
+ { pkgs, ... }:
+ {
+ packages.i3-commands = pkgs.callPackage (
+ {
+ stdenv,
+ lib,
+ }:
+ stdenv.mkDerivation {
+ pname = "i3-commands";
+ version = "0.0.1";
- srcs = lib.cleanSourceWith {
- src = ./scripts;
- filter = path: type: baseNameOf path != "rofi-passmenu";
- };
+ srcs = lib.cleanSourceWith {
+ src = ./scripts;
+ filter = path: type: baseNameOf path != "rofi-passmenu";
+ };
- installPhase = ''
- runHook preInstall
- mkdir -p $out/bin
- install -D -m 755 ./* $out/bin
- runHook postInstall
- '';
- }
- ) { };
- };
+ installPhase = ''
+ runHook preInstall
+ mkdir -p $out/bin
+ install -D -m 755 ./* $out/bin
+ runHook postInstall
+ '';
+ }
+ ) { };
+ };
}
diff --git a/modules/home-manager/i3/rofi-passmenu.nix b/modules/home-manager/i3/rofi-passmenu.nix
index 006fcb3..0cd60d2 100644
--- a/modules/home-manager/i3/rofi-passmenu.nix
+++ b/modules/home-manager/i3/rofi-passmenu.nix
@@ -1,80 +1,80 @@
{
- perSystem =
- { pkgs, ... }:
- {
- packages.rofi-passmenu = pkgs.callPackage (
- {
- pkgs
- }:
+ perSystem =
+ { pkgs, ... }:
+ {
+ packages.rofi-passmenu = pkgs.callPackage (
+ {
+ pkgs,
+ }:
- pkgs.writeShellApplication {
- name = "rofi-passmenu";
+ pkgs.writeShellApplication {
+ name = "rofi-passmenu";
- runtimeInputs = with pkgs; [
- pass
- rofi
- xclip
- xdotool
- gnugrep
- gawk
- coreutils
- libnotify
- ];
+ runtimeInputs = with pkgs; [
+ pass
+ rofi
+ xclip
+ xdotool
+ gnugrep
+ gawk
+ coreutils
+ libnotify
+ ];
- text = ''
- #!/usr/bin/env bash
+ text = ''
+ #!/usr/bin/env bash
- store_dir="''${PASSWORD_STORE_DIR:-$HOME/.password-store}"
+ store_dir="''${PASSWORD_STORE_DIR:-$HOME/.password-store}"
- get_passwords() {
- echo "[+] Add New Password"
- if [ -d "$store_dir" ]; then
- find "$store_dir" -name "*.gpg" | sort | while IFS= read -r file; do
- pass="''${file#"$store_dir"/}"
- echo "''${pass%.gpg}"
- done
- fi
- }
+ get_passwords() {
+ echo "[+] Add New Password"
+ if [ -d "$store_dir" ]; then
+ find "$store_dir" -name "*.gpg" | sort | while IFS= read -r file; do
+ pass="''${file#"$store_dir"/}"
+ echo "''${pass%.gpg}"
+ done
+ fi
+ }
- selected=$(get_passwords | rofi -dmenu -i -p "pass")
- [[ -z "$selected" ]] && exit 0
+ selected=$(get_passwords | rofi -dmenu -i -p "pass")
+ [[ -z "$selected" ]] && exit 0
- if [[ "$selected" == "[+] Add New Password" ]]; then
- new_path=$(rofi -dmenu -p "Enter path/name for new password:")
- [[ -z "$new_path" ]] && exit 0
-
- choice=$(echo -e "Generate\nManual" | rofi -dmenu -p "Password method:")
- if [[ "$choice" == "Generate" ]]; then
- pass generate "$new_path" 20
- notify-send "Pass" "Generated password for $new_path"
- elif [[ "$choice" == "Manual" ]]; then
- new_pass=$(rofi -dmenu -p "Enter password:" -password)
- [[ -n "$new_pass" ]] && echo "$new_pass" | pass insert -m "$new_path"
- fi
- exit 0
- fi
+ if [[ "$selected" == "[+] Add New Password" ]]; then
+ new_path=$(rofi -dmenu -p "Enter path/name for new password:")
+ [[ -z "$new_path" ]] && exit 0
+
+ choice=$(echo -e "Generate\nManual" | rofi -dmenu -p "Password method:")
+ if [[ "$choice" == "Generate" ]]; then
+ pass generate "$new_path" 20
+ notify-send "Pass" "Generated password for $new_path"
+ elif [[ "$choice" == "Manual" ]]; then
+ new_pass=$(rofi -dmenu -p "Enter password:" -password)
+ [[ -n "$new_pass" ]] && echo "$new_pass" | pass insert -m "$new_path"
+ fi
+ exit 0
+ fi
- action=$(echo -e "1. Type Password\n2. Type Username\n3. Copy Password\n4. Copy Username\n5. Show Password" | rofi -dmenu -i -p "$selected")
+ action=$(echo -e "1. Type Password\n2. Type Username\n3. Copy Password\n4. Copy Username\n5. Show Password" | rofi -dmenu -i -p "$selected")
- case "$action" in
- "1. Type Password")
- pass show "$selected" | head -n 1 | tr -d '\n' | xdotool type --clearmodifiers -fi -
- ;;
- "2. Type Username")
- pass show "$selected" | grep -i "^username:" | sed 's/^[^:]*:[[:space:]]*//' | tr -d '\n' | xdotool type --clearmodifiers -fi -
- ;;
- "3. Copy Password")
- pass show -c "$selected"
- ;;
- "4. Copy Username")
- pass show "$selected" | grep -i "^username:" | sed 's/^[^:]*:[[:space:]]*//' | xclip -selection clipboard
- ;;
- "5. Show Password")
- pass show "$selected" | head -n 1 | rofi -dmenu -p "Password for $selected"
- ;;
- esac
- '';
- }
- ) { };
- };
+ case "$action" in
+ "1. Type Password")
+ pass show "$selected" | head -n 1 | tr -d '\n' | xdotool type --clearmodifiers -fi -
+ ;;
+ "2. Type Username")
+ pass show "$selected" | grep -i "^username:" | sed 's/^[^:]*:[[:space:]]*//' | tr -d '\n' | xdotool type --clearmodifiers -fi -
+ ;;
+ "3. Copy Password")
+ pass show -c "$selected"
+ ;;
+ "4. Copy Username")
+ pass show "$selected" | grep -i "^username:" | sed 's/^[^:]*:[[:space:]]*//' | xclip -selection clipboard
+ ;;
+ "5. Show Password")
+ pass show "$selected" | head -n 1 | rofi -dmenu -p "Password for $selected"
+ ;;
+ esac
+ '';
+ }
+ ) { };
+ };
}
diff --git a/modules/home-manager/kitty/default.nix b/modules/home-manager/kitty/default.nix
index 8b1721f..d74217e 100644
--- a/modules/home-manager/kitty/default.nix
+++ b/modules/home-manager/kitty/default.nix
@@ -1,28 +1,28 @@
{ ... }:
{
- flake.modules.homeManager.kitty =
- {
- pkgs,
- config,
- ...
- }:
- {
- programs.kitty = {
- enable = true;
- keybindings = {
- "control+shift+c" = "copy_to_clipboard";
- "control+shift+v" = "paste_from_clipboard";
- };
- settings = {
- #font_family = "Cousine Nerd Font";
- #font_size = "10.0";
- #background_opacity = "0.8";
- term = "xterm-256color";
- enable_audio_bell = "no";
- mouse_hide_wait = 2;
- window_padding_width = 4;
- };
- #extraConfig = (builtins.readFile ./palenight.conf);
- };
- };
+ flake.modules.homeManager.kitty =
+ {
+ pkgs,
+ config,
+ ...
+ }:
+ {
+ programs.kitty = {
+ enable = true;
+ keybindings = {
+ "control+shift+c" = "copy_to_clipboard";
+ "control+shift+v" = "paste_from_clipboard";
+ };
+ settings = {
+ #font_family = "Cousine Nerd Font";
+ #font_size = "10.0";
+ #background_opacity = "0.8";
+ term = "xterm-256color";
+ enable_audio_bell = "no";
+ mouse_hide_wait = 2;
+ window_padding_width = 4;
+ };
+ #extraConfig = (builtins.readFile ./palenight.conf);
+ };
+ };
}
diff --git a/modules/home-manager/picom/default.nix b/modules/home-manager/picom/default.nix
index 3fb1cf7..5cabe2d 100644
--- a/modules/home-manager/picom/default.nix
+++ b/modules/home-manager/picom/default.nix
@@ -1,22 +1,22 @@
{ ... }:
{
- flake.modules.homeManager.picom =
- {
- pkgs,
- config,
- ...
- }:
- {
- services.picom = {
- enable = true;
- fade = true;
- fadeDelta = 3;
- fadeExclude = [
- "window_type *= 'tooltip'"
- ];
- settings = {
- corner-radius = 10;
- };
- };
- };
+ flake.modules.homeManager.picom =
+ {
+ pkgs,
+ config,
+ ...
+ }:
+ {
+ services.picom = {
+ enable = true;
+ fade = true;
+ fadeDelta = 3;
+ fadeExclude = [
+ "window_type *= 'tooltip'"
+ ];
+ settings = {
+ corner-radius = 10;
+ };
+ };
+ };
}
diff --git a/modules/home-manager/polybar/default.nix b/modules/home-manager/polybar/default.nix
index 101e8a8..4ed3e54 100644
--- a/modules/home-manager/polybar/default.nix
+++ b/modules/home-manager/polybar/default.nix
@@ -1,24 +1,25 @@
{ ... }:
{
- flake.modules.homeManager.polybar =
- {
- config,
- pkgs,
- ...
- } : {
- home.file.".config/polybar/launch.sh" = {
- source = ./launch.sh;
- executable = true;
- };
- home.file.".config/polybar/config.ini" = {
- source = ./config.ini;
- # onChange = ''
- #${pkgs.procps}/bin/pkill polybar
- #PATH=$PATH:${pkgs.polybarFull}/bin:${pkgs.lxrandr}/bin ~/.config/polybar/launch.sh
- #'';
- };
- home.packages = with pkgs; [
- polybarFull
- ];
- };
+ flake.modules.homeManager.polybar =
+ {
+ config,
+ pkgs,
+ ...
+ }:
+ {
+ home.file.".config/polybar/launch.sh" = {
+ source = ./launch.sh;
+ executable = true;
+ };
+ home.file.".config/polybar/config.ini" = {
+ source = ./config.ini;
+ # onChange = ''
+ #${pkgs.procps}/bin/pkill polybar
+ #PATH=$PATH:${pkgs.polybarFull}/bin:${pkgs.lxrandr}/bin ~/.config/polybar/launch.sh
+ #'';
+ };
+ home.packages = with pkgs; [
+ polybarFull
+ ];
+ };
}
diff --git a/modules/home-manager/rofi/default.nix b/modules/home-manager/rofi/default.nix
index 76cc56e..42e9857 100644
--- a/modules/home-manager/rofi/default.nix
+++ b/modules/home-manager/rofi/default.nix
@@ -1,17 +1,18 @@
{ ... }:
{
- flake.modules.homeManager.rofi =
- {
- pkgs,
- config,
- ...
- }: {
- home.file.".config/rofi" = {
- source = ./config;
- recursive = true;
- };
- home.packages = [
- pkgs.rofi
- ];
- };
+ flake.modules.homeManager.rofi =
+ {
+ pkgs,
+ config,
+ ...
+ }:
+ {
+ home.file.".config/rofi" = {
+ source = ./config;
+ recursive = true;
+ };
+ home.packages = [
+ pkgs.rofi
+ ];
+ };
}
diff --git a/modules/home-manager/shells/bash.nix b/modules/home-manager/shells/bash.nix
index a396594..81eeae3 100644
--- a/modules/home-manager/shells/bash.nix
+++ b/modules/home-manager/shells/bash.nix
@@ -1,87 +1,87 @@
{ ... }:
{
- flake.modules.homeManager.bash =
- { pkgs, ... } :
- {
- programs.bash = {
- enable = true;
- enableCompletion = true;
- initExtra = ''
-tabs 4
-clear
-PF_INFO="ascii title os kernel uptime memory shell wm" pfetch
+ flake.modules.homeManager.bash =
+ { pkgs, ... }:
+ {
+ programs.bash = {
+ enable = true;
+ enableCompletion = true;
+ initExtra = ''
+ tabs 4
+ clear
+ PF_INFO="ascii title os kernel uptime memory shell wm" pfetch
-# Fancy prompt
-export PROMPT_COMMAND=__prompt_command
-__prompt_command() {
- local exit="$?"
- PS1=""
- local reset='\[\e[0m\]'
- local white='\[\e[97m\]'
- local blue='\[\e[38;5;25m\]'
- local bgblue='\[\e[48;5;25m\]'
- local green='\[\e[38;5;34m\]'
- local bggreen='\[\e[48;5;34m\]'
- local gray='\[\e[38;5;238m\]'
- local bggray='\[\e[48;5;238m\]'
- local red='\[\e[38;5;124m\]'
- local bgred='\[\e[48;5;124m\]'
+ # Fancy prompt
+ export PROMPT_COMMAND=__prompt_command
+ __prompt_command() {
+ local exit="$?"
+ PS1=""
+ local reset='\[\e[0m\]'
+ local white='\[\e[97m\]'
+ local blue='\[\e[38;5;25m\]'
+ local bgblue='\[\e[48;5;25m\]'
+ local green='\[\e[38;5;34m\]'
+ local bggreen='\[\e[48;5;34m\]'
+ local gray='\[\e[38;5;238m\]'
+ local bggray='\[\e[48;5;238m\]'
+ local red='\[\e[38;5;124m\]'
+ local bgred='\[\e[48;5;124m\]'
- # Add user
- PS1+="$white$bgblue \u$blue"
- # Add SHLVL (shell depth)
- if [ $SHLVL -gt 2 ]; then
- PS1+="$bggreen$white $(($SHLVL - 2))$reset$green"
- fi
- # Add dir
- PS1+="$bggray$white \w$reset$gray"
-
- if [ $exit != 0 ]; then
- # Change end color
- #PS1+="$bgred$white \w$reset$red"
- # Add exit code
- PS1+="$bgred$white $exit$reset$red"
- else
- # Change end color
- #PS1+="$bggray$white \w$reset$gray"
- # Add end cap
- PS1+=""
- fi
- PS1+="$reset "
-}
-# Powerline prompt
-#export PS1='\[\e[48;5;25;38;5;189m\] \u \[\e[48;5;238;38;5;25m\] \[\e[48;5;238;38;5;189m\]\w \[\e[0m\]\[\e[38;5;238m\]\[\e[0m\] '
+ # Add user
+ PS1+="$white$bgblue \u$blue"
+ # Add SHLVL (shell depth)
+ if [ $SHLVL -gt 2 ]; then
+ PS1+="$bggreen$white $(($SHLVL - 2))$reset$green"
+ fi
+ # Add dir
+ PS1+="$bggray$white \w$reset$gray"
+
+ if [ $exit != 0 ]; then
+ # Change end color
+ #PS1+="$bgred$white \w$reset$red"
+ # Add exit code
+ PS1+="$bgred$white $exit$reset$red"
+ else
+ # Change end color
+ #PS1+="$bggray$white \w$reset$gray"
+ # Add end cap
+ PS1+=""
+ fi
+ PS1+="$reset "
+ }
+ # Powerline prompt
+ #export PS1='\[\e[48;5;25;38;5;189m\] \u \[\e[48;5;238;38;5;25m\] \[\e[48;5;238;38;5;189m\]\w \[\e[0m\]\[\e[38;5;238m\]\[\e[0m\] '
-# Multiline prompt
-#export PS1="\[\e[32m\]╭──\[\e[31m\](\[\e[34m\]\u\[\e[33m\]@\[\e[34m\]\h\[\e[31m\])\[\e[32m\]-\[\e[31m\](\[\e[34m\]\w\[\e[31m\])\[\e[32m\]-\[\e[31m\](\[\e[34m\]\d\[\e[31m\])
-#\[\e[32m\]╰\[\e[0m\] "
-'';
- shellAliases = {
- cm = "cmatrix -absu 2";
- pipes = "pipes.sh -KR -p 3 -t3 -c 1 -c 2 -c 3 -c 4 -c 5 -c 6";
- cl = "clear";
- ls = "lsd";
- la = "lsd -a";
- ll = "lsd -al";
- tree = "lsd --tree";
- pathfindsaver = "while sleep 1; do pathfind -f; done";
- qalc = "qalc -s 'varunits 0' -s 'angle 2'";
+ # Multiline prompt
+ #export PS1="\[\e[32m\]╭──\[\e[31m\](\[\e[34m\]\u\[\e[33m\]@\[\e[34m\]\h\[\e[31m\])\[\e[32m\]-\[\e[31m\](\[\e[34m\]\w\[\e[31m\])\[\e[32m\]-\[\e[31m\](\[\e[34m\]\d\[\e[31m\])
+ #\[\e[32m\]╰\[\e[0m\] "
+ '';
+ shellAliases = {
+ cm = "cmatrix -absu 2";
+ pipes = "pipes.sh -KR -p 3 -t3 -c 1 -c 2 -c 3 -c 4 -c 5 -c 6";
+ cl = "clear";
+ ls = "lsd";
+ la = "lsd -a";
+ ll = "lsd -al";
+ tree = "lsd --tree";
+ pathfindsaver = "while sleep 1; do pathfind -f; done";
+ qalc = "qalc -s 'varunits 0' -s 'angle 2'";
- flake-rebuild = "nixos-rebuild switch --flake ~/nixos-configuration";
- };
- };
+ flake-rebuild = "nixos-rebuild switch --flake ~/nixos-configuration";
+ };
+ };
- programs.zoxide = {
- enable = true;
- enableBashIntegration = true;
- options = [ "--cmd cd" ];
- };
+ programs.zoxide = {
+ enable = true;
+ enableBashIntegration = true;
+ options = [ "--cmd cd" ];
+ };
- home.packages = with pkgs; [
- zoxide
- pfetch
- lsd
- libqalculate
- ];
- };
+ home.packages = with pkgs; [
+ zoxide
+ pfetch
+ lsd
+ libqalculate
+ ];
+ };
}
diff --git a/modules/home-manager/waybar/default.nix b/modules/home-manager/waybar/default.nix
index fb084d7..684a020 100644
--- a/modules/home-manager/waybar/default.nix
+++ b/modules/home-manager/waybar/default.nix
@@ -1,20 +1,21 @@
{ ... }:
{
- flake.modules.homeManager.waybar =
- {
- config,
- pkgs,
- ...
- } : {
- home.file.".config/waybar/" = {
- source = ./config;
- onChange = "${pkgs.procps}/bin/pkill waybar && ${pkgs.hyprland}/bin/hyprctl dispatch exec waybar || ${pkgs.hyprland}/bin/hyprctl dispatch exec waybar";
- recursive = true;
- };
- home.packages = with pkgs; [
- waybar
- pamixer
- wtype
- ];
- };
+ flake.modules.homeManager.waybar =
+ {
+ config,
+ pkgs,
+ ...
+ }:
+ {
+ home.file.".config/waybar/" = {
+ source = ./config;
+ onChange = "${pkgs.procps}/bin/pkill waybar && ${pkgs.hyprland}/bin/hyprctl dispatch exec waybar || ${pkgs.hyprland}/bin/hyprctl dispatch exec waybar";
+ recursive = true;
+ };
+ home.packages = with pkgs; [
+ waybar
+ pamixer
+ wtype
+ ];
+ };
}