fix(nix): revert setup

This commit is contained in:
Barrett Ruth 2026-02-11 18:15:12 -05:00
parent 9aac8350a5
commit 5db1a08d07
Signed by: barrett
GPG key ID: A6C96C9349D2FC81
3 changed files with 124 additions and 133 deletions

View file

@ -19,19 +19,18 @@ return {
return '%#' .. hl .. '#' .. (relnum == 0 and lnum or relnum) return '%#' .. hl .. '#' .. (relnum == 0 and lnum or relnum)
end, end,
-- fold = function() fold = function()
-- local expr = require('config.fold').foldexpr() local expr = require('config.fold').foldexpr()
-- if expr:sub(1, 1) == '>' then if expr:sub(1, 1) == '>' then
-- if vim.fn.foldclosed(vim.v.lnum) ~= -1 then if vim.fn.foldclosed(vim.v.lnum) ~= -1 then
-- return '>' return '>'
-- else else
-- return 'v' return 'v'
-- end end
-- end end
-- return ' ' return ' '
-- end, end,
statuscolumn = function() statuscolumn = function()
-- return '%{%v:lua.require("config.lines.statuscolumn").fold()%}%s%=%{%v:lua.require("config.lines.statuscolumn").num()%} ' return '%{%v:lua.require("config.lines.statuscolumn").fold()%}%s%=%{%v:lua.require("config.lines.statuscolumn").num()%} '
return '%=%{%v:lua.require("config.lines.statuscolumn").num()%} '
end, end,
} }

View file

@ -33,10 +33,6 @@
home.sessionPath = [ "${config.home.homeDirectory}/.config/nix/scripts" ]; home.sessionPath = [ "${config.home.homeDirectory}/.config/nix/scripts" ];
programs.home-manager.enable = true; programs.home-manager.enable = true;
programs.zen.enable = true;
programs.sioyek.enable = true;
programs.vesktop.enable = true;
programs.claude.enable = true;
systemd.user.services.nix-flake-update = { systemd.user.services.nix-flake-update = {
Unit.Description = "Update nix flake inputs"; Unit.Description = "Update nix flake inputs";

View file

@ -8,9 +8,14 @@
}: }:
let let
cfg = config.programs;
repoDir = "${config.home.homeDirectory}/.config/nix"; repoDir = "${config.home.homeDirectory}/.config/nix";
neovim = config.programs.neovim.enable;
zen = true;
sioyek = true;
vesktop = true;
claude = true;
sioyek-wrapped = pkgs.symlinkJoin { sioyek-wrapped = pkgs.symlinkJoin {
name = "sioyek"; name = "sioyek";
paths = [ pkgs.sioyek ]; paths = [ pkgs.sioyek ];
@ -22,142 +27,133 @@ let
}; };
in in
{ {
options.programs = { home.sessionVariables = lib.mkMerge [
zen.enable = lib.mkEnableOption "zen browser"; (lib.mkIf zen { BROWSER = "zen"; })
sioyek.enable = lib.mkEnableOption "sioyek PDF viewer"; (lib.mkIf claude { CLAUDE_CONFIG_DIR = "${config.xdg.configHome}/claude"; })
vesktop.enable = lib.mkEnableOption "vesktop Discord client"; ];
claude.enable = lib.mkEnableOption "claude code";
programs.mpv.enable = true;
home.packages =
with pkgs;
[
slack
bitwarden-desktop
gemini-cli
typst
]
++ lib.optionals zen [ zen-browser.packages.${hostPlatform}.default ]
++ lib.optionals sioyek [ sioyek-wrapped ]
++ lib.optionals vesktop [ pkgs.vesktop ]
++ lib.optionals claude [ pkgs.claude-code ];
xdg.configFile."claude/settings.json" = lib.mkIf claude {
text = builtins.toJSON {
permissions.defaultMode = "acceptEdits";
network_access = true;
allowed_domains = [
"github.com"
"raw.githubusercontent.com"
"api.github.com"
];
tools.web_fetch = true;
};
}; };
config = { xdg.configFile."claude/CLAUDE.md" = lib.mkIf claude {
home.sessionVariables = lib.mkMerge [ source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/claude/CLAUDE.md";
(lib.mkIf cfg.zen.enable { BROWSER = "zen"; }) };
(lib.mkIf cfg.claude.enable { CLAUDE_CONFIG_DIR = "${config.xdg.configHome}/claude"; })
];
programs.mpv.enable = true; xdg.configFile."claude/rules" = lib.mkIf claude {
source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/claude/rules";
};
home.packages = lib.mkMerge [ xdg.configFile."claude/skills" = lib.mkIf claude {
(with pkgs; [ source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/claude/skills";
slack };
bitwarden-desktop
gemini-cli
typst
])
(lib.mkIf cfg.claude.enable [ pkgs.claude-code ])
(lib.mkIf cfg.zen.enable [ zen-browser.packages.${hostPlatform}.default ])
(lib.mkIf cfg.sioyek.enable [ sioyek-wrapped ])
(lib.mkIf cfg.vesktop.enable [ pkgs.vesktop ])
];
xdg.configFile."claude/settings.json" = lib.mkIf cfg.claude.enable { xdg.configFile."sioyek/keys_user.config" = lib.mkIf sioyek {
text = builtins.toJSON { source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/sioyek/keys_user.config";
permissions.defaultMode = "acceptEdits"; };
network_access = true;
allowed_domains = [
"github.com"
"raw.githubusercontent.com"
"api.github.com"
];
tools.web_fetch = true;
};
};
xdg.configFile."claude/CLAUDE.md" = lib.mkIf cfg.claude.enable { xdg.configFile."sioyek/prefs_user.config" = lib.mkIf sioyek {
source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/claude/CLAUDE.md"; source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/sioyek/prefs_user.config";
}; };
xdg.configFile."claude/rules" = lib.mkIf cfg.claude.enable { xdg.configFile."sioyek/themes/midnight.config" = lib.mkIf sioyek {
source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/claude/rules"; source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/sioyek/themes/midnight.config";
}; };
xdg.configFile."claude/skills" = lib.mkIf cfg.claude.enable { xdg.configFile."sioyek/themes/daylight.config" = lib.mkIf sioyek {
source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/claude/skills"; source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/sioyek/themes/daylight.config";
}; };
xdg.configFile."sioyek/keys_user.config" = lib.mkIf cfg.sioyek.enable { home.activation.linkZenProfile = lib.mkIf zen (
source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/sioyek/keys_user.config"; lib.hm.dag.entryAfter [ "writeBoundary" ] ''
}; zen_config="$HOME/.zen"
repo_zen="${repoDir}/config/zen"
xdg.configFile."sioyek/prefs_user.config" = lib.mkIf cfg.sioyek.enable { if [ ! -d "$zen_config" ]; then
source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/sioyek/prefs_user.config"; exit 0
}; fi
xdg.configFile."sioyek/themes/midnight.config" = lib.mkIf cfg.sioyek.enable { profile=""
source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/sioyek/themes/midnight.config"; for d in "$zen_config"/*.Default\ Profile; do
}; [ -d "$d" ] && profile="$d" && break
done
xdg.configFile."sioyek/themes/daylight.config" = lib.mkIf cfg.sioyek.enable { if [ -z "$profile" ]; then
source = config.lib.file.mkOutOfStoreSymlink "${repoDir}/config/sioyek/themes/daylight.config"; exit 0
}; fi
home.activation.linkZenProfile = lib.mkIf cfg.zen.enable ( mkdir -p "$profile/chrome"
lib.hm.dag.entryAfter [ "writeBoundary" ] ''
zen_config="$HOME/.zen"
repo_zen="${repoDir}/config/zen"
if [ ! -d "$zen_config" ]; then for f in userChrome.css user.js containers.json handlers.json zen-keyboard-shortcuts.json; do
exit 0 src="$repo_zen/$f"
if [ "$f" = "userChrome.css" ]; then
dest="$profile/chrome/$f"
else
dest="$profile/$f"
fi fi
profile="" [ -f "$src" ] || continue
for d in "$zen_config"/*.Default\ Profile; do
[ -d "$d" ] && profile="$d" && break
done
if [ -z "$profile" ]; then if [ -L "$dest" ]; then
exit 0 continue
fi fi
mkdir -p "$profile/chrome" if [ -f "$dest" ]; then
rm "$dest"
fi
for f in userChrome.css user.js containers.json handlers.json zen-keyboard-shortcuts.json; do ln -s "$src" "$dest"
src="$repo_zen/$f" done
if [ "$f" = "userChrome.css" ]; then ''
dest="$profile/chrome/$f" );
else
dest="$profile/$f"
fi
[ -f "$src" ] || continue xdg.configFile."electron-flags.conf".text = ''
--enable-features=WaylandWindowDecorations
--ozone-platform-hint=auto
'';
if [ -L "$dest" ]; then xdg.mimeApps = {
continue enable = true;
fi defaultApplications = lib.mkMerge [
(lib.mkIf zen {
if [ -f "$dest" ]; then "x-scheme-handler/http" = "zen.desktop";
rm "$dest" "x-scheme-handler/https" = "zen.desktop";
fi "text/html" = "zen.desktop";
})
ln -s "$src" "$dest" (lib.mkIf neovim {
done "text/plain" = "nvim.desktop";
'' })
); (lib.mkIf sioyek {
"application/pdf" = "sioyek.desktop";
xdg.configFile."electron-flags.conf".text = '' "application/epub+zip" = "sioyek.desktop";
--enable-features=WaylandWindowDecorations })
--ozone-platform-hint=auto (lib.mkIf vesktop {
''; "x-scheme-handler/discord" = "vesktop.desktop";
})
xdg.mimeApps = { ];
enable = true;
defaultApplications = lib.mkMerge [
(lib.mkIf cfg.zen.enable {
"x-scheme-handler/http" = "zen.desktop";
"x-scheme-handler/https" = "zen.desktop";
"text/html" = "zen.desktop";
})
(lib.mkIf cfg.neovim.enable {
"text/plain" = "nvim.desktop";
})
(lib.mkIf cfg.sioyek.enable {
"application/pdf" = "sioyek.desktop";
"application/epub+zip" = "sioyek.desktop";
})
(lib.mkIf cfg.vesktop.enable {
"x-scheme-handler/discord" = "vesktop.desktop";
})
];
};
}; };
} }