aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2025-07-21 08:21:06 -0700
committerFranck Cuny <franck@fcuny.net>2025-07-21 08:30:16 -0700
commit28b6dbb543ffbd3bfdc90a3b45835d784963175b (patch)
tree5b918d96743426a5355884ae3cbc77247abf2b04
parentinstall helpers for docker (diff)
downloadinfra-28b6dbb543ffbd3bfdc90a3b45835d784963175b.tar.gz
make the configuration more specific
-rw-r--r--nix/users/profiles/bat.nix10
-rw-r--r--nix/users/profiles/dev.nix5
-rw-r--r--nix/users/profiles/fish.nix31
-rw-r--r--nix/users/profiles/mac.nix62
-rw-r--r--nix/users/profiles/shell.nix151
-rw-r--r--nix/users/profiles/starship.nix40
6 files changed, 141 insertions, 158 deletions
diff --git a/nix/users/profiles/bat.nix b/nix/users/profiles/bat.nix
new file mode 100644
index 0000000..fb27397
--- /dev/null
+++ b/nix/users/profiles/bat.nix
@@ -0,0 +1,10 @@
+{ ... }:
+{
+ programs.bat = {
+ enable = true;
+ config = {
+ theme = "ansi";
+ pager = "less -FR";
+ };
+ };
+}
diff --git a/nix/users/profiles/dev.nix b/nix/users/profiles/dev.nix
index 3e4f77f..0c9a07c 100644
--- a/nix/users/profiles/dev.nix
+++ b/nix/users/profiles/dev.nix
@@ -35,11 +35,6 @@
uv
];
- programs.direnv = {
- enable = true;
- nix-direnv.enable = true;
- };
-
programs.go = {
enable = true;
goPath = ".local/share/pkg.go";
diff --git a/nix/users/profiles/fish.nix b/nix/users/profiles/fish.nix
new file mode 100644
index 0000000..314e9f6
--- /dev/null
+++ b/nix/users/profiles/fish.nix
@@ -0,0 +1,31 @@
+{ ... }:
+{
+ programs.fish = {
+ enable = true;
+ interactiveShellInit = ''
+ set fish_greeting ""
+
+ fish_add_path -p ~/.cargo/bin/
+
+ # Add utmctl to PATH
+ fish_add_path /Applications/UTM.app/Contents/MacOS/
+ '';
+ shellAbbrs = {
+ ncg = "nix-collect-garbage --delete-older-than 7d";
+ ndc = "nix develop --command";
+ nfc = "nix flake check";
+ ngcroot = "ls -al /nix/var/nix/gcroots/auto/";
+ nph = "nix profile history --profile /nix/var/nix/profiles/system";
+ nsn = "nix search nixpkgs";
+ nsv = "nix store verify --all";
+
+ g = "git";
+ gap = "git add --patch";
+ };
+ shellAliases = {
+ la = "eza -la --git --color=always --group-directories-first";
+ ll = "eza -la -L=1 --git --color=always --group-directories-first";
+ lt = "eza -aT -L=2 --git --color=always --group-directories-first";
+ };
+ };
+}
diff --git a/nix/users/profiles/mac.nix b/nix/users/profiles/mac.nix
index f27bcf3..d889d21 100644
--- a/nix/users/profiles/mac.nix
+++ b/nix/users/profiles/mac.nix
@@ -1,15 +1,73 @@
-{ ... }:
+{ pkgs, ... }:
{
imports = [
./1password.nix
+ ./bat.nix
./dev.nix
./emacs.nix
+ ./fish.nix
./git.nix
./llm.nix
./secrets.nix
- ./shell.nix
./ssh.nix
+ ./starship.nix
];
+ home.packages = with pkgs; [
+ age
+ bandwhich
+ bottom
+ coreutils
+ dust
+ jless
+ jq
+ procs
+ restic
+ ripgrep
+ shellcheck
+ tree
+ wget
+ yq
+ ];
+
+ programs.direnv = {
+ enable = true;
+ nix-direnv.enable = true;
+ config = {
+ global.disable_stdin = true;
+ global.strict_env = true;
+ };
+ };
+
+ # an alternative to ls
+ programs.eza = {
+ enable = true;
+ icons = "never";
+ enableFishIntegration = false;
+ extraOptions = [
+ "--group-directories-first"
+ "--no-quotes"
+ "--git-ignore"
+ "--icons=never"
+ ];
+ };
+
+ # an alternative to find
+ programs.fd = {
+ enable = true;
+ hidden = true;
+ ignores = [
+ ".git/"
+ ".direnv/"
+ ];
+ };
+
+ home.sessionVariables = {
+ LESS = "-FRSXM";
+ LESSCHARSET = "utf-8";
+ PAGER = "less";
+ SHELL = "${pkgs.fish}/bin/fish";
+ };
+
xdg.enable = true;
}
diff --git a/nix/users/profiles/shell.nix b/nix/users/profiles/shell.nix
deleted file mode 100644
index 604ae10..0000000
--- a/nix/users/profiles/shell.nix
+++ /dev/null
@@ -1,151 +0,0 @@
-{
- lib,
- pkgs,
- ...
-}:
-let
- isLinux = pkgs.stdenv.isLinux;
-in
-{
- home.packages =
- with pkgs;
- [
- age # encryption tool
- bandwhich # bandwhich - a better ifconfig
- bottom # btm - a better top
- coreutils # GNU core utilities
- direnv # direnv - directory environment tool
- dust # dust - a more intuitive du
- jless # jless - a better cat
- jq # jq - a better json
- procs # procs - a better ps
- restic # to manage backups
- ripgrep # ripgrep - a better grep
- shellcheck # shell script linter
- tree # tree - a better ls
- wget # wget - another download tool
- yq # yq - a better yaml
- ]
- ++ (lib.optionals (isLinux) [ htop ]);
-
- # https://github.com/nix-community/home-manager/blob/master/modules/programs/fish.nix
- programs.fish = {
- enable = true;
- interactiveShellInit = ''
- set fish_greeting ""
-
- fish_add_path -p ~/.cargo/bin/
-
- # Add utmctl to PATH
- fish_add_path /Applications/UTM.app/Contents/MacOS/
- '';
- shellAbbrs = {
- ncg = "nix-collect-garbage --delete-older-than 7d";
- ndc = "nix develop --command";
- nfc = "nix flake check";
- ngcroot = "ls -al /nix/var/nix/gcroots/auto/";
- nph = "nix profile history --profile /nix/var/nix/profiles/system";
- nsn = "nix search nixpkgs";
- nsv = "nix store verify --all";
-
- g = "git";
- gap = "git add --patch";
- };
- shellAliases = {
- la = "eza -la --git --color=always --group-directories-first";
- ll = "eza -la -L=1 --git --color=always --group-directories-first";
- lt = "eza -aT -L=2 --git --color=always --group-directories-first";
- };
- };
-
- # an alternative to ls
- programs.eza = {
- enable = true;
- icons = "never";
- enableFishIntegration = false;
- extraOptions = [
- "--group-directories-first"
- "--no-quotes"
- "--git-ignore"
- "--icons=never"
- ];
- };
-
- # an alternative to find
- programs.fd = {
- enable = true;
- hidden = true;
- ignores = [
- ".git/"
- ".direnv/"
- ];
- };
-
- programs.direnv = {
- enable = true;
- nix-direnv.enable = true;
- enableZshIntegration = true;
- config = {
- global.disable_stdin = true;
- global.strict_env = true;
- };
- };
-
- programs.bat = {
- enable = true;
- config = {
- theme = "ansi";
- pager = "less -FR";
- };
- };
-
- programs.starship = {
- enable = true;
- settings = {
- add_newline = false;
- character = {
- success_symbol = "[›](bold green)";
- error_symbol = "[›](bold red)";
- };
- directory = {
- fish_style_pwd_dir_length = 3;
- };
- git_branch = {
- symbol = "🌱 ";
- };
- git_commit = {
- commit_hash_length = 4;
- tag_symbol = "🔖 ";
- };
- git_state = {
- format = "[($state($progress_current of $progress_total))]($style) ";
- cherry_pick = "[🍒 PICKING](bold red)";
- };
- git_status = {
- deleted = "✗";
- modified = "✶";
- staged = "✓";
- stashed = "≡";
- };
- "$schema" = "https://starship.rs/config-schema.json";
- hostname = {
- ssh_only = true;
- };
- username = {
- disabled = true;
- };
- kubernetes = {
- disabled = false;
- style = "bold blue";
- };
- nix_shell.disabled = false;
- };
- };
-
- home.sessionVariables = {
- LESS = "-FRSXM";
- LESSCHARSET = "utf-8";
- PAGER = "less";
- SHELL = "${pkgs.fish}/bin/fish";
- };
-}
diff --git a/nix/users/profiles/starship.nix b/nix/users/profiles/starship.nix
new file mode 100644
index 0000000..8a541ce
--- /dev/null
+++ b/nix/users/profiles/starship.nix
@@ -0,0 +1,40 @@
+{ ... }:
+{
+ programs.starship = {
+ enable = true;
+ settings = {
+ add_newline = false;
+ character = {
+ success_symbol = "[›](bold green)";
+ error_symbol = "[›](bold red)";
+ };
+ directory = {
+ fish_style_pwd_dir_length = 3;
+ };
+ git_branch = {
+ symbol = "🌱 ";
+ };
+ git_commit = {
+ commit_hash_length = 4;
+ };
+ git_status = {
+ deleted = "✗";
+ modified = "✶";
+ staged = "✓";
+ stashed = "≡";
+ };
+ "$schema" = "https://starship.rs/config-schema.json";
+ hostname = {
+ ssh_only = true;
+ };
+ username = {
+ disabled = true;
+ };
+ kubernetes = {
+ disabled = false;
+ style = "bold blue";
+ };
+ nix_shell.disabled = false;
+ };
+ };
+}