hm cleanup

This commit is contained in:
iofq 2025-06-02 01:21:31 -05:00
parent 4eedb65822
commit 5d7ab7c414
No known key found for this signature in database
GPG key ID: ECF3B2DA38BF7183
18 changed files with 534 additions and 328 deletions

View file

@ -5,8 +5,7 @@
imports = [
./tmux.nix
./git.nix
./gpg.nix
./fish.nix
./fish
];
home = {
packages = with pkgs; [
@ -83,4 +82,23 @@
enableBashIntegration = true;
nix-direnv.enable = true;
};
programs.gpg = {
enable = true;
settings = {
pinentry-mode = "loopback";
};
};
services.gpg-agent = {
enable = true;
enableSshSupport = true;
extraConfig = ''
allow-loopback-pinentry
'';
};
programs = {
nix-index = {
enableBashIntegration = false;
enableFishIntegration = true;
};
};
}

View file

@ -1,103 +0,0 @@
{pkgs, host, ...}: {
programs.fish = {
enable = true;
interactiveShellInit = ''
set fish_greeting # Disable greeting
set show_startup_tips false
set -U tide_right_prompt_items status\x1ecmd_duration\x1etime
'';
shellInit = "
fish_add_path /usr/local/go/bin
fish_add_path ~/go/bin
fish_add_path ~/.local/bin
set -gx MANPAGER 'nvim +Man!'
set -gx EDITOR 'nvim'
set -gx _JAVA_AWT_WM_NONREPARENTING 1
set -gx NIX_FLAKE '/home/e/dev/nix'
";
plugins = [
{
name = "fzf";
inherit (pkgs.fishPlugins.fzf-fish) src;
}
{
name = "puffer";
inherit (pkgs.fishPlugins.puffer) src;
}
];
functions = {
nix-shell = {
wraps = "nix-shell";
body = ''
command nix-shell $argv --command "fish"
'';
};
nix = {
wraps = "nix";
body = ''
if status is-interactive
and test (count $argv) = 1 -a "$argv[1]" = develop
nix develop --command (status fish-path)
else
command nix $argv
end
'';
};
fish_jj_prompt = {
body = ''
if not command -sq jj
return 1
end
if not jj root &>/dev/null
return 1
end
# Generate prompt
set -l info "$(
jj log --ignore-working-copy --no-graph --color=always --revisions=@ --template "
separate(
' ',
self.change_id().shortest(),
bookmarks.join(', '),
if(conflict, label('conflict', '×')),
if(empty, label('empty', '(empty)')),
if(divergent, label('divergent', '(divergent)')),
if(hidden, label('hidden', '(hidden)')),
)
"
)"
or return 1
if test -n $info
printf ' (jj: %s)' $info
else
return 1
end
'';
};
fish_vcs_prompt = {
body = ''
fish_jj_prompt $argv
or fish_git_prompt $argv
or fish_hg_prompt $argv
or fish_fossil_prompt $argv
'';
};
};
shellAbbrs = {
g = "git";
k = "kubectl";
};
shellAliases = {
":q" = "exit";
hms = "home-manager switch --flake $NIX_FLAKE#${host.username}";
rbs = "sudo nixos-rebuild switch --flake $NIX_FLAKE#${host.hostName}";
mpv = "mpv --no-keepaspect-window";
cat = "bat -pp";
tcd = "cd $(mktemp -d)";
docker = "nerdctl";
vimdiff = "nvim -d";
};
};
}

View file

@ -0,0 +1,38 @@
{pkgs, host, ...}: {
programs.fish = {
enable = true;
interactiveShellInit = ''
set fish_greeting # Disable greeting
set show_startup_tips false
'';
shellInit = "
fish_add_path /usr/local/go/bin
fish_add_path ~/go/bin
fish_add_path ~/.local/bin
set -gx MANPAGER 'nvim +Man!'
set -gx EDITOR 'nvim'
set -gx _JAVA_AWT_WM_NONREPARENTING 1
set -gx NIX_FLAKE '/home/e/dev/nix'
";
plugins = [
{name = "fzf"; inherit (pkgs.fishPlugins.fzf-fish) src;}
{name = "puffer"; inherit (pkgs.fishPlugins.puffer) src;}
];
functions = import ./functions.nix;
shellAbbrs = {
g = "git";
k = "kubectl";
};
shellAliases = {
":q" = "exit";
hms = "home-manager switch --flake $NIX_FLAKE#${host.username}";
rbs = "sudo nixos-rebuild switch --flake $NIX_FLAKE#${host.hostName}";
mpv = "mpv --no-keepaspect-window";
cat = "bat -pp";
tcd = "cd $(mktemp -d)";
docker = "nerdctl";
vimdiff = "nvim -d";
ls = "eza";
};
};
}

View file

@ -0,0 +1,60 @@
{
nix-shell = {
wraps = "nix-shell";
body = ''
command nix-shell $argv --command "fish"
'';
};
nix = {
wraps = "nix";
body = ''
if status is-interactive
and test (count $argv) = 1 -a "$argv[1]" = develop
nix develop --command (status fish-path)
else
command nix $argv
end
'';
};
fish_jj_prompt = {
body = ''
if not command -sq jj
return 1
end
if not jj root &>/dev/null
return 1
end
# Generate prompt
set -l info "$(
jj log --ignore-working-copy --no-graph --color=always --revisions=@ --template "
separate(
' ',
self.change_id().shortest(),
bookmarks.join(', '),
if(conflict, label('conflict', '×')),
if(empty, label('empty', '(empty)')),
if(divergent, label('divergent', '(divergent)')),
if(hidden, label('hidden', '(hidden)')),
)
"
)"
or return 1
if test -n $info
printf ' (jj: %s)' $info
else
return 1
end
'';
};
fish_vcs_prompt = {
body = ''
fish_jj_prompt $argv
or fish_git_prompt $argv
or fish_hg_prompt $argv
or fish_fossil_prompt $argv
'';
};
}

View file

@ -19,9 +19,14 @@
};
extraConfig.pull.rebase = true;
};
home.packages = [ pkgs.watchman ];
programs.jujutsu = {
enable = true;
settings = {
core = {
fsmonitor = "watchman";
};
user = {
email = "cjriddz@protonmail.com";
name = "iofq";
@ -29,12 +34,21 @@
operation = {
username = "iofq";
};
signing = {
behavior = "own";
backend = "gpg";
key = "cjriddz@protonmail.com";
};
ui = {
default-command = ["log"];
conflict-marker-style = "git";
merge-editor = "vimdiff";
diff-editor = "diffview";
diff.format = "git";
paginate = "never";
movement = {
edit = true;
};
};
merge-tools.vimdiff = {
program = "nvim";
@ -65,8 +79,6 @@
};
aliases = {
tug = ["bookmark" "move" "--from" "heads(::@- & bookmarks())" "--to" "@"];
ne = ["next" "--edit"];
be = ["edit" "-r" "@-"];
};
};
};

View file

@ -1,15 +0,0 @@
_: {
programs.gpg = {
enable = true;
settings = {
pinentry-mode = "loopback";
};
};
services.gpg-agent = {
enable = true;
enableSshSupport = true;
extraConfig = ''
allow-loopback-pinentry
'';
};
}

View file

@ -1,7 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
pulseaudio
pulsemixer
alsa-utils
];
}

View file

@ -6,17 +6,19 @@
imports = [
./alacritty
./hyprland
./xdg
./audio
];
home.packages = with pkgs; [
pulseaudio
pulsemixer
alsa-utils
wlogout
wf-recorder
wdisplays
wl-clipboard
gammastep
sway-contrib.grimshot
xdg-utils
];
home.sessionVariables = {
MOZ_DBUS_REMOTE = 1;
@ -66,6 +68,30 @@
}
];
};
xdg = {
configFile."mimeapps.list".force = true;
mime.enable = true;
mimeApps = {
enable = true;
defaultApplications = {
"x-scheme-handler/http" = "librewolf.desktop";
"x-scheme-handler/https" = "librewolf.desktop";
"x-scheme-handler/chrome" = "librewolf.desktop";
"video/mp4" = "librewolf.desktop";
"video/mkv" = "librewolf.desktop";
"image/jpeg" = "librewolf.desktop";
"image/jpg" = "librewolf.desktop";
"image/png" = "librewolf.desktop";
"application/epub" = "librewolf.desktop";
"application/pdf" = "librewolf.desktop";
};
associations.added = {
"x-scheme-handler/http" = "librewolf.desktop";
"x-scheme-handler/https" = "librewolf.desktop";
"x-scheme-handler/chrome" = "librewolf.desktop";
};
};
};
services.mako.enable = true;
home.file.".icons/default".source = "${pkgs.vanilla-dmz}/share/icons/DMZ-Black";
}

View file

@ -33,7 +33,7 @@
"windows, 1, 3, default, popin"
"windowsOut, 1, 3, default, popin"
"fade, 1, 3, default"
"workspaces, 1, 2, default, fade"
"workspaces, 1, 3, default, fade"
];
};
master = {

View file

@ -1,29 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
xdg-utils
];
xdg = {
configFile."mimeapps.list".force = true;
mime.enable = true;
mimeApps = {
enable = true;
defaultApplications = {
"x-scheme-handler/http" = "librewolf.desktop";
"x-scheme-handler/https" = "librewolf.desktop";
"x-scheme-handler/chrome" = "librewolf.desktop";
"video/mp4" = "librewolf.desktop";
"video/mkv" = "librewolf.desktop";
"image/jpeg" = "librewolf.desktop";
"image/jpg" = "librewolf.desktop";
"image/png" = "librewolf.desktop";
"application/epub" = "librewolf.desktop";
"application/pdf" = "librewolf.desktop";
};
associations.added = {
"x-scheme-handler/http" = "librewolf.desktop";
"x-scheme-handler/https" = "librewolf.desktop";
"x-scheme-handler/chrome" = "librewolf.desktop";
};
};
};
}