aboutsummaryrefslogtreecommitdiff
path: root/home-manager
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager')
-rw-r--r--home-manager/claude-code-manifest-2.1.282.json84
-rw-r--r--home-manager/emacs/default.nix3
-rw-r--r--home-manager/home.nix35
-rw-r--r--home-manager/i3/config4
-rw-r--r--home-manager/i3/default.nix1
-rw-r--r--home-manager/i3/i3-commands.nix18
-rw-r--r--home-manager/i3/rofi-passmenu.nix72
7 files changed, 200 insertions, 17 deletions
diff --git a/home-manager/claude-code-manifest-2.1.282.json b/home-manager/claude-code-manifest-2.1.282.json
new file mode 100644
index 0000000..78dbc55
--- /dev/null
+++ b/home-manager/claude-code-manifest-2.1.282.json
@@ -0,0 +1,84 @@
+{
+ "version": "2.1.282",
+ "manifestSignatureEnforcement": "flag",
+ "commit": "88e628ac87357ab077f78e21f78aee6156f01ab3",
+ "modsCommit": "d78be9481b889e11186ec4578b4f5e9301396e25",
+ "buildDate": "2026-09-24T04:11:54Z",
+ "platforms": {
+ "darwin-arm64": {
+ "binary": "claude",
+ "checksum": "fcfd837103965c64de34a6b9b94370d77a347ea71819715a27d5f0ef01775ea4",
+ "size": 222245312
+ },
+ "darwin-x64": {
+ "binary": "claude",
+ "checksum": "5c34b00b5c0f3862b76011015c334e91904c4593afea7a5451e00746ad7934c1",
+ "size": 230651344
+ },
+ "linux-arm64": {
+ "binary": "claude",
+ "checksum": "6764ffc39e9fed425a493ff61ea28506d1ba83996ce81a48d1177dbb393419c9",
+ "size": 238084088
+ },
+ "linux-x64": {
+ "binary": "claude",
+ "checksum": "3afe8535c0cc33f0e24f7b25dab7a1727b8b592196f8496a8bc302ba2161eed3",
+ "size": 238767288
+ },
+ "linux-arm64-musl": {
+ "binary": "claude",
+ "checksum": "5c3b3c9904f84b59d01c4e7f5c9305a4fc1981b18b26745688c9c1dab9cb25ae",
+ "size": 230438720
+ },
+ "linux-x64-musl": {
+ "binary": "claude",
+ "checksum": "e01fc77a210c54acf69205db13d8d50d11fa6ac62b81b6c6201de8440c293b0d",
+ "size": 232525912
+ },
+ "win32-x64": {
+ "binary": "claude.exe",
+ "checksum": "fc0e3af017705624b9e1bce913f72761864ff994804514da1f5e41380fca4484",
+ "size": 242171040
+ },
+ "win32-arm64": {
+ "binary": "claude.exe",
+ "checksum": "a7f3db85706ca2ca123ea9088e565f10a657a15a0f5d7b9b34283609d857de25",
+ "size": 229716640
+ }
+ },
+ "sdkCompat": {
+ "testedWrapperVersions": [
+ "0.3.243",
+ "0.3.245",
+ "0.3.246",
+ "0.3.247",
+ "0.3.248",
+ "0.3.250",
+ "0.3.251",
+ "0.3.252",
+ "0.3.257",
+ "0.3.258",
+ "0.3.259",
+ "0.3.260",
+ "0.3.261",
+ "0.3.263",
+ "0.3.265",
+ "0.3.266",
+ "0.3.267",
+ "0.3.268",
+ "0.3.269",
+ "0.3.270",
+ "0.3.271",
+ "0.3.272",
+ "0.3.273",
+ "0.3.274",
+ "0.3.275",
+ "0.3.276",
+ "0.3.277",
+ "0.3.278",
+ "0.3.280",
+ "0.3.281"
+ ],
+ "harnessSchema": 1
+ }
+}
diff --git a/home-manager/emacs/default.nix b/home-manager/emacs/default.nix
index 6bb1dc6..a2c2610 100644
--- a/home-manager/emacs/default.nix
+++ b/home-manager/emacs/default.nix
@@ -10,7 +10,8 @@ let
wrapfig amsmath ulem hyperref capt-of;
});
myEmacs = (pkgs.emacsPackagesFor pkgs.emacs30).emacsWithPackages (epkgs: with epkgs; [
- vterm
+ # vterm
+ ghostel
treesit-grammars.with-all-grammars
]);
in
diff --git a/home-manager/home.nix b/home-manager/home.nix
index 897a6b1..491e713 100644
--- a/home-manager/home.nix
+++ b/home-manager/home.nix
@@ -1,5 +1,11 @@
{ pkgs, lib, inputs, ... }:
+let
+ claude-code-latest = pkgs.claude-code.override {
+ manifest = lib.importJSON ./claude-code-manifest-2.1.282.json;
+ };
+in
{
+
imports = [
./shells/bash.nix
./emacs
@@ -55,7 +61,7 @@
pavucontrol
unzip zip
appimage-run
- lunar-client
+ # lunar-client
libnotify
xclip
(python3.withPackages (ps: with ps; [
@@ -92,6 +98,10 @@
# inputs.hytale-launcher.packages.${pkgs.system}.default
#adom
flatpak
+ deadlock-mod-manager
+ nh
+ claude-code-latest
+ inputs.claude-desktop.packages.${system}.claude-desktop
# openttd
];
@@ -116,6 +126,7 @@
};
services.gpg-agent.enable = true;
+ services.gpg-agent.pinentry.package = pkgs.pinentry-gtk2;
services.dunst = {
enable = true;
@@ -131,11 +142,11 @@
enable = true;
# optional Nvidia hardware acceleration
- package = (
- pkgs.obs-studio.override {
- cudaSupport = true;
- }
- );
+ # package = (
+ # pkgs.obs-studio.override {
+ # cudaSupport = true;
+ # }
+ # );
plugins = with pkgs.obs-studio-plugins; [
obs-pipewire-audio-capture
@@ -144,7 +155,16 @@
};
# 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" ];
+ };
+
programs.firefox = {
enable = true;
@@ -170,6 +190,7 @@
in
{
enable = true;
+ spotifyLaunchFlags = "--disable-gpu --disable-software-rasterizer";
enabledExtensions = with spicePkgs.extensions; [
fullAppDisplay
powerBar
diff --git a/home-manager/i3/config b/home-manager/i3/config
index 554d7bd..fc0afae 100644
--- a/home-manager/i3/config
+++ b/home-manager/i3/config
@@ -47,7 +47,7 @@ set $left h
set $right l
##STARTUP
-#exec_always --no-startup-id "feh --bg-scale ~/Wallpapers/val.png"
+exec_always --no-startup-id "feh --bg-scale ~/Wallpapers/val.png"
#exec_always --no-startup-id nitrogen --restore
#exec_always --no-startup-id "picom --backend glx -fD 3 --vsync"
exec_always --no-startup-id "~/.config/polybar/launch.sh"
@@ -105,7 +105,7 @@ bindsym XF86AudioNext exec --no-startup-id playerctl next
bindsym XF86AudioPrev exec --no-startup-id playerctl previous
bindxym XF86AudioStop exec --no-startup-id playerctl stop
-bindsym $mod+bracketleft exec --no-startup-id playerctl -p zen-twilight play-pause
+bindsym $mod+bracketleft exec --no-startup-id playerctl -p firefox play-pause
bindsym $mod+bracketright exec --no-startup-id playerctl -p spotify play-pause
#Emoji picker
diff --git a/home-manager/i3/default.nix b/home-manager/i3/default.nix
index 5fba6e1..0272d79 100644
--- a/home-manager/i3/default.nix
+++ b/home-manager/i3/default.nix
@@ -37,5 +37,6 @@
nitrogen
pamixer
(pkgs.callPackage ./i3-commands.nix { })
+ (pkgs.callPackage ./rofi-passmenu.nix { })
];
}
diff --git a/home-manager/i3/i3-commands.nix b/home-manager/i3/i3-commands.nix
index 9b8705d..68cf7b6 100644
--- a/home-manager/i3/i3-commands.nix
+++ b/home-manager/i3/i3-commands.nix
@@ -1,16 +1,20 @@
{
- stdenv
+ stdenv,
+ lib
}:
stdenv.mkDerivation {
pname = "i3-commands";
version = "0.0.1";
- srcs = builtins.path { name = "scripts"; path = ./scripts/.; };
+ 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
-'';
+ runHook preInstall
+ mkdir -p $out/bin
+ install -D -m 755 ./* $out/bin
+ runHook postInstall
+ '';
}
diff --git a/home-manager/i3/rofi-passmenu.nix b/home-manager/i3/rofi-passmenu.nix
new file mode 100644
index 0000000..153ffc3
--- /dev/null
+++ b/home-manager/i3/rofi-passmenu.nix
@@ -0,0 +1,72 @@
+{
+ pkgs
+}:
+
+pkgs.writeShellApplication {
+ name = "rofi-passmenu";
+
+ runtimeInputs = with pkgs; [
+ pass
+ rofi
+ xclip
+ xdotool
+ gnugrep
+ gawk
+ coreutils
+ libnotify
+ ];
+
+ text = ''
+ #!/usr/bin/env bash
+
+ 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
+ }
+
+ 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
+
+ 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
+ '';
+}