aboutsummaryrefslogtreecommitdiff
path: root/modules/terminal
diff options
context:
space:
mode:
Diffstat (limited to 'modules/terminal')
-rw-r--r--modules/terminal/hjem/default.nix (renamed from modules/terminal/system/default.nix)11
-rw-r--r--modules/terminal/hjem/programs/bash.nix29
-rw-r--r--modules/terminal/hjem/programs/bat.nix25
-rw-r--r--modules/terminal/hjem/programs/broot.nix (renamed from modules/terminal/system/programs/broot.nix)21
-rw-r--r--modules/terminal/hjem/programs/cmus.nix (renamed from modules/terminal/system/programs/cmus.nix)24
-rw-r--r--modules/terminal/hjem/programs/eza.nix25
-rw-r--r--modules/terminal/hjem/programs/fish.nix35
-rw-r--r--modules/terminal/hjem/programs/fzf.nix25
-rw-r--r--modules/terminal/hjem/programs/git.nix (renamed from modules/terminal/system/programs/git.nix)14
-rw-r--r--modules/terminal/hjem/programs/helix.nix (renamed from modules/terminal/system/programs/helix.nix)40
-rw-r--r--modules/terminal/hjem/programs/lazygit.nix (renamed from modules/terminal/system/programs/lazygit.nix)14
-rw-r--r--modules/terminal/hjem/programs/starship.nix (renamed from modules/terminal/system/programs/starship.nix)19
-rw-r--r--modules/terminal/hjem/programs/tmux.nix (renamed from modules/terminal/system/programs/tmux.nix)86
-rw-r--r--modules/terminal/nixos/default.nix10
-rw-r--r--modules/terminal/options.nix6
-rw-r--r--modules/terminal/system/programs/bat.nix18
-rw-r--r--modules/terminal/system/programs/eza.nix18
-rw-r--r--modules/terminal/system/programs/fish.nix39
-rw-r--r--modules/terminal/system/programs/fzf.nix18
19 files changed, 259 insertions, 218 deletions
diff --git a/modules/terminal/system/default.nix b/modules/terminal/hjem/default.nix
index 120e967..7915319 100644
--- a/modules/terminal/system/default.nix
+++ b/modules/terminal/hjem/default.nix
@@ -1,6 +1,4 @@
-{config, ...}: let
- cfg = config.collinux.terminal.shells;
-in {
+{
imports = [
./programs/fzf.nix
./programs/bat.nix
@@ -14,11 +12,4 @@ in {
./programs/helix.nix
./programs/fish.nix
];
-
- programs.command-not-found.enable = false; # broken without nix-channels
-
- users.users."${config.collinux.user.name}" = {
- shell = cfg.defaultShell;
- ignoreShellProgramCheck = true;
- };
}
diff --git a/modules/terminal/hjem/programs/bash.nix b/modules/terminal/hjem/programs/bash.nix
new file mode 100644
index 0000000..646cbf8
--- /dev/null
+++ b/modules/terminal/hjem/programs/bash.nix
@@ -0,0 +1,29 @@
+{
+ pkgs,
+ config,
+ lib,
+ ...
+}: let
+ cfg = config.collinux.terminal.shells.bash;
+in
+ lib.mkIf cfg.enable {
+ files = {
+ ".bashrc".text = ''
+ eval "$(direnv hook bash)"
+
+ for file in ~/.config/bash/conf.d/*; do source "$file"; done
+ '';
+
+ packages = with pkgs; [
+ fish
+ ripgrep
+ fd
+ moreutils
+ zip
+ unzip
+ btop
+ jq
+ direnv
+ ];
+ };
+ }
diff --git a/modules/terminal/hjem/programs/bat.nix b/modules/terminal/hjem/programs/bat.nix
new file mode 100644
index 0000000..3d605cc
--- /dev/null
+++ b/modules/terminal/hjem/programs/bat.nix
@@ -0,0 +1,25 @@
+{
+ pkgs,
+ config,
+ lib,
+ ...
+}: let
+ cfg = config.collinux.terminal.programs.bat;
+in
+ lib.mkIf cfg.enable {
+ files =
+ (lib.optionalAttrs config.collinux.terminal.shells.fish.enable {
+ ".config/fish/conf.d/bat.fish".text = ''
+ alias cat bat
+ set -gx BAT_THEME "base16"
+ '';
+ })
+ // (lib.optionalAttrs config.collinux.terminal.shells.bash.enable {
+ ".config/fish/conf.d/bat.bash".text = ''
+ alias cat="bat"
+ export BAT_THEME="base16"
+ '';
+ });
+
+ packages = [pkgs.bat];
+ }
diff --git a/modules/terminal/system/programs/broot.nix b/modules/terminal/hjem/programs/broot.nix
index fdb480a..2907a85 100644
--- a/modules/terminal/system/programs/broot.nix
+++ b/modules/terminal/hjem/programs/broot.nix
@@ -115,18 +115,23 @@
};
in
lib.mkIf cfg.enable {
- hjem.users."${config.collinux.user.name}" = {
- files = {
+ files =
+ {
".config/broot/conf.toml" = {
generator = (pkgs.formats.toml {}).generate "conf.toml";
value = conf;
};
-
- ".config/fish/conf.d/broot.fish".text = lib.mkIf config.collinux.terminal.shells.fish.enable ''
- ${pkgs.broot}/bin/broot --print-shell-function fish | source
+ }
+ // (lib.optionalAttrs config.collinux.terminal.shells.fish.enable {
+ ".config/fish/conf.d/broot.fish".text = ''
+ broot --print-shell-function fish | source
+ '';
+ })
+ // (lib.optionalAttrs config.collinux.terminal.shells.bash.enable {
+ ".config/bash/conf.d/broot.bash".text = ''
+ eval "$(broot --print-shell-function bash)"
'';
- };
+ });
- packages = [pkgs.broot];
- };
+ packages = [pkgs.broot];
}
diff --git a/modules/terminal/system/programs/cmus.nix b/modules/terminal/hjem/programs/cmus.nix
index e5184ce..afd2350 100644
--- a/modules/terminal/system/programs/cmus.nix
+++ b/modules/terminal/hjem/programs/cmus.nix
@@ -78,20 +78,18 @@
else "";
in
lib.mkIf cfg.enable {
- hjem.users."${config.collinux.user.name}" = {
- files = let
- e = text: {
- inherit text;
- executable = true;
- };
- in {
- ".config/cmus/scripts/status.sh" = e scripts.statusDisplay;
-
- ".config/cmus/rc".text = cmus_rc;
- ".config/cmus/catppuccin.theme".text = lib.mkIf (cfg.theme == "catppuccin") cmus_theme;
- ".config/cava/config".text = cava_config;
+ files = let
+ e = text: {
+ inherit text;
+ executable = true;
};
+ in {
+ ".config/cmus/scripts/status.sh" = e scripts.statusDisplay;
- packages = with pkgs; [cava cmus];
+ ".config/cmus/rc".text = cmus_rc;
+ ".config/cmus/catppuccin.theme".text = lib.mkIf (cfg.theme == "catppuccin") cmus_theme;
+ ".config/cava/config".text = cava_config;
};
+
+ packages = with pkgs; [cava cmus];
}
diff --git a/modules/terminal/hjem/programs/eza.nix b/modules/terminal/hjem/programs/eza.nix
new file mode 100644
index 0000000..b900ceb
--- /dev/null
+++ b/modules/terminal/hjem/programs/eza.nix
@@ -0,0 +1,25 @@
+{
+ pkgs,
+ lib,
+ config,
+ ...
+}: let
+ cfg = config.collinux.terminal.programs.eza;
+in
+ lib.mkIf cfg.enable {
+ files =
+ (lib.optionalAttrs config.collinux.terminal.shells.fish.enable {
+ ".config/fish/conf.d/eza.fish".text = ''
+ alias ls "eza -A -w 80 --group-directories-first -I '.git*'"
+ alias tree "eza -T"
+ '';
+ })
+ // (lib.optionalAttrs config.collinux.terminal.shells.fish.enable {
+ ".config/bash/conf.d/eza.bash".text = ''
+ alias ls="eza -A -w 80 --group-directories-first -I '.git*'"
+ alias tree="eza -T"
+ '';
+ });
+
+ packages = [pkgs.eza];
+ }
diff --git a/modules/terminal/hjem/programs/fish.nix b/modules/terminal/hjem/programs/fish.nix
new file mode 100644
index 0000000..1aa4a40
--- /dev/null
+++ b/modules/terminal/hjem/programs/fish.nix
@@ -0,0 +1,35 @@
+{
+ pkgs,
+ config,
+ lib,
+ ...
+}: let
+ cfg = config.collinux.terminal.shells.fish;
+in
+ lib.mkIf cfg.enable {
+ files = {
+ ".config/fish/config.fish".text = ''
+ set fish_greeting
+
+ function fish_title
+ echo fish (prompt_pwd)
+ end
+
+ direnv hook fish | source
+ pay-respects fish --alias | source
+ '';
+ };
+
+ packages = with pkgs; [
+ fish
+ ripgrep
+ fd
+ moreutils
+ zip
+ unzip
+ btop
+ jq
+ direnv
+ pay-respects
+ ];
+ }
diff --git a/modules/terminal/hjem/programs/fzf.nix b/modules/terminal/hjem/programs/fzf.nix
new file mode 100644
index 0000000..5a51739
--- /dev/null
+++ b/modules/terminal/hjem/programs/fzf.nix
@@ -0,0 +1,25 @@
+{
+ pkgs,
+ config,
+ lib,
+ ...
+}: let
+ cfg = config.collinux.terminal.programs.fzf;
+in
+ lib.mkIf cfg.enable {
+ files =
+ (lib.optionalAttrs config.collinux.terminal.shells.fish.enable {
+ ".config/fish/conf.d/fzf.fish".text = ''
+ fzf --fish | source
+ set -gx FZF_DEFAULT_OPTS "--color bg:#1E1E2E,bg+:#313244,border:#313244,fg:#CDD6F4,fg+:#CDD6F4,header:#F38BA8,hl:#F38BA8,hl+:#F38BA8,info:#CBA6F7,label:#CDD6F4,marker:#B4BEFE,pointer:#F5E0DC,prompt:#CBA6F7,selected-bg:#45475A,spinner:#F5E0DC"
+ '';
+ })
+ // (lib.optionalAttrs config.collinux.terminal.shells.bash.enable {
+ ".config/bash/conf.d/fzf.bash".text = ''
+ eval "$(fzf --bash)"
+ export FZF_DEFAULT_OPTS="--color bg:#1E1E2E,bg+:#313244,border:#313244,fg:#CDD6F4,fg+:#CDD6F4,header:#F38BA8,hl:#F38BA8,hl+:#F38BA8,info:#CBA6F7,label:#CDD6F4,marker:#B4BEFE,pointer:#F5E0DC,prompt:#CBA6F7,selected-bg:#45475A,spinner:#F5E0DC"
+ '';
+ });
+
+ packages = [pkgs.fzf];
+ }
diff --git a/modules/terminal/system/programs/git.nix b/modules/terminal/hjem/programs/git.nix
index 9943e40..d196f26 100644
--- a/modules/terminal/system/programs/git.nix
+++ b/modules/terminal/hjem/programs/git.nix
@@ -18,14 +18,12 @@
};
};
in {
- hjem.users."${config.collinux.user.name}" = {
- files = {
- ".config/git/config" = {
- generator = lib.generators.toGitINI;
- value = git_config;
- };
+ files = {
+ ".config/git/config" = {
+ generator = lib.generators.toGitINI;
+ value = git_config;
};
-
- packages = [pkgs.git];
};
+
+ packages = [pkgs.git];
}
diff --git a/modules/terminal/system/programs/helix.nix b/modules/terminal/hjem/programs/helix.nix
index 49389ef..e66877b 100644
--- a/modules/terminal/system/programs/helix.nix
+++ b/modules/terminal/hjem/programs/helix.nix
@@ -139,33 +139,27 @@
};
in
lib.mkIf cfg.enable {
- nixpkgs.overlays = [
- (self: super: {
- # rename window to filename when editing file
- helix = self.writeShellScriptBin "hx" ''
- file="$1"
- printf '\033]2;%s\033\\' "hx $file"
- exec ${super.helix}/bin/hx "$@"
- '';
- })
- ];
-
- hjem.users."${config.collinux.user.name}" = {
- files = let
- t = value: {
- generator = (pkgs.formats.toml {}).generate "toml_file";
- inherit value;
- };
- in {
+ files = let
+ t = value: {
+ generator = (pkgs.formats.toml {}).generate "toml_file";
+ inherit value;
+ };
+ in
+ {
".config/helix/config.toml" = t settings;
".config/helix/languages.toml" = t languages;
".config/helix/themes/catppuccin_mocha_transparent.toml" = t theme;
-
- ".config/fish/conf.d/helix.fish".text = lib.mkIf config.collinux.terminal.shells.fish.enable ''
+ }
+ // (lib.optionalAttrs config.collinux.terminal.shells.fish.enable {
+ ".config/fish/conf.d/helix.fish".text = ''
set -gx EDITOR hx
'';
- };
+ })
+ // (lib.optionalAttrs config.collinux.terminal.shells.bash.enable {
+ ".config/bash/conf.d/helix.bash".text = ''
+ EDITOR=hx
+ '';
+ });
- packages = [pkgs.helix];
- };
+ packages = [pkgs.helix];
}
diff --git a/modules/terminal/system/programs/lazygit.nix b/modules/terminal/hjem/programs/lazygit.nix
index e3e2b42..a939446 100644
--- a/modules/terminal/system/programs/lazygit.nix
+++ b/modules/terminal/hjem/programs/lazygit.nix
@@ -28,14 +28,12 @@
};
in
lib.mkIf cfg.enable {
- hjem.users."${config.collinux.user.name}" = {
- files = {
- ".config/lazygit/config.yml" = {
- generator = lib.generators.toYAML {};
- value = settings;
- };
+ files = {
+ ".config/lazygit/config.yml" = {
+ generator = lib.generators.toYAML {};
+ value = settings;
};
-
- packages = [pkgs.lazygit];
};
+
+ packages = [pkgs.lazygit];
}
diff --git a/modules/terminal/system/programs/starship.nix b/modules/terminal/hjem/programs/starship.nix
index c70a132..e9d79b5 100644
--- a/modules/terminal/system/programs/starship.nix
+++ b/modules/terminal/hjem/programs/starship.nix
@@ -35,14 +35,15 @@
};
in
lib.mkIf cfg.enable {
- hjem.users."${config.collinux.user.name}" = {
- files = {
+ files =
+ {
".config/starship.toml" = {
generator = (pkgs.formats.toml {}).generate "starship.toml";
value = settings;
};
-
- ".config/fish/conf.d/starship.fish".text = lib.mkIf config.collinux.terminal.shells.fish.enable ''
+ }
+ // (lib.optionalAttrs config.collinux.terminal.shells.fish.enable {
+ ".config/fish/conf.d/starship.fish".text = ''
function starship_transient_prompt_func
starship module character
end
@@ -50,8 +51,12 @@ in
starship init fish | source
enable_transience
'';
- };
+ })
+ // (lib.optionalAttrs config.collinux.terminal.shells.bash.enable {
+ ".config/bash/conf.d/starship.bash".text = ''
+ eval "$(starship init bash)"
+ '';
+ });
- packages = [pkgs.starship];
- };
+ packages = [pkgs.starship];
}
diff --git a/modules/terminal/system/programs/tmux.nix b/modules/terminal/hjem/programs/tmux.nix
index 3fb7b73..738e729 100644
--- a/modules/terminal/system/programs/tmux.nix
+++ b/modules/terminal/hjem/programs/tmux.nix
@@ -285,57 +285,55 @@
'';
in
lib.mkIf cfg.enable {
- hjem.users."${config.collinux.user.name}" = {
- files = let
- e = text: {
- inherit text;
- executable = true;
- };
- in {
- # helpers
- ".config/tmux/scripts/minibuffer.sh" = e scripts.minibuffer;
- ".config/tmux/scripts/menu.sh" = e scripts.menu;
- ".config/tmux/scripts/split.sh" = e scripts.paneSplit;
-
- # sessionizer
- ".config/tmux/scripts/sessionizer.sh" = e scripts.sessionizer;
- ".config/tmux/broot/sessionizer.toml" = {
- generator = (pkgs.formats.toml {}).generate "sessionizer.toml";
- value = broot_sessionizer_config;
- };
- ".config/tmux/scripts/launch-sessionizer.sh" = e scripts.launchSessionizer;
- ".config/tmux/scripts/clean-sessions.sh" = e scripts.cleanSessions;
- ".config/tmux/scripts/new-session.sh" = e scripts.newSession;
- ".config/tmux/scripts/sessions-menu.sh" = e scripts.sessionsMenu;
+ files = let
+ e = text: {
+ inherit text;
+ executable = true;
+ };
+ in {
+ # helpers
+ ".config/tmux/scripts/minibuffer.sh" = e scripts.minibuffer;
+ ".config/tmux/scripts/menu.sh" = e scripts.menu;
+ ".config/tmux/scripts/split.sh" = e scripts.paneSplit;
- # find-file
- ".config/tmux/scripts/launch-find-file.sh" = e scripts.launchFindFile;
- ".config/tmux/broot/file.toml" = {
- generator = (pkgs.formats.toml {}).generate "file.toml";
- value = broot_file_config;
- };
+ # sessionizer
+ ".config/tmux/scripts/sessionizer.sh" = e scripts.sessionizer;
+ ".config/tmux/broot/sessionizer.toml" = {
+ generator = (pkgs.formats.toml {}).generate "sessionizer.toml";
+ value = broot_sessionizer_config;
+ };
+ ".config/tmux/scripts/launch-sessionizer.sh" = e scripts.launchSessionizer;
+ ".config/tmux/scripts/clean-sessions.sh" = e scripts.cleanSessions;
+ ".config/tmux/scripts/new-session.sh" = e scripts.newSession;
+ ".config/tmux/scripts/sessions-menu.sh" = e scripts.sessionsMenu;
- # search buffer
- ".config/tmux/scripts/search-buffer.sh" = e scripts.searchBuffer;
+ # find-file
+ ".config/tmux/scripts/launch-find-file.sh" = e scripts.launchFindFile;
+ ".config/tmux/broot/file.toml" = {
+ generator = (pkgs.formats.toml {}).generate "file.toml";
+ value = broot_file_config;
+ };
- # pane search
- ".config/tmux/scripts/pane-search.sh" = e scripts.paneSearch;
+ # search buffer
+ ".config/tmux/scripts/search-buffer.sh" = e scripts.searchBuffer;
- # fzf-exec
- ".config/tmux/scripts/tmux-doc.sh" = e scripts.tmuxDoc;
- ".config/tmux/scripts/fzf-exec.sh" = e scripts.fzfExec;
+ # pane search
+ ".config/tmux/scripts/pane-search.sh" = e scripts.paneSearch;
- # leader menu
- ".config/tmux/scripts/leader-menu.sh" = e scripts.leaderMenu;
+ # fzf-exec
+ ".config/tmux/scripts/tmux-doc.sh" = e scripts.tmuxDoc;
+ ".config/tmux/scripts/fzf-exec.sh" = e scripts.fzfExec;
- # Bar
- ".config/tmux/scripts/battery.sh" = e scripts.battery;
- ".config/tmux/scripts/bar.sh" = e scripts.bar;
- ".config/tmux/scripts/catppuccin-borders.sh" = e scripts.catpuccinNoBorders;
+ # leader menu
+ ".config/tmux/scripts/leader-menu.sh" = e scripts.leaderMenu;
- ".config/tmux/tmux.conf".text = tmux-conf;
- };
+ # Bar
+ ".config/tmux/scripts/battery.sh" = e scripts.battery;
+ ".config/tmux/scripts/bar.sh" = e scripts.bar;
+ ".config/tmux/scripts/catppuccin-borders.sh" = e scripts.catpuccinNoBorders;
- packages = [pkgs.tmux];
+ ".config/tmux/tmux.conf".text = tmux-conf;
};
+
+ packages = [pkgs.tmux];
}
diff --git a/modules/terminal/nixos/default.nix b/modules/terminal/nixos/default.nix
new file mode 100644
index 0000000..8118c63
--- /dev/null
+++ b/modules/terminal/nixos/default.nix
@@ -0,0 +1,10 @@
+{config, ...}: let
+ cfg = config.collinux.terminal.shells;
+in {
+ programs.command-not-found.enable = false; # broken without nix-channels
+
+ users.users."${config.collinux.user.name}" = {
+ shell = cfg.defaultShell;
+ ignoreShellProgramCheck = true;
+ };
+}
diff --git a/modules/terminal/options.nix b/modules/terminal/options.nix
index af7f0ee..47f2057 100644
--- a/modules/terminal/options.nix
+++ b/modules/terminal/options.nix
@@ -25,11 +25,9 @@ in {
default = let
cfg = config.collinux.terminal.shells;
in
- if (cfg.fish.enable && !cfg.bash.enable)
+ if cfg.fish.enable
then pkgs.fish
- else if (!cfg.fish.enable && cfg.bash.enable)
- then pkgs.bash
- else null;
+ else pkgs.bash;
};
};
diff --git a/modules/terminal/system/programs/bat.nix b/modules/terminal/system/programs/bat.nix
deleted file mode 100644
index 6f53dd7..0000000
--- a/modules/terminal/system/programs/bat.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- pkgs,
- config,
- lib,
- ...
-}: let
- cfg = config.collinux.terminal.programs.bat;
-in
- lib.mkIf cfg.enable {
- hjem.users."${config.collinux.user.name}" = {
- files.".config/fish/conf.d/bat.fish".text = ''
- alias cat bat
- set -gx BAT_THEME "base16"
- '';
-
- packages = [pkgs.bat];
- };
- }
diff --git a/modules/terminal/system/programs/eza.nix b/modules/terminal/system/programs/eza.nix
deleted file mode 100644
index 52c290d..0000000
--- a/modules/terminal/system/programs/eza.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- pkgs,
- lib,
- config,
- ...
-}: let
- cfg = config.collinux.terminal.programs.eza;
-in
- lib.mkIf cfg.enable {
- hjem.users."${config.collinux.user.name}" = {
- files.".config/fish/conf.d/eza.fish".text = ''
- alias ls "eza -A -w 80 --group-directories-first -I '.git*'"
- alias tree "eza -T"
- '';
-
- packages = [pkgs.eza];
- };
- }
diff --git a/modules/terminal/system/programs/fish.nix b/modules/terminal/system/programs/fish.nix
deleted file mode 100644
index fe3ff88..0000000
--- a/modules/terminal/system/programs/fish.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- pkgs,
- config,
- lib,
- ...
-}: let
- cfg = config.collinux.terminal.shells.fish;
-
- init = ''
- set fish_greeting
-
- function fish_title
- echo fish (prompt_pwd)
- end
-
- direnv hook fish | source
- pay-respects fish --alias | source
- '';
-in
- lib.mkIf cfg.enable {
- hjem.users."${config.collinux.user.name}" = {
- files = {
- ".config/fish/config.fish".text = init;
- };
-
- packages = with pkgs; [
- fish
- ripgrep
- fd
- moreutils
- zip
- unzip
- btop
- jq
- direnv
- pay-respects
- ];
- };
- }
diff --git a/modules/terminal/system/programs/fzf.nix b/modules/terminal/system/programs/fzf.nix
deleted file mode 100644
index 486d4e2..0000000
--- a/modules/terminal/system/programs/fzf.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- pkgs,
- config,
- lib,
- ...
-}: let
- cfg = config.collinux.terminal.programs.fzf;
-in
- lib.mkIf cfg.enable {
- hjem.users."${config.collinux.user.name}" = {
- files.".config/fish/conf.d/fzf.fish".text = ''
- ${pkgs.fzf}/bin/fzf --fish | source
- set -gx FZF_DEFAULT_OPTS "--color bg:#1E1E2E,bg+:#313244,border:#313244,fg:#CDD6F4,fg+:#CDD6F4,header:#F38BA8,hl:#F38BA8,hl+:#F38BA8,info:#CBA6F7,label:#CDD6F4,marker:#B4BEFE,pointer:#F5E0DC,prompt:#CBA6F7,selected-bg:#45475A,spinner:#F5E0DC"
- '';
-
- packages = [pkgs.fzf];
- };
- }