Skip to content
Merged
Show file tree
Hide file tree
Changes from 35 commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
32caab0
chore: update
shunkakinoki Feb 6, 2026
98990d9
chore: update
shunkakinoki Feb 6, 2026
8a70a45
feat(matic): add hyprland keyd agenix
shunkakinoki Feb 6, 2026
7e5d92f
chore: update
shunkakinoki Feb 6, 2026
eda6868
feat: enhance Hyprland configuration with new components and styles
shunkakinoki Feb 6, 2026
74a9b5d
feat(matic): add SSH and GPG key configurations for agenix deployment
shunkakinoki Feb 6, 2026
210b92e
feat(matic): update secrets.nix to reflect synchronization from galac…
shunkakinoki Feb 6, 2026
9112ab7
feat(matic): update GPG and SSH key files for synchronization
shunkakinoki Feb 6, 2026
03b6ef5
feat(hyprland): update window rule syntax and remove workspace swipe …
shunkakinoki Feb 6, 2026
5bd8414
feat(hyprland): update gesture settings and refine window rules syntax
shunkakinoki Feb 6, 2026
518d507
feat(hyprland): refine window animation settings for improved perform…
shunkakinoki Feb 6, 2026
4c364db
feat(hyprland): update window rule for wofi to focus on activation
shunkakinoki Feb 6, 2026
92ea474
feat(hyprland): change key binding for killing active window from Q to W
shunkakinoki Feb 6, 2026
8bc9e03
feat(hyprland): update workspace format to display workspace ID
shunkakinoki Feb 6, 2026
c7bb5be
feat(hyprland): update gesture setting for horizontal workspace navig…
shunkakinoki Feb 6, 2026
41affeb
feat(hyprland): add gesture setting for three-finger horizontal works…
shunkakinoki Feb 6, 2026
eb74328
feat(hyprland): update app launch hotkeys to use application IDs
shunkakinoki Feb 6, 2026
addf261
feat(hyprland): update clipboard binding to use Shift modifier and ad…
shunkakinoki Feb 6, 2026
5fff3b6
feat(hyprland): remove redundant window rule for wofi focus behavior
shunkakinoki Feb 6, 2026
ebfee4b
feat(hyprland): update app launch bindings to use direct commands
shunkakinoki Feb 6, 2026
ec059c7
feat(hyprland): integrate Hyprland and its plugins into the Nix confi…
shunkakinoki Feb 6, 2026
3b7bd2e
feat(hyprland): enhance media and hardware key bindings for improved …
shunkakinoki Feb 6, 2026
9b5516c
feat(hyprland): update clock format to include full date and time
shunkakinoki Feb 6, 2026
879744e
feat(hyprland): add CPU and memory modules to waybar configuration
shunkakinoki Feb 6, 2026
c261980
feat(hyprland): add color definitions for CPU and memory modules in w…
shunkakinoki Feb 6, 2026
0a3b3c1
feat(hyprland): add spacing for CPU and memory modules in waybar style
shunkakinoki Feb 6, 2026
31dcb7e
feat(hyprland): update waybar color scheme for CPU and memory modules
shunkakinoki Feb 6, 2026
4d15728
chore: add hyprland cachix binary cache globally
shunkakinoki Feb 6, 2026
48b5822
feat(hyprland): update gesture configuration for workspace management
shunkakinoki Feb 6, 2026
f833a86
feat(hyprland): update gesture configuration for workspace management
shunkakinoki Feb 6, 2026
e542a54
feat(hyprland): update fullscreen binding to use hyprctl for workspac…
shunkakinoki Feb 6, 2026
b1c864d
feat(hyprland): add package definition for hyprland in default.nix
shunkakinoki Feb 6, 2026
ede5b9e
feat(hyprland): refactor plugin configuration for hyprexpo in default…
shunkakinoki Feb 6, 2026
54e0a1c
feat(hyprland): fix formatting of extraConfig in default.nix
shunkakinoki Feb 6, 2026
80ad0ed
feat(hyprland): update Hyprland URL to specific version v0.53.3 in fl…
shunkakinoki Feb 6, 2026
cf3ac92
Revert "feat(hyprland): update Hyprland URL to specific version v0.53…
shunkakinoki Feb 6, 2026
8012ff8
feat(hyprland): simplify hyprexpo plugin and package references in de…
shunkakinoki Feb 6, 2026
9a84a02
feat(hyprland): remove hyprland and hyprland-plugins inputs from flak…
shunkakinoki Feb 6, 2026
bc47c24
feat(hyprland): add gesture bindings for hyprexpo and adjust plugin s…
shunkakinoki Feb 6, 2026
28b68e4
feat(hyprland): update gesture settings and enhance keyd configuratio…
shunkakinoki Feb 6, 2026
781c776
feat(keyd): add leftmeta key mapping and update restart triggers in d…
shunkakinoki Feb 6, 2026
9c54d03
feat(hyprland): add key bindings for function keys to control audio a…
shunkakinoki Feb 6, 2026
41dcbde
feat(hyprland): update F9 key binding to toggle display scale between…
shunkakinoki Feb 6, 2026
4859b7a
feat(ghostty): add key bindings for copy and paste functionality
shunkakinoki Feb 6, 2026
89e3008
feat(hyprland): add key binding for emoji selection and update gestur…
shunkakinoki Feb 6, 2026
3022a3c
feat(hyprland): update fullscreen key binding to use Ctrl+Super+F
shunkakinoki Feb 6, 2026
98945b3
feat(hyprland): update fullscreen key binding to use Ctrl+Alt+Shift+F
shunkakinoki Feb 6, 2026
2f2d4ca
feat(hyprland): update fullscreen key binding to use Ctrl+Alt+Shift+F
shunkakinoki Feb 6, 2026
247d0b6
feat(fish): add key bindings for clipboard paste functionality
shunkakinoki Feb 6, 2026
0d18047
feat(ghostty): enable clipboard write and copy-on-select functionality
shunkakinoki Feb 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ DOCKER_IMAGE_TAGGED := $(DOCKER_IMAGE_NAME_BASE):$(GIT_COMMIT_SHA)
NIX_EXEC := $(shell which nix)

# Common cache settings (only applied when user is trusted to avoid warnings)
NIX_SUBSTITUTERS := https://cache.nixos.org https://devenv.cachix.org https://cachix.cachix.org
NIX_TRUSTED_KEYS := cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw= cachix.cachix.org-1:eWNHQldwUO7G2VkjpnjDbWwy4KQ/HNxht7H4SSoMckM=
NIX_SUBSTITUTERS := https://cache.nixos.org https://devenv.cachix.org https://cachix.cachix.org https://hyprland.cachix.org
NIX_TRUSTED_KEYS := cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw= cachix.cachix.org-1:eWNHQldwUO7G2VkjpnjDbWwy4KQ/HNxht7H4SSoMckM= hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=
NIX_CACHIX_CONF := /etc/nix/cachix.conf
# Check if user is trusted (to avoid "ignoring untrusted substituter" warnings)
NIX_USER_TRUSTED := $(shell grep -qE "trusted-users.*=.*(\\*|$(shell whoami))" /etc/nix/nix.conf 2>/dev/null && echo "yes" || echo "no")
Expand Down Expand Up @@ -749,15 +749,14 @@ launchctl-ollama: ## Restart ollama launchd agent.
##@ Systemd Services (Linux)

.PHONY: systemctl
systemctl: systemctl-cliproxyapi systemctl-openclaw systemctl-code-syncer systemctl-docker-postgres systemctl-dotfiles-updater systemctl-ollama ## Restart all systemd user services.
systemctl: systemctl-cliproxyapi systemctl-code-syncer systemctl-docker-postgres systemctl-dotfiles-updater systemctl-ollama systemctl-openclaw systemctl-waybar ## Restart all systemd user services.

.PHONY: systemctl-cliproxyapi
systemctl-cliproxyapi: ## Pull latest image and restart cliproxyapi systemd user service.
@echo "🔄 Restarting cliproxyapi..."
@systemctl --user restart cliproxyapi.service || true
@echo "✅ cliproxyapi restarted"


.PHONY: systemctl-code-syncer
systemctl-code-syncer: ## Restart code-syncer systemd user service.
@echo "🔄 Restarting code-syncer..."
Expand Down Expand Up @@ -788,6 +787,14 @@ systemctl-openclaw: ## Restart OpenClaw gateway systemd user service.
@systemctl --user restart openclaw-gateway.service || true
@echo "✅ openclaw restarted"

.PHONY: systemctl-waybar
systemctl-waybar: ## Restart waybar.
@echo "🔄 Restarting waybar..."
@pkill waybar 2>/dev/null || true
@sleep 1
@hyprctl dispatch exec waybar 2>/dev/null || true
@echo "✅ waybar restarted"

##@ Git Submodule

.PHONY: git-submodule-sync
Expand Down
2 changes: 2 additions & 0 deletions config/codex/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ notify = [

suppress_unstable_features_warning = true
web_search = "cached"
model = "gpt-5.3-codex"
model_reasoning_effort = "medium"

[features]
ghost_commit = false
Expand Down
17 changes: 17 additions & 0 deletions config/default.nix
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
{ inputs }:
let
inherit (inputs.host) isDesktop;
in
[
./aichat
./amp
Expand All @@ -23,3 +27,16 @@
./starship
./zellij
]
++ (
if isDesktop then
[
./gtk
./hyprland
./swaync
./waybar
./wlogout
./wofi
]
else
[ ]
)
35 changes: 35 additions & 0 deletions config/gtk/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
config,
pkgs,
lib,
...
}:
{
gtk = lib.mkIf pkgs.stdenv.isLinux {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
iconTheme = {
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
};
cursorTheme = {
name = "Adwaita";
size = 24;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};

dconf.settings = lib.mkIf pkgs.stdenv.isLinux {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
}
29 changes: 29 additions & 0 deletions config/hyprland/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
config,
inputs,
pkgs,
...
}:
let
hyprexpoPlugin = inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprexpo;
in
{
wayland.windowManager.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
systemd.enable = false;
extraConfig = ''
plugin = ${hyprexpoPlugin}/lib/libhyprexpo.so
''
+ builtins.readFile ./hyprland.conf;
};

xdg.configFile."hypr/hypridle.conf" = {
source = ./hypridle.conf;
force = true;
};
xdg.configFile."hypr/hyprlock.conf" = {
source = ./hyprlock.conf;
force = true;
};
}
31 changes: 31 additions & 0 deletions config/hyprland/hypridle.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
general {
lock_cmd = pidof hyprlock || hyprlock
before_sleep_cmd = loginctl lock-session
after_sleep_cmd = hyprctl dispatch dpms on
}

# Dim screen after 2.5 minutes
listener {
timeout = 150
on-timeout = brightnessctl -s set 10
on-resume = brightnessctl -r
}

# Lock screen after 5 minutes
listener {
timeout = 300
on-timeout = loginctl lock-session
}

# Turn off display after 5.5 minutes
listener {
timeout = 330
on-timeout = hyprctl dispatch dpms off
on-resume = hyprctl dispatch dpms on
}

# Suspend after 30 minutes
listener {
timeout = 1800
on-timeout = systemctl suspend
}
Loading
Loading