From acd679c65a0dbd8020dfd7f6e3ea6f1e955fab94 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Wed, 23 Oct 2024 03:40:38 -0700 Subject: home: move fortune modules up into kansai module --- home/ebisu/kansai/communication/catgirl.nix | 22 + home/ebisu/kansai/communication/default.nix | 13 + .../ebisu/kansai/communication/discord/default.nix | 4 + .../ebisu/kansai/communication/discord/vesktop.nix | 649 +++++++++++++++++++++ home/ebisu/kansai/communication/irc.nix | 9 + home/ebisu/kansai/default.nix | 17 +- home/ebisu/kansai/desktop/clipboard.nix | 7 + home/ebisu/kansai/desktop/default.nix | 29 + home/ebisu/kansai/desktop/hyprland/default.nix | 28 + home/ebisu/kansai/desktop/hyprland/hypridle.nix | 35 ++ .../desktop/hyprland/hyprland/animations.nix | 84 +++ .../kansai/desktop/hyprland/hyprland/binds.nix | 200 +++++++ .../desktop/hyprland/hyprland/decoration.nix | 43 ++ .../kansai/desktop/hyprland/hyprland/default.nix | 34 ++ .../desktop/hyprland/hyprland/environment.nix | 16 + .../desktop/hyprland/hyprland/executions.nix | 38 ++ .../kansai/desktop/hyprland/hyprland/general.nix | 118 ++++ .../kansai/desktop/hyprland/hyprland/plugins.nix | 57 ++ .../kansai/desktop/hyprland/hyprland/rules.nix | 79 +++ .../desktop/hyprland/hyprland/scripts/common.sh | 146 +++++ .../hyprland/scripts/fake_fullscreen_status | 18 + .../hyprland/scripts/move_focus_to_monitor | 9 + .../hyprland/scripts/move_window_to_monitor | 16 + .../hyprland/scripts/move_window_to_workspace | 12 + .../hyprland/scripts/source.bak/screenshot.ab | 158 +++++ .../hyprland/hyprland/scripts/switch_workspace | 5 + .../desktop/hyprland/hyprland/scripts/toggle_gaps | 13 + .../hyprland/hyprland/scripts/toggle_layout | 22 + .../desktop/hyprland/hyprland/workspaces.nix | 36 ++ home/ebisu/kansai/desktop/hyprland/hyprlock.nix | 96 +++ .../ebisu/kansai/desktop/hyprland/hyprlock.nix.bak | 106 ++++ home/ebisu/kansai/desktop/hyprland/hyprpaper.nix | 13 + home/ebisu/kansai/desktop/hyprland/inspo.txt | 4 + home/ebisu/kansai/desktop/mako.nix | 57 ++ home/ebisu/kansai/desktop/rofi.nix | 35 ++ home/ebisu/kansai/desktop/screenshot.nix | 7 + .../ebisu/kansai/desktop/waybar/common-modules.nix | 227 +++++++ home/ebisu/kansai/desktop/waybar/default.nix | 112 ++++ home/ebisu/kansai/desktop/waybar/style.css | 134 +++++ home/ebisu/kansai/desktop/waybar/style.css.bak | 221 +++++++ home/ebisu/kansai/desktop/wlogout.nix | 114 ++++ home/ebisu/kansai/development/database.nix | 8 + home/ebisu/kansai/development/default.nix | 8 + home/ebisu/kansai/development/infrastructure.nix | 8 + .../kansai/development/languages/agnostic.nix | 8 + .../kansai/development/languages/assembly.nix | 9 + .../ebisu/kansai/development/languages/crystal.nix | 9 + .../ebisu/kansai/development/languages/default.nix | 24 + home/ebisu/kansai/development/languages/dotnet.nix | 7 + home/ebisu/kansai/development/languages/gleam.nix | 8 + home/ebisu/kansai/development/languages/go.nix | 5 + .../ebisu/kansai/development/languages/haskell.nix | 14 + .../kansai/development/languages/javascript.nix | 10 + .../kansai/development/languages/jvm/clojure.nix | 9 + .../kansai/development/languages/jvm/default.nix | 12 + .../kansai/development/languages/jvm/scala.nix | 9 + home/ebisu/kansai/development/languages/lisp.nix | 7 + home/ebisu/kansai/development/languages/nim.nix | 8 + home/ebisu/kansai/development/languages/ocaml.nix | 8 + .../kansai/development/languages/protobuf.nix | 4 + home/ebisu/kansai/development/languages/python.nix | 10 + home/ebisu/kansai/development/languages/rust.nix | 21 + home/ebisu/kansai/development/languages/shell.nix | 4 + home/ebisu/kansai/development/languages/swift.nix | 10 + home/ebisu/kansai/development/languages/vlang.nix | 4 + home/ebisu/kansai/development/languages/yaml.nix | 8 + home/ebisu/kansai/development/languages/zig.nix | 14 + home/ebisu/kansai/development/tools/build.nix | 11 + home/ebisu/kansai/development/tools/default.nix | 24 + home/ebisu/kansai/development/tools/git.nix | 13 + .../ebisu/kansai/fortune/communication/catgirl.nix | 22 - .../ebisu/kansai/fortune/communication/default.nix | 13 - .../fortune/communication/discord/default.nix | 4 - .../fortune/communication/discord/vesktop.nix | 649 --------------------- home/ebisu/kansai/fortune/communication/irc.nix | 9 - home/ebisu/kansai/fortune/default.nix | 17 - home/ebisu/kansai/fortune/desktop/clipboard.nix | 7 - home/ebisu/kansai/fortune/desktop/default.nix | 29 - .../kansai/fortune/desktop/hyprland/default.nix | 28 - .../kansai/fortune/desktop/hyprland/hypridle.nix | 35 -- .../desktop/hyprland/hyprland/animations.nix | 84 --- .../fortune/desktop/hyprland/hyprland/binds.nix | 200 ------- .../desktop/hyprland/hyprland/decoration.nix | 43 -- .../fortune/desktop/hyprland/hyprland/default.nix | 34 -- .../desktop/hyprland/hyprland/environment.nix | 16 - .../desktop/hyprland/hyprland/executions.nix | 38 -- .../fortune/desktop/hyprland/hyprland/general.nix | 118 ---- .../fortune/desktop/hyprland/hyprland/plugins.nix | 57 -- .../fortune/desktop/hyprland/hyprland/rules.nix | 79 --- .../desktop/hyprland/hyprland/scripts/common.sh | 146 ----- .../hyprland/scripts/fake_fullscreen_status | 18 - .../hyprland/scripts/move_focus_to_monitor | 9 - .../hyprland/scripts/move_window_to_monitor | 16 - .../hyprland/scripts/move_window_to_workspace | 12 - .../hyprland/scripts/source.bak/screenshot.ab | 158 ----- .../hyprland/hyprland/scripts/switch_workspace | 5 - .../desktop/hyprland/hyprland/scripts/toggle_gaps | 13 - .../hyprland/hyprland/scripts/toggle_layout | 22 - .../desktop/hyprland/hyprland/workspaces.nix | 36 -- .../kansai/fortune/desktop/hyprland/hyprlock.nix | 96 --- .../fortune/desktop/hyprland/hyprlock.nix.bak | 106 ---- .../kansai/fortune/desktop/hyprland/hyprpaper.nix | 13 - .../kansai/fortune/desktop/hyprland/inspo.txt | 4 - home/ebisu/kansai/fortune/desktop/mako.nix | 57 -- home/ebisu/kansai/fortune/desktop/rofi.nix | 35 -- home/ebisu/kansai/fortune/desktop/screenshot.nix | 7 - .../fortune/desktop/waybar/common-modules.nix | 227 ------- .../kansai/fortune/desktop/waybar/default.nix | 112 ---- home/ebisu/kansai/fortune/desktop/waybar/style.css | 134 ----- .../kansai/fortune/desktop/waybar/style.css.bak | 221 ------- home/ebisu/kansai/fortune/desktop/wlogout.nix | 114 ---- home/ebisu/kansai/fortune/development/database.nix | 8 - home/ebisu/kansai/fortune/development/default.nix | 8 - .../kansai/fortune/development/infrastructure.nix | 8 - .../fortune/development/languages/agnostic.nix | 8 - .../fortune/development/languages/assembly.nix | 9 - .../fortune/development/languages/crystal.nix | 9 - .../fortune/development/languages/default.nix | 24 - .../fortune/development/languages/dotnet.nix | 7 - .../kansai/fortune/development/languages/gleam.nix | 8 - .../kansai/fortune/development/languages/go.nix | 5 - .../fortune/development/languages/haskell.nix | 14 - .../fortune/development/languages/javascript.nix | 10 - .../fortune/development/languages/jvm/clojure.nix | 9 - .../fortune/development/languages/jvm/default.nix | 12 - .../fortune/development/languages/jvm/scala.nix | 9 - .../kansai/fortune/development/languages/lisp.nix | 7 - .../kansai/fortune/development/languages/nim.nix | 8 - .../kansai/fortune/development/languages/ocaml.nix | 8 - .../fortune/development/languages/protobuf.nix | 4 - .../fortune/development/languages/python.nix | 10 - .../kansai/fortune/development/languages/rust.nix | 21 - .../kansai/fortune/development/languages/shell.nix | 4 - .../kansai/fortune/development/languages/swift.nix | 10 - .../kansai/fortune/development/languages/vlang.nix | 4 - .../kansai/fortune/development/languages/yaml.nix | 8 - .../kansai/fortune/development/languages/zig.nix | 14 - .../kansai/fortune/development/tools/build.nix | 11 - .../kansai/fortune/development/tools/default.nix | 24 - .../ebisu/kansai/fortune/development/tools/git.nix | 13 - home/ebisu/kansai/fortune/gaming.nix | 13 - .../kansai/fortune/multimedia/audio/default.nix | 18 - .../kansai/fortune/multimedia/audio/spotify.nix | 11 - home/ebisu/kansai/fortune/multimedia/browser.nix | 13 - home/ebisu/kansai/fortune/multimedia/default.nix | 20 - home/ebisu/kansai/fortune/multimedia/document.nix | 13 - home/ebisu/kansai/fortune/multimedia/image.nix | 15 - home/ebisu/kansai/fortune/multimedia/reddit.nix | 7 - .../kansai/fortune/multimedia/video/anime.nix | 7 - .../kansai/fortune/multimedia/video/default.nix | 19 - home/ebisu/kansai/fortune/networking/default.nix | 11 - home/ebisu/kansai/fortune/networking/glance.nix | 388 ------------ home/ebisu/kansai/fortune/networking/i2p.nix | 7 - .../kansai/fortune/networking/smolnet/bollux.nix | 5 - .../kansai/fortune/networking/smolnet/default.nix | 12 - .../kansai/fortune/networking/tools/default.nix | 28 - home/ebisu/kansai/fortune/networking/tools/dns.nix | 9 - .../fortune/networking/tools/http/default.nix | 13 - .../fortune/networking/tools/http/httpie.nix | 7 - .../kansai/fortune/networking/tools/http/wget.nix | 8 - .../kansai/fortune/networking/tools/scanning.nix | 8 - .../kansai/fortune/networking/tools/shark.nix | 7 - home/ebisu/kansai/fortune/scripts/default.nix | 16 - .../kansai/fortune/scripts/scripts/.gitignore | 5 - .../ebisu/kansai/fortune/scripts/scripts/altserver | 12 - home/ebisu/kansai/fortune/scripts/scripts/anidub | 3 - home/ebisu/kansai/fortune/scripts/scripts/anime | 3 - home/ebisu/kansai/fortune/scripts/scripts/apod | 6 - home/ebisu/kansai/fortune/scripts/scripts/catboy | 8 - home/ebisu/kansai/fortune/scripts/scripts/chan2 | 3 - home/ebisu/kansai/fortune/scripts/scripts/fim | 20 - home/ebisu/kansai/fortune/scripts/scripts/gmiwatch | 24 - home/ebisu/kansai/fortune/scripts/scripts/hon | 11 - home/ebisu/kansai/fortune/scripts/scripts/locs | 102 ---- .../fortune/scripts/scripts/neovide-lunarvim | 8 - home/ebisu/kansai/fortune/scripts/scripts/nvfan | 4 - home/ebisu/kansai/fortune/scripts/scripts/reco | 58 -- home/ebisu/kansai/fortune/scripts/scripts/setbg | 75 --- home/ebisu/kansai/fortune/scripts/scripts/shiori | 49 -- home/ebisu/kansai/fortune/scripts/scripts/skyla | 53 -- home/ebisu/kansai/fortune/scripts/scripts/start-vm | 21 - home/ebisu/kansai/fortune/scripts/scripts/tup-init | 25 - home/ebisu/kansai/fortune/scripts/scripts/vivwal | 59 -- home/ebisu/kansai/fortune/scripts/scripts/worlds | 15 - home/ebisu/kansai/fortune/system/default.nix | 15 - home/ebisu/kansai/fortune/system/peripheral.nix | 7 - home/ebisu/kansai/fortune/system/shell/default.nix | 20 - home/ebisu/kansai/fortune/system/shell/fish.nix | 184 ------ .../ebisu/kansai/fortune/system/shell/starship.nix | 304 ---------- home/ebisu/kansai/fortune/system/sops.nix | 22 - home/ebisu/kansai/fortune/system/ssh.nix | 46 -- .../kansai/fortune/system/terminal/default.nix | 12 - home/ebisu/kansai/fortune/system/terminal/foot.nix | 49 -- .../ebisu/kansai/fortune/system/terminal/kitty.nix | 113 ---- home/ebisu/kansai/fortune/system/tracing.nix | 8 - home/ebisu/kansai/fortune/system/variables.nix | 102 ---- .../fortune/system/virtualisation/default.nix | 12 - .../fortune/system/virtualisation/docker.nix | 10 - home/ebisu/kansai/gaming.nix | 13 + home/ebisu/kansai/multimedia/audio/default.nix | 18 + home/ebisu/kansai/multimedia/audio/spotify.nix | 11 + home/ebisu/kansai/multimedia/browser.nix | 13 + home/ebisu/kansai/multimedia/default.nix | 20 + home/ebisu/kansai/multimedia/document.nix | 13 + home/ebisu/kansai/multimedia/image.nix | 15 + home/ebisu/kansai/multimedia/reddit.nix | 7 + home/ebisu/kansai/multimedia/video/anime.nix | 7 + home/ebisu/kansai/multimedia/video/default.nix | 19 + home/ebisu/kansai/networking/default.nix | 11 + home/ebisu/kansai/networking/glance.nix | 388 ++++++++++++ home/ebisu/kansai/networking/i2p.nix | 7 + home/ebisu/kansai/networking/smolnet/bollux.nix | 5 + home/ebisu/kansai/networking/smolnet/default.nix | 12 + home/ebisu/kansai/networking/tools/default.nix | 28 + home/ebisu/kansai/networking/tools/dns.nix | 9 + .../ebisu/kansai/networking/tools/http/default.nix | 13 + home/ebisu/kansai/networking/tools/http/httpie.nix | 7 + home/ebisu/kansai/networking/tools/http/wget.nix | 8 + home/ebisu/kansai/networking/tools/scanning.nix | 8 + home/ebisu/kansai/networking/tools/shark.nix | 7 + home/ebisu/kansai/scripts/default.nix | 16 + home/ebisu/kansai/scripts/scripts/.gitignore | 5 + home/ebisu/kansai/scripts/scripts/altserver | 12 + home/ebisu/kansai/scripts/scripts/anidub | 3 + home/ebisu/kansai/scripts/scripts/anime | 3 + home/ebisu/kansai/scripts/scripts/apod | 6 + home/ebisu/kansai/scripts/scripts/catboy | 8 + home/ebisu/kansai/scripts/scripts/chan2 | 3 + home/ebisu/kansai/scripts/scripts/fim | 20 + home/ebisu/kansai/scripts/scripts/gmiwatch | 24 + home/ebisu/kansai/scripts/scripts/hon | 11 + home/ebisu/kansai/scripts/scripts/locs | 102 ++++ home/ebisu/kansai/scripts/scripts/neovide-lunarvim | 8 + home/ebisu/kansai/scripts/scripts/nvfan | 4 + home/ebisu/kansai/scripts/scripts/reco | 58 ++ home/ebisu/kansai/scripts/scripts/setbg | 75 +++ home/ebisu/kansai/scripts/scripts/shiori | 49 ++ home/ebisu/kansai/scripts/scripts/skyla | 53 ++ home/ebisu/kansai/scripts/scripts/start-vm | 21 + home/ebisu/kansai/scripts/scripts/tup-init | 25 + home/ebisu/kansai/scripts/scripts/vivwal | 59 ++ home/ebisu/kansai/scripts/scripts/worlds | 15 + home/ebisu/kansai/system/default.nix | 15 + home/ebisu/kansai/system/peripheral.nix | 7 + home/ebisu/kansai/system/shell/default.nix | 20 + home/ebisu/kansai/system/shell/fish.nix | 184 ++++++ home/ebisu/kansai/system/shell/starship.nix | 304 ++++++++++ home/ebisu/kansai/system/sops.nix | 22 + home/ebisu/kansai/system/ssh.nix | 46 ++ home/ebisu/kansai/system/terminal/default.nix | 12 + home/ebisu/kansai/system/terminal/foot.nix | 49 ++ home/ebisu/kansai/system/terminal/kitty.nix | 113 ++++ home/ebisu/kansai/system/tracing.nix | 8 + home/ebisu/kansai/system/variables.nix | 102 ++++ .../ebisu/kansai/system/virtualisation/default.nix | 12 + home/ebisu/kansai/system/virtualisation/docker.nix | 10 + 256 files changed, 5459 insertions(+), 5461 deletions(-) create mode 100644 home/ebisu/kansai/communication/catgirl.nix create mode 100644 home/ebisu/kansai/communication/default.nix create mode 100644 home/ebisu/kansai/communication/discord/default.nix create mode 100644 home/ebisu/kansai/communication/discord/vesktop.nix create mode 100644 home/ebisu/kansai/communication/irc.nix create mode 100644 home/ebisu/kansai/desktop/clipboard.nix create mode 100644 home/ebisu/kansai/desktop/default.nix create mode 100644 home/ebisu/kansai/desktop/hyprland/default.nix create mode 100644 home/ebisu/kansai/desktop/hyprland/hypridle.nix create mode 100644 home/ebisu/kansai/desktop/hyprland/hyprland/animations.nix create mode 100644 home/ebisu/kansai/desktop/hyprland/hyprland/binds.nix create mode 100644 home/ebisu/kansai/desktop/hyprland/hyprland/decoration.nix create mode 100644 home/ebisu/kansai/desktop/hyprland/hyprland/default.nix create mode 100644 home/ebisu/kansai/desktop/hyprland/hyprland/environment.nix create mode 100644 home/ebisu/kansai/desktop/hyprland/hyprland/executions.nix create mode 100644 home/ebisu/kansai/desktop/hyprland/hyprland/general.nix create mode 100644 home/ebisu/kansai/desktop/hyprland/hyprland/plugins.nix create mode 100644 home/ebisu/kansai/desktop/hyprland/hyprland/rules.nix create mode 100644 home/ebisu/kansai/desktop/hyprland/hyprland/scripts/common.sh create mode 100755 home/ebisu/kansai/desktop/hyprland/hyprland/scripts/fake_fullscreen_status create mode 100755 home/ebisu/kansai/desktop/hyprland/hyprland/scripts/move_focus_to_monitor create mode 100755 home/ebisu/kansai/desktop/hyprland/hyprland/scripts/move_window_to_monitor create mode 100755 home/ebisu/kansai/desktop/hyprland/hyprland/scripts/move_window_to_workspace create mode 100644 home/ebisu/kansai/desktop/hyprland/hyprland/scripts/source.bak/screenshot.ab create mode 100755 home/ebisu/kansai/desktop/hyprland/hyprland/scripts/switch_workspace create mode 100755 home/ebisu/kansai/desktop/hyprland/hyprland/scripts/toggle_gaps create mode 100755 home/ebisu/kansai/desktop/hyprland/hyprland/scripts/toggle_layout create mode 100644 home/ebisu/kansai/desktop/hyprland/hyprland/workspaces.nix create mode 100644 home/ebisu/kansai/desktop/hyprland/hyprlock.nix create mode 100644 home/ebisu/kansai/desktop/hyprland/hyprlock.nix.bak create mode 100644 home/ebisu/kansai/desktop/hyprland/hyprpaper.nix create mode 100644 home/ebisu/kansai/desktop/hyprland/inspo.txt create mode 100644 home/ebisu/kansai/desktop/mako.nix create mode 100644 home/ebisu/kansai/desktop/rofi.nix create mode 100644 home/ebisu/kansai/desktop/screenshot.nix create mode 100644 home/ebisu/kansai/desktop/waybar/common-modules.nix create mode 100644 home/ebisu/kansai/desktop/waybar/default.nix create mode 100644 home/ebisu/kansai/desktop/waybar/style.css create mode 100644 home/ebisu/kansai/desktop/waybar/style.css.bak create mode 100644 home/ebisu/kansai/desktop/wlogout.nix create mode 100644 home/ebisu/kansai/development/database.nix create mode 100644 home/ebisu/kansai/development/default.nix create mode 100644 home/ebisu/kansai/development/infrastructure.nix create mode 100644 home/ebisu/kansai/development/languages/agnostic.nix create mode 100644 home/ebisu/kansai/development/languages/assembly.nix create mode 100644 home/ebisu/kansai/development/languages/crystal.nix create mode 100644 home/ebisu/kansai/development/languages/default.nix create mode 100644 home/ebisu/kansai/development/languages/dotnet.nix create mode 100644 home/ebisu/kansai/development/languages/gleam.nix create mode 100644 home/ebisu/kansai/development/languages/go.nix create mode 100644 home/ebisu/kansai/development/languages/haskell.nix create mode 100644 home/ebisu/kansai/development/languages/javascript.nix create mode 100644 home/ebisu/kansai/development/languages/jvm/clojure.nix create mode 100644 home/ebisu/kansai/development/languages/jvm/default.nix create mode 100644 home/ebisu/kansai/development/languages/jvm/scala.nix create mode 100644 home/ebisu/kansai/development/languages/lisp.nix create mode 100644 home/ebisu/kansai/development/languages/nim.nix create mode 100644 home/ebisu/kansai/development/languages/ocaml.nix create mode 100644 home/ebisu/kansai/development/languages/protobuf.nix create mode 100644 home/ebisu/kansai/development/languages/python.nix create mode 100644 home/ebisu/kansai/development/languages/rust.nix create mode 100644 home/ebisu/kansai/development/languages/shell.nix create mode 100644 home/ebisu/kansai/development/languages/swift.nix create mode 100644 home/ebisu/kansai/development/languages/vlang.nix create mode 100644 home/ebisu/kansai/development/languages/yaml.nix create mode 100644 home/ebisu/kansai/development/languages/zig.nix create mode 100644 home/ebisu/kansai/development/tools/build.nix create mode 100644 home/ebisu/kansai/development/tools/default.nix create mode 100644 home/ebisu/kansai/development/tools/git.nix delete mode 100644 home/ebisu/kansai/fortune/communication/catgirl.nix delete mode 100644 home/ebisu/kansai/fortune/communication/default.nix delete mode 100644 home/ebisu/kansai/fortune/communication/discord/default.nix delete mode 100644 home/ebisu/kansai/fortune/communication/discord/vesktop.nix delete mode 100644 home/ebisu/kansai/fortune/communication/irc.nix delete mode 100644 home/ebisu/kansai/fortune/default.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/clipboard.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/default.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/hyprland/default.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/hyprland/hypridle.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/animations.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/binds.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/decoration.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/default.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/environment.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/executions.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/general.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/plugins.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/rules.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/common.sh delete mode 100755 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/fake_fullscreen_status delete mode 100755 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/move_focus_to_monitor delete mode 100755 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/move_window_to_monitor delete mode 100755 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/move_window_to_workspace delete mode 100644 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/source.bak/screenshot.ab delete mode 100755 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/switch_workspace delete mode 100755 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/toggle_gaps delete mode 100755 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/toggle_layout delete mode 100644 home/ebisu/kansai/fortune/desktop/hyprland/hyprland/workspaces.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/hyprland/hyprlock.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/hyprland/hyprlock.nix.bak delete mode 100644 home/ebisu/kansai/fortune/desktop/hyprland/hyprpaper.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/hyprland/inspo.txt delete mode 100644 home/ebisu/kansai/fortune/desktop/mako.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/rofi.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/screenshot.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/waybar/common-modules.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/waybar/default.nix delete mode 100644 home/ebisu/kansai/fortune/desktop/waybar/style.css delete mode 100644 home/ebisu/kansai/fortune/desktop/waybar/style.css.bak delete mode 100644 home/ebisu/kansai/fortune/desktop/wlogout.nix delete mode 100644 home/ebisu/kansai/fortune/development/database.nix delete mode 100644 home/ebisu/kansai/fortune/development/default.nix delete mode 100644 home/ebisu/kansai/fortune/development/infrastructure.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/agnostic.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/assembly.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/crystal.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/default.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/dotnet.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/gleam.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/go.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/haskell.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/javascript.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/jvm/clojure.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/jvm/default.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/jvm/scala.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/lisp.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/nim.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/ocaml.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/protobuf.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/python.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/rust.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/shell.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/swift.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/vlang.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/yaml.nix delete mode 100644 home/ebisu/kansai/fortune/development/languages/zig.nix delete mode 100644 home/ebisu/kansai/fortune/development/tools/build.nix delete mode 100644 home/ebisu/kansai/fortune/development/tools/default.nix delete mode 100644 home/ebisu/kansai/fortune/development/tools/git.nix delete mode 100644 home/ebisu/kansai/fortune/gaming.nix delete mode 100644 home/ebisu/kansai/fortune/multimedia/audio/default.nix delete mode 100644 home/ebisu/kansai/fortune/multimedia/audio/spotify.nix delete mode 100644 home/ebisu/kansai/fortune/multimedia/browser.nix delete mode 100644 home/ebisu/kansai/fortune/multimedia/default.nix delete mode 100644 home/ebisu/kansai/fortune/multimedia/document.nix delete mode 100644 home/ebisu/kansai/fortune/multimedia/image.nix delete mode 100644 home/ebisu/kansai/fortune/multimedia/reddit.nix delete mode 100644 home/ebisu/kansai/fortune/multimedia/video/anime.nix delete mode 100644 home/ebisu/kansai/fortune/multimedia/video/default.nix delete mode 100644 home/ebisu/kansai/fortune/networking/default.nix delete mode 100644 home/ebisu/kansai/fortune/networking/glance.nix delete mode 100644 home/ebisu/kansai/fortune/networking/i2p.nix delete mode 100644 home/ebisu/kansai/fortune/networking/smolnet/bollux.nix delete mode 100644 home/ebisu/kansai/fortune/networking/smolnet/default.nix delete mode 100644 home/ebisu/kansai/fortune/networking/tools/default.nix delete mode 100644 home/ebisu/kansai/fortune/networking/tools/dns.nix delete mode 100644 home/ebisu/kansai/fortune/networking/tools/http/default.nix delete mode 100644 home/ebisu/kansai/fortune/networking/tools/http/httpie.nix delete mode 100644 home/ebisu/kansai/fortune/networking/tools/http/wget.nix delete mode 100644 home/ebisu/kansai/fortune/networking/tools/scanning.nix delete mode 100644 home/ebisu/kansai/fortune/networking/tools/shark.nix delete mode 100644 home/ebisu/kansai/fortune/scripts/default.nix delete mode 100644 home/ebisu/kansai/fortune/scripts/scripts/.gitignore delete mode 100755 home/ebisu/kansai/fortune/scripts/scripts/altserver delete mode 100755 home/ebisu/kansai/fortune/scripts/scripts/anidub delete mode 100755 home/ebisu/kansai/fortune/scripts/scripts/anime delete mode 100755 home/ebisu/kansai/fortune/scripts/scripts/apod delete mode 100755 home/ebisu/kansai/fortune/scripts/scripts/catboy delete mode 100755 home/ebisu/kansai/fortune/scripts/scripts/chan2 delete mode 100755 home/ebisu/kansai/fortune/scripts/scripts/fim delete mode 100755 home/ebisu/kansai/fortune/scripts/scripts/gmiwatch delete mode 100755 home/ebisu/kansai/fortune/scripts/scripts/hon delete mode 100755 home/ebisu/kansai/fortune/scripts/scripts/locs delete mode 100644 home/ebisu/kansai/fortune/scripts/scripts/neovide-lunarvim delete mode 100755 home/ebisu/kansai/fortune/scripts/scripts/nvfan delete mode 100755 home/ebisu/kansai/fortune/scripts/scripts/reco delete mode 100755 home/ebisu/kansai/fortune/scripts/scripts/setbg delete mode 100755 home/ebisu/kansai/fortune/scripts/scripts/shiori delete mode 100755 home/ebisu/kansai/fortune/scripts/scripts/skyla delete mode 100755 home/ebisu/kansai/fortune/scripts/scripts/start-vm delete mode 100644 home/ebisu/kansai/fortune/scripts/scripts/tup-init delete mode 100755 home/ebisu/kansai/fortune/scripts/scripts/vivwal delete mode 100755 home/ebisu/kansai/fortune/scripts/scripts/worlds delete mode 100644 home/ebisu/kansai/fortune/system/default.nix delete mode 100644 home/ebisu/kansai/fortune/system/peripheral.nix delete mode 100644 home/ebisu/kansai/fortune/system/shell/default.nix delete mode 100644 home/ebisu/kansai/fortune/system/shell/fish.nix delete mode 100644 home/ebisu/kansai/fortune/system/shell/starship.nix delete mode 100644 home/ebisu/kansai/fortune/system/sops.nix delete mode 100644 home/ebisu/kansai/fortune/system/ssh.nix delete mode 100644 home/ebisu/kansai/fortune/system/terminal/default.nix delete mode 100644 home/ebisu/kansai/fortune/system/terminal/foot.nix delete mode 100644 home/ebisu/kansai/fortune/system/terminal/kitty.nix delete mode 100644 home/ebisu/kansai/fortune/system/tracing.nix delete mode 100644 home/ebisu/kansai/fortune/system/variables.nix delete mode 100644 home/ebisu/kansai/fortune/system/virtualisation/default.nix delete mode 100644 home/ebisu/kansai/fortune/system/virtualisation/docker.nix create mode 100644 home/ebisu/kansai/gaming.nix create mode 100644 home/ebisu/kansai/multimedia/audio/default.nix create mode 100644 home/ebisu/kansai/multimedia/audio/spotify.nix create mode 100644 home/ebisu/kansai/multimedia/browser.nix create mode 100644 home/ebisu/kansai/multimedia/default.nix create mode 100644 home/ebisu/kansai/multimedia/document.nix create mode 100644 home/ebisu/kansai/multimedia/image.nix create mode 100644 home/ebisu/kansai/multimedia/reddit.nix create mode 100644 home/ebisu/kansai/multimedia/video/anime.nix create mode 100644 home/ebisu/kansai/multimedia/video/default.nix create mode 100644 home/ebisu/kansai/networking/default.nix create mode 100644 home/ebisu/kansai/networking/glance.nix create mode 100644 home/ebisu/kansai/networking/i2p.nix create mode 100644 home/ebisu/kansai/networking/smolnet/bollux.nix create mode 100644 home/ebisu/kansai/networking/smolnet/default.nix create mode 100644 home/ebisu/kansai/networking/tools/default.nix create mode 100644 home/ebisu/kansai/networking/tools/dns.nix create mode 100644 home/ebisu/kansai/networking/tools/http/default.nix create mode 100644 home/ebisu/kansai/networking/tools/http/httpie.nix create mode 100644 home/ebisu/kansai/networking/tools/http/wget.nix create mode 100644 home/ebisu/kansai/networking/tools/scanning.nix create mode 100644 home/ebisu/kansai/networking/tools/shark.nix create mode 100644 home/ebisu/kansai/scripts/default.nix create mode 100644 home/ebisu/kansai/scripts/scripts/.gitignore create mode 100755 home/ebisu/kansai/scripts/scripts/altserver create mode 100755 home/ebisu/kansai/scripts/scripts/anidub create mode 100755 home/ebisu/kansai/scripts/scripts/anime create mode 100755 home/ebisu/kansai/scripts/scripts/apod create mode 100755 home/ebisu/kansai/scripts/scripts/catboy create mode 100755 home/ebisu/kansai/scripts/scripts/chan2 create mode 100755 home/ebisu/kansai/scripts/scripts/fim create mode 100755 home/ebisu/kansai/scripts/scripts/gmiwatch create mode 100755 home/ebisu/kansai/scripts/scripts/hon create mode 100755 home/ebisu/kansai/scripts/scripts/locs create mode 100644 home/ebisu/kansai/scripts/scripts/neovide-lunarvim create mode 100755 home/ebisu/kansai/scripts/scripts/nvfan create mode 100755 home/ebisu/kansai/scripts/scripts/reco create mode 100755 home/ebisu/kansai/scripts/scripts/setbg create mode 100755 home/ebisu/kansai/scripts/scripts/shiori create mode 100755 home/ebisu/kansai/scripts/scripts/skyla create mode 100755 home/ebisu/kansai/scripts/scripts/start-vm create mode 100644 home/ebisu/kansai/scripts/scripts/tup-init create mode 100755 home/ebisu/kansai/scripts/scripts/vivwal create mode 100755 home/ebisu/kansai/scripts/scripts/worlds create mode 100644 home/ebisu/kansai/system/default.nix create mode 100644 home/ebisu/kansai/system/peripheral.nix create mode 100644 home/ebisu/kansai/system/shell/default.nix create mode 100644 home/ebisu/kansai/system/shell/fish.nix create mode 100644 home/ebisu/kansai/system/shell/starship.nix create mode 100644 home/ebisu/kansai/system/sops.nix create mode 100644 home/ebisu/kansai/system/ssh.nix create mode 100644 home/ebisu/kansai/system/terminal/default.nix create mode 100644 home/ebisu/kansai/system/terminal/foot.nix create mode 100644 home/ebisu/kansai/system/terminal/kitty.nix create mode 100644 home/ebisu/kansai/system/tracing.nix create mode 100644 home/ebisu/kansai/system/variables.nix create mode 100644 home/ebisu/kansai/system/virtualisation/default.nix create mode 100644 home/ebisu/kansai/system/virtualisation/docker.nix diff --git a/home/ebisu/kansai/communication/catgirl.nix b/home/ebisu/kansai/communication/catgirl.nix new file mode 100644 index 0000000..dc5ce6f --- /dev/null +++ b/home/ebisu/kansai/communication/catgirl.nix @@ -0,0 +1,22 @@ +{ + pkgs, + secrets, + config, + ... +}: +{ + home.packages = [ pkgs.catgirl ]; + + sops.secrets = + let + catgirlSecrets = secrets.catgirl; + in + builtins.listToAttrs ( + map (i: { + name = "catgirl/${toString i}"; + value = { + path = "${config.xdg.configHome}/catgirl/${catgirlSecrets.${toString i}}"; + }; + }) (pkgs.lib.range 0 3) + ); +} diff --git a/home/ebisu/kansai/communication/default.nix b/home/ebisu/kansai/communication/default.nix new file mode 100644 index 0000000..a6d40b1 --- /dev/null +++ b/home/ebisu/kansai/communication/default.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: +{ + imports = [ + ./discord + ./irc.nix + ]; + + home.packages = with pkgs; [ + revolt-desktop + newsboat + pidgin + ]; +} diff --git a/home/ebisu/kansai/communication/discord/default.nix b/home/ebisu/kansai/communication/discord/default.nix new file mode 100644 index 0000000..a978822 --- /dev/null +++ b/home/ebisu/kansai/communication/discord/default.nix @@ -0,0 +1,4 @@ +{ + imports = [ ./vesktop.nix ]; + # home.packages = with pkgs; [ pkgs.discord-canary ]; +} diff --git a/home/ebisu/kansai/communication/discord/vesktop.nix b/home/ebisu/kansai/communication/discord/vesktop.nix new file mode 100644 index 0000000..50d788f --- /dev/null +++ b/home/ebisu/kansai/communication/discord/vesktop.nix @@ -0,0 +1,649 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ vesktop ]; + services.arrpc.enable = false; + + xdg.configFile = { + "vesktop/settings.json".text = '' + { + "discordBranch": "canary", + "arRPC": "on", + "splashColor": "rgba(255, 255, 255, 0.6)", + "splashBackground": "rgba(21, 14, 13, 0.52)", + "enableMenu": false, + "splashTheming": true, + "staticTitle": false, + "disableMinSize": true, + "minimizeToTray": false, + "tray": false, + "appBadge": false + } + ''; + + "vesktop/settings/quickCss.css".text = '' + /** + * @name Dark Matter + * @author Tropical#8908, Hammock#3110 + * @version 3.0.0 + * @description A cold, dark & frosty theme. + * @source https://github.com/DiscordStyles/DarkMatter/ + */ + + @import url('https://DiscordStyles.github.io/DarkMatter/src/base.css'); + + /* Variables */ + :root { + --avatar-size: 32px; + --background-image: url('https://images6.alphacoders.com/109/1093313.jpg'); + --home-image: url('https://shinobu.fuwn.workers.dev/shinobu'); + --background-solid: #150e0d85; + --background-solid-dark: #0f0a0985; + --background-solid-darker: #0b070685; + --accent: 216, 161, 110; + --accent-alt: 196, 141, 90; + } + ''; + + "vesktop/settings/settings.json".text = '' + { + "notifyAboutUpdates": true, + "autoUpdate": true, + "autoUpdateNotification": true, + "useQuickCss": true, + "themeLinks": [], + "enabledThemes": [], + "enableReactDevtools": true, + "frameless": true, + "transparent": false, + "winCtrlQ": false, + "macosTranslucency": false, + "disableMinSize": false, + "winNativeTitleBar": false, + "plugins": { + "BadgeAPI": { + "enabled": true + }, + "CommandsAPI": { + "enabled": true + }, + "ContextMenuAPI": { + "enabled": true + }, + "MemberListDecoratorsAPI": { + "enabled": true + }, + "MessageAccessoriesAPI": { + "enabled": true + }, + "MessageDecorationsAPI": { + "enabled": true + }, + "MessageEventsAPI": { + "enabled": true + }, + "MessagePopoverAPI": { + "enabled": true + }, + "NoticesAPI": { + "enabled": true + }, + "ServerListAPI": { + "enabled": true + }, + "NoTrack": { + "enabled": true + }, + "Settings": { + "enabled": true, + "settingsLocation": "aboveActivity" + }, + "SupportHelper": { + "enabled": true + }, + "AlwaysAnimate": { + "enabled": true + }, + "AlwaysTrust": { + "enabled": true + }, + "AnonymiseFileNames": { + "enabled": true, + "method": 0, + "randomisedLength": 7, + "consistent": "image" + }, + "WebRichPresence (arRPC)": { + "enabled": true + }, + "BANger": { + "enabled": false + }, + "BetterFolders": { + "enabled": false, + "sidebar": true, + "showFolderIcon": 1, + "closeAllHomeButton": false, + "keepIcons": false, + "sidebarAnim": true, + "closeOthers": false, + "closeAllFolders": false, + "forceOpen": false + }, + "BetterGifAltText": { + "enabled": true + }, + "BetterNotesBox": { + "enabled": false + }, + "BetterRoleDot": { + "enabled": false + }, + "BetterUploadButton": { + "enabled": true + }, + "BiggerStreamPreview": { + "enabled": true + }, + "BlurNSFW": { + "enabled": false + }, + "CallTimer": { + "enabled": true, + "format": "human" + }, + "ClearURLs": { + "enabled": true + }, + "ColorSighted": { + "enabled": true + }, + "ConsoleShortcuts": { + "enabled": false + }, + "CopyUserURLs": { + "enabled": true + }, + "CrashHandler": { + "enabled": true, + "attemptToPreventCrashes": true, + "attemptToNavigateToHome": true + }, + "CustomRPC": { + "enabled": false + }, + "Dearrow": { + "enabled": true + }, + "EmoteCloner": { + "enabled": true + }, + "Experiments": { + "enabled": true, + "enableIsStaff": false + }, + "F8Break": { + "enabled": false + }, + "FakeNitro": { + "enabled": false, + "enableEmojiBypass": true, + "emojiSize": 48, + "transformEmojis": true, + "enableStickerBypass": true, + "stickerSize": 160, + "transformStickers": true, + "transformCompoundSentence": false, + "enableStreamQualityBypass": true + }, + "FakeProfileThemes": { + "enabled": false + }, + "FavoriteEmojiFirst": { + "enabled": true + }, + "FavoriteGifSearch": { + "enabled": true + }, + "FixSpotifyEmbeds": { + "enabled": true, + "volume": 5 + }, + "ForceOwnerCrown": { + "enabled": false + }, + "FriendInvites": { + "enabled": false + }, + "GameActivityToggle": { + "enabled": true + }, + "GifPaste": { + "enabled": false + }, + "GreetStickerPicker": { + "enabled": true + }, + "HideAttachments": { + "enabled": false + }, + "iLoveSpam": { + "enabled": false + }, + "IgnoreActivities": { + "enabled": false + }, + "ImageZoom": { + "enabled": true, + "saveZoomValues": true, + "invertScroll": true, + "nearestNeighbour": false, + "square": false, + "zoom": 2, + "size": 100, + "zoomSpeed": 0.5 + }, + "InvisibleChat": { + "enabled": true, + "savedPasswords": "password, Password" + }, + "KeepCurrentChannel": { + "enabled": false + }, + "LastFMRichPresence": { + "enabled": false + }, + "LoadingQuotes": { + "enabled": true, + "replaceEvents": true + }, + "MemberCount": { + "enabled": true + }, + "MessageClickActions": { + "enabled": false + }, + "MessageLinkEmbeds": { + "enabled": true, + "automodEmbeds": "never", + "listMode": "blacklist", + "idList": "" + }, + "MessageLogger": { + "enabled": true, + "deleteStyle": "text", + "ignoreBots": false, + "ignoreSelf": false, + "ignoreUsers": "", + "ignoreChannels": "", + "ignoreGuilds": "" + }, + "MessageTags": { + "enabled": false + }, + "MoreCommands": { + "enabled": true + }, + "MoreKaomoji": { + "enabled": true + }, + "MoreUserTags": { + "enabled": false + }, + "Moyai": { + "enabled": false, + "volume": 0.5, + "quality": "Normal", + "triggerWhenUnfocused": true, + "ignoreBots": true, + "ignoreBlocked": true + }, + "MutualGroupDMs": { + "enabled": true + }, + "NoBlockedMessages": { + "enabled": false + }, + "NoDevtoolsWarning": { + "enabled": true + }, + "NoF1": { + "enabled": true + }, + "NoMosaic": { + "enabled": false + }, + "NoPendingCount": { + "enabled": false + }, + "NoProfileThemes": { + "enabled": false + }, + "NoReplyMention": { + "enabled": false + }, + "NoScreensharePreview": { + "enabled": true + }, + "NoTypingAnimation": { + "enabled": true + }, + "NoUnblockToJump": { + "enabled": true + }, + "NormalizeMessageLinks": { + "enabled": true + }, + "NSFWGateBypass": { + "enabled": false + }, + "OnePingPerDM": { + "enabled": true, + "channelToAffect": "both_dms", + "allowMentions": false, + "allowEveryone": false + }, + "oneko": { + "enabled": true + }, + "OpenInApp": { + "enabled": false + }, + "PermissionFreeWill": { + "enabled": false + }, + "PermissionsViewer": { + "enabled": true, + "permissionsSortOrder": 0, + "defaultPermissionsDropdownState": false + }, + "petpet": { + "enabled": true + }, + "PictureInPicture": { + "enabled": false + }, + "PinDMs": { + "enabled": false + }, + "PlainFolderIcon": { + "enabled": false + }, + "PlatformIndicators": { + "enabled": true, + "list": true, + "badges": true, + "messages": true, + "colorMobileIndicator": true + }, + "PreviewMessage": { + "enabled": false + }, + "PronounDB": { + "enabled": true, + "pronounsFormat": "LOWERCASE", + "pronounSource": 0, + "showSelf": true, + "showInMessages": true, + "showInProfile": true + }, + "QuickMention": { + "enabled": false + }, + "QuickReply": { + "enabled": false + }, + "ReactErrorDecoder": { + "enabled": true + }, + "ReadAllNotificationsButton": { + "enabled": true + }, + "RelationshipNotifier": { + "enabled": true, + "offlineRemovals": true, + "groups": true, + "servers": true, + "notices": false, + "friends": true, + "friendRequestCancels": true + }, + "RevealAllSpoilers": { + "enabled": false + }, + "ReverseImageSearch": { + "enabled": true + }, + "RoleColorEverywhere": { + "enabled": true, + "chatMentions": true, + "memberList": true, + "voiceUsers": true + }, + "SearchReply": { + "enabled": true + }, + "SecretRingToneEnabler": { + "enabled": true + }, + "SendTimestamps": { + "enabled": false + }, + "ServerListIndicators": { + "enabled": true, + "mode": 2 + }, + "ShikiCodeblocks": { + "enabled": true, + "theme": "https://raw.githubusercontent.com/shikijs/shiki/0b28ad8ccfbf2615f2d9d38ea8255416b8ac3043/packages/shiki/themes/dark-plus.json", + "tryHljs": "SECONDARY", + "useDevIcon": "GREYSCALE", + "bgOpacity": 100 + }, + "ShowAllMessageButtons": { + "enabled": false + }, + "ShowConnections": { + "enabled": true, + "iconSpacing": 1, + "iconSize": 32 + }, + "ShowHiddenChannels": { + "enabled": true, + "hideUnreads": true, + "showMode": 0, + "defaultAllowedUsersAndRolesDropdownState": true + }, + "ShowMeYourName": { + "enabled": true, + "mode": "nick-user", + "displayNames": false, + "inReplies": false + }, + "SilentMessageToggle": { + "enabled": false + }, + "SilentTyping": { + "enabled": true, + "showIcon": true, + "isEnabled": true + }, + "SortFriendRequests": { + "enabled": true, + "showDates": true + }, + "SpotifyControls": { + "enabled": true, + "hoverControls": true, + "useSpotifyUris": true + }, + "SpotifyCrack": { + "enabled": true, + "noSpotifyAutoPause": true, + "keepSpotifyActivityOnIdle": false + }, + "SpotifyShareCommands": { + "enabled": true + }, + "StartupTimings": { + "enabled": true + }, + "TextReplace": { + "enabled": false + }, + "ThemeAttributes": { + "enabled": false + }, + "TimeBarAllActivities": { + "enabled": false + }, + "Translate": { + "enabled": true, + "autoTranslate": false + }, + "TypingIndicator": { + "enabled": false + }, + "TypingTweaks": { + "enabled": false + }, + "Unindent": { + "enabled": false + }, + "UnsuppressEmbeds": { + "enabled": false + }, + "UrbanDictionary": { + "enabled": false + }, + "UserVoiceShow": { + "enabled": true + }, + "USRBG": { + "enabled": false, + "nitroFirst": true, + "voiceBackground": true + }, + "ValidUser": { + "enabled": false + }, + "VoiceChatDoubleClick": { + "enabled": true + }, + "VcNarrator": { + "enabled": false + }, + "VencordToolbox": { + "enabled": false + }, + "ViewIcons": { + "enabled": false + }, + "ViewRaw": { + "enabled": false + }, + "VoiceMessages": { + "enabled": false + }, + "WebContextMenus": { + "enabled": true, + "addBack": true + }, + "WebKeybinds": { + "enabled": true + }, + "WhoReacted": { + "enabled": false + }, + "Wikisearch": { + "enabled": false + }, + "SuperReactionTweaks": { + "enabled": false + }, + "ChatInputButtonAPI": { + "enabled": true + }, + "BetterGifPicker": { + "enabled": false + }, + "ClientTheme": { + "enabled": false + }, + "Decor": { + "enabled": false + }, + "FixCodeblockGap": { + "enabled": false + }, + "FixYoutubeEmbeds": { + "enabled": false + }, + "DisableCallIdle": { + "enabled": true + }, + "NewGuildSettings": { + "enabled": true, + "guild": true, + "everyone": true, + "role": true + }, + "ShowHiddenThings": { + "enabled": false + }, + "PartyMode": { + "enabled": false, + "superIntensePartyMode": 0 + }, + "MessageUpdaterAPI": { + "enabled": true + }, + "AutomodContext": { + "enabled": false + }, + "BetterRoleContext": { + "enabled": false + }, + "BetterSessions": { + "enabled": false + }, + "BetterSettings": { + "enabled": false + }, + "CtrlEnterSend": { + "enabled": false + }, + "CustomIdle": { + "enabled": false + }, + "DontRoundMyTimestamps": { + "enabled": false + }, + "FriendsSince": { + "enabled": false + }, + "ImageLink": { + "enabled": false + }, + "ImplicitRelationships": { + "enabled": false + }, + "ServerInfo": { + "enabled": true + } + }, + "notifications": { + "timeout": 5000, + "position": "bottom-right", + "useNative": "not-focused", + "logLimit": 50 + }, + "cloud": { + "authenticated": false, + "url": "https://api.vencord.dev/", + "settingsSync": false, + "settingsSyncVersion": 1717817629006 + } + } + ''; + }; +} diff --git a/home/ebisu/kansai/communication/irc.nix b/home/ebisu/kansai/communication/irc.nix new file mode 100644 index 0000000..81ce13e --- /dev/null +++ b/home/ebisu/kansai/communication/irc.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: +{ + imports = [ ./catgirl.nix ]; + + home.packages = with pkgs; [ + litterbox + pounce + ]; +} diff --git a/home/ebisu/kansai/default.nix b/home/ebisu/kansai/default.nix index cbc1a81..0eb0e8b 100644 --- a/home/ebisu/kansai/default.nix +++ b/home/ebisu/kansai/default.nix @@ -1,11 +1,26 @@ { config, + inputs, pkgs, self, ... }: { - imports = [ ./fortune ]; + imports = [ + ./communication + ./desktop + ./development + ./multimedia + ./networking + ./scripts + ./system + ./gaming.nix + ]; + pywal-nix.wallpaper = "${self}/home/${config.home.username}/shared/wallpaper.png"; nix.package = pkgs.nix; + + home.packages = [ + inputs.notion-repackaged.packages.${pkgs.system}.notion-repackaged + ]; } diff --git a/home/ebisu/kansai/desktop/clipboard.nix b/home/ebisu/kansai/desktop/clipboard.nix new file mode 100644 index 0000000..0f99fcd --- /dev/null +++ b/home/ebisu/kansai/desktop/clipboard.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + wl-clipboard + cliphist + ]; +} diff --git a/home/ebisu/kansai/desktop/default.nix b/home/ebisu/kansai/desktop/default.nix new file mode 100644 index 0000000..02a4395 --- /dev/null +++ b/home/ebisu/kansai/desktop/default.nix @@ -0,0 +1,29 @@ +{ pkgs, ... }: +{ + imports = [ + ./hyprland + ./waybar + ./clipboard.nix + ./mako.nix + ./rofi.nix + ./screenshot.nix + ./wlogout.nix + ]; + + home.packages = with pkgs; [ + gammastep + wlr-randr + ydotool + swappy + swww + hyprpicker + tsutsumi.swaddle + showmethekey + brightnessctl + bibata-cursors + xorg.xlsclients + libnotify + wayneko + activate-linux + ]; +} diff --git a/home/ebisu/kansai/desktop/hyprland/default.nix b/home/ebisu/kansai/desktop/hyprland/default.nix new file mode 100644 index 0000000..2e9546e --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/default.nix @@ -0,0 +1,28 @@ +{ inputs, pkgs, ... }: +{ + imports = [ + ./hypridle.nix + ./hyprland + ./hyprlock.nix + # ./hyprpaper.nix + ]; + + wayland.windowManager.hyprland = with inputs; { + enable = true; + package = hyprland.packages.${pkgs.system}.hyprland; + xwayland.enable = true; + + systemd = { + enable = true; + + variables = [ "--all" ]; + }; + }; + + xdg.configFile."hypr/xdph.conf".text = '' + screencopy { + # max_fps = 120 + allow_token_by_default = true + } + ''; +} diff --git a/home/ebisu/kansai/desktop/hyprland/hypridle.nix b/home/ebisu/kansai/desktop/hyprland/hypridle.nix new file mode 100644 index 0000000..d1b0835 --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hypridle.nix @@ -0,0 +1,35 @@ +{ pkgs, ... }: +{ + services.hypridle = { + enable = true; + + settings = { + "$lock_command" = "pidof ${pkgs.hyprlock}/bin/hyprlock || ${pkgs.hyprlock}/bin/hyprlock"; + # $suspend_command = pidof steam || systemctl suspend || loginctl suspend + + general = { + lock_cmd = "$lock_command"; + # before_sleep_cmd = $suspend_command + before_sleep_cmd = "${pkgs.playerctl}/bin/playerctl pause"; + ignore_dbus_inhibit = false; + ignore_systemd_inhibit = false; + }; + + listener = [ + { + timeout = 180; # 3 minutes + on-timeout = "$lock_command"; + } + { + timeout = 240; # 4 minutes + on-timeout = "hyprctl dispatch dpms off"; + on-resume = "hyprctl dispatch dpms on"; + } + # { + # timeout = 540; # 9 minutes + # on-timeout = "$suspend_cmd"; + # } + ]; + }; + }; +} diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/animations.nix b/home/ebisu/kansai/desktop/hyprland/hyprland/animations.nix new file mode 100644 index 0000000..a61026d --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/animations.nix @@ -0,0 +1,84 @@ +{ + wayland.windowManager.hyprland.extraConfig = '' + # animations { + # enabled = yes + + # # bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + # # animation = windows, 1, 5, myBezier + # # animation = windowsOut, 1, 7, default, popin + # # animation = border, 1, 10, default + # # animation = fade, 1, 7, default + # # animation = workspaces, 1, 6, default, slidevert + + # # bezier = overshot,0.5,0.1,0.4,1.2 + + # # animation = global, 1, 3, default + # # animation = workspaces, 1, 4, default + # # animation = windowsMove, 1, 2, default + # # animation = fade, 1, 2, default + + # bezier = overshot, 0.05, 0.5, 0.1, 1.05 + # bezier = smoothOut, 0.36, 0, 0.66, -0.56 + # bezier = smoothIn, 0.25, 0.8, 0.5, 1 + + # animation = windows, 1, 5, overshot, slide + # animation = windowsOut, 1, 4, smoothOut, slide + # animation = windowsMove, 1, 4, default + # animation = border, 1, 10, default + # animation = fade, 1, 10, smoothIn + # animation = fadeDim, 1, 10, smoothIn + # animation = workspaces, 1, 6, default + # } + + bezier = smoothIn, 0.25, 1, 0.5, 1 + bezier = wind, 0.05, 0.9, 0.1, 1.06 + bezier = winIn, 0.1, 1.1, 0.1, 1.05 + bezier = linear, 1, 1, 1, 1 + + animations { + enabled = yes + + # buttery_smoooooooth... (slide) + # animation = windows, 1, 5, default, slide + # animation = windowsOut, 1, 8, smoothIn, slide + # animation = windowsMove, 1, 7, default + # animation = fade, 1, 5, smoothIn + # animation = fadeOut, 1, 4, smoothIn + # animation = fadeDim, 1, 3, smoothIn + # animation = workspaces, 1, 5, default, slidefadevert + # animation = specialWorkspace, 1, 5, default, fade + + # buttery_smoooooooth... (Popin...) + # animation = windows, 1, 3, default, popin 70% + # animation = windowsOut, 1, 20, default, popin 85% + # animation = windowsMove, 1, 7, default + # animation = fade, 1, 6, smoothIn + # animation = fadeOut, 1, 3, smoothIn + # animation = fadeDim, 1, 3, smoothIn + # animation = workspaces, 1, 5, wind, slidefadevert 40% + + # fasssstt popin + animation = windows, 1, 2, default, popin 80% + animation = windowsOut, 1, 5, default, popin 90% + animation = windowsMove, 1, 5, default + animation = layers, 1, 3, default, popin 90% + animation = fade, 1, 4, smoothIn + animation = fadeOut, 1, 2, smoothIn + animation = fadeDim, 1, 3, smoothIn + animation = workspaces, 1, 3, default, slidefadevert 15% + animation = specialWorkspace, 1, 3, default, slidefadevert 15% + + # Random... + # animation = windows, 1, 5, wind, slide + # animation = windowsIn, 1, 4, winIn, slide + # animation = windowsOut, 1 , 7, smoothIn, slide + # animation = windowsMove, 1, 6, default + # animation = fade, 1, 5, smoothIn + # animation = fadeOut, 1, 3, smoothIn + # animation = fadeDim, 1, 3, smoothIn + # animation = workspaces, 1, 4, wind, slidefadevert 15% + # animation = specialWorkspace, 1, 3, default, slidefadevert 15% + } + ''; +} diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/binds.nix b/home/ebisu/kansai/desktop/hyprland/hyprland/binds.nix new file mode 100644 index 0000000..692b17c --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/binds.nix @@ -0,0 +1,200 @@ +{ pkgs, config, ... }: +{ + wayland.windowManager.hyprland = { + settings = { + "$mod" = "SUPER"; + "$mail" = "${pkgs.mailspring}/bin/mailspring --password-store=\"gnome-libsecret\" --enable-features=UseOzonePlatform --ozone-platform=wayland"; + "$script_path" = "${config.xdg.configHome}/hypr/hyprland/scripts"; + "$terminal" = "${pkgs.kitty}/bin/kitty"; + "$top" = "$terminal -e rofi -modi top -show top"; # "$terminal -e htop" + + bind = + builtins.concatLists ( + builtins.genList ( + x: + let + ws = + let + c = (x + 1) / 10; + in + builtins.toString (x + 1 - (c * 10)); + in + [ + # Switch pseudo-tag (workspaces) + "$mod, ${ws}, exec, $script_path/switch_workspace ${toString (x + 1)}" + # "$mod, ${ws}, split-workspace, ${toString (x + 1)}" + + # Move window to pseudo-tag (workspace) + "$mod SHIFT, ${ws}, exec, $script_path/move_window_to_workspace ${toString (x + 1)}" + # "$mod SHIFT, ${ws}, split-movetoworkspacesilent, ${toString (x + 1)}" + ] + ) 10 + ) + ++ [ + # Scratchpads + # "$mod, apostrophe, exec, hyprctl dispatch togglespecialworkspace simple_calculator" + "$mod SHIFT, return, exec, hyprctl dispatch togglespecialworkspace simple_terminal" + "$mod SHIFT, c, exec, hyprctl dispatch togglespecialworkspace chatgpt" + "$mod SHIFT, s, exec, hyprctl dispatch togglespecialworkspace spotify" + "$mod SHIFT, apostrophe, exec, hyprctl dispatch togglespecialworkspace calculator" + + # Focus + "$mod, k, movefocus, u" + "$mod, j, movefocus, d" + "$mod, l, movefocus, r" + "$mod, h, movefocus, l" + "$mod, tab, hyprexpo:expo" + + # Rofi + "$mod, grave, exec, rofi -modi emoji -show emoji" + "$mod, apostrophe, exec, rofi -modi emoji -show calc" + + # Volume control + "$mod, MINUS, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" + "$mod SHIFT, MINUS, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 15%-" + "$mod, EQUAL, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" + "$mod SHIFT, EQUAL, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 15%+" + + # Session control + "$mod SHIFT, Q, exec, wlogout" + "$mod SHIFT, R, exec, hyprctl reload" + + # Window control + "$mod, F, fullscreen" + # "$mod SHIFT, F, fullscreen, 2" + "$mod SHIFT, F, exec, hyprctl dispatch fakefullscreen && $script_path/fake_fullscreen_status" + "$mod, G, togglefloating" + "$mod, P, pseudo" + "$mod SHIFT, P, pin" + "$mod, T, togglesplit" + "$mod, U, focusurgentorlast" + "$mod, Q, killactive" + "$mod, S, exec, hyprctl keyword window:sticky 1" + "$mod, b, exec, pkill -SIGUSR1 waybar" + "$mod, SPACE, layoutmsg, swapwithmaster" + "$mod, V, exec, $script_path/toggle_layout" + + # Application binds + "$mod, W, exec, $BROWSER" + "$mod SHIFT, W, exec, $terminal -e sudo nmtui" + "$mod, E, exec, $mail" + "$mod SHIFT, R, exec, $top" + "$mod, R, exec, rofi -show run" + "$mod SHIFT, D, exec, bitwarden-desktop" + "$mod, RETURN, exec, $terminal" + "$mod SHIFT, N, exec, $BROWSER https://sumi.news" + "$mod, M, exec, spotify" + "$mod SHIFT, M, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" + "$mod ALT, A, exec, hyprpicker -a" + + # Launchers + "$mod, D, exec, rofi -show combi" + "$mod, C, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy" + + # Spotify control + "$mod, P, exec, spt pb --toggle" + "$mod SHIFT, P, exec, mpc pause; pauseallmpv" + "$mod, BRACKETLEFT, exec, spt pb --seek -10" + "$mod SHIFT, BRACKETLEFT, exec, spt pb --seek -60" + "$mod, BRACKETRIGHT, exec, spt pb --seek +10" + "$mod SHIFT, BRACKETRIGHT, exec, spt pb --seek +60" + "$mod, COMMA, exec, spt pb --pp" + "$mod, PERIOD, exec, spt pb --next" + "$mod SHIFT, PERIOD, exec, spt pb --previous" + + # Gaps control + "$mod, a, exec, $script_path/toggle_gaps" + "$mod SHIFT, a, exec, bash -c 'hyprctl keyword general:gaps_in 5; hyprctl keyword general:gaps_out 10'" + + # Increment gaps + "$mod, mouse_up, exec, hyprctl keyword general:gaps_out `expr $(hyprctl getoption general:gaps_out | awk '{ print $3 }') + 3`" + "$mod, mouse_up, exec, hyprctl keyword general:gaps_in `expr $(hyprctl getoption general:gaps_in | awk '{ print $3 }') + 2`" + + # Decrement gaps + "$mod, mouse_down, exec, hyprctl keyword general:gaps_out `expr $(hyprctl getoption general:gaps_out | awk '{ print $3 }') - 3`" + "$mod, mouse_down, exec, hyprctl keyword general:gaps_in `expr $(hyprctl getoption general:gaps_in | awk '{ print $3 }') - 2`" + + # Move focus to monitor + "$mod, LEFT, exec, $script_path/move_focus_to_monitor left" + "$mod, RIGHT, exec, $script_path/move_focus_to_monitor right" + + # Move window to monitor + "$mod SHIFT, h, exec, $script_path/move_window_to_monitor left" + "$mod SHIFT, l, exec, $script_path/move_window_to_monitor right" + + # Screenshot + ", Print, exec, screenshot --area" + "$mod SHIFT, Print, exec, screenshot --window" + "$mod CTRL, Print, exec, screenshot --monitor" + "$mod, Print, exec, screenshot --now" + "$mod SHIFT, v, exec, screenshot --now --clipboard && hyprctl dispatch togglespecialworkspace chatgpt && ydotool key 42:1 1:1 1:0 42:0 29:1 47:1 29:0 47:0" + + # Media keys + # ... + ]; + + binde = [ + # Increment gaps + "$mod, Z, exec, hyprctl --batch \"keyword general:gaps_out `expr $(hyprctl getoption general:gaps_out | awk '{ print $3 }') + 3`; keyword general:gaps_in `expr $(hyprctl getoption general:gaps_in | awk '{ print $3 }') + 2`\"" + + # Decrement gaps + "$mod, X, exec, hyprctl --batch \"keyword general:gaps_out `expr $(hyprctl getoption general:gaps_out | awk '{ print $3 }') - 3`; keyword general:gaps_in `expr $(hyprctl getoption general:gaps_in | awk '{ print $3 }') - 2`\"" + + # Resize active window + "$mod SHIFT, UP, resizeactive, 0 -50" + "$mod SHIFT, DOWN, resizeactive, 0 50" + "$mod SHIFT, RIGHT, resizeactive, 50 0" + "$mod SHIFT, LEFT, resizeactive, -50 0" + + # Move active window + "$mod ALT, k, moveactive, 0 -100" + "$mod ALT, j, moveactive, 0 100" + "$mod ALT, l, moveactive, 100 0" + "$mod ALT, h, moveactive, -100 0" + ]; + + bindm = [ + # Move window with mouse + "$mod, mouse:272, movewindow" + "$mod, mouse:273, resizewindow" + "$mod SHIFT, mouse:273, resizewindow 1" + ]; + }; + + extraConfig = '' + # Media keys + bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle + bind = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0%- && wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ + bind = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0%+ && wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- + bind = , XF86AudioPrev, exec, playerctl previous + bind = , XF86AudioNext, exec, playerctl next + bind = , XF86AudioPause, exec, playerctl play-pause + bind = , XF86AudioPlay, exec, playerctl play-pause + bind = , XF86AudioStop, exec, playerctl stop + bind = , XF86AudioRewind, exec, playerctl position -10 + bind = , XF86AudioForward, exec, playerctl position +10 + bind = , XF86AudioMedia, exec, spotify + bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle + + # Other media keys + bind = , XF86Calculator, exec, $terminal -e bc -l + bind = , XF86Sleep, exec, sudo -A zzz + bind = , XF86WWW, exec, $BROWSER + bind = , XF86DOS, exec, $terminal + bind = , XF86ScreenSaver, exec, pidof hyprlock || hyprlock && hyprctl dispatch dpms off + bind = , XF86TaskPane, exec, $top + bind = , XF86Mail, exec, $mail + bind = , XF86MyComputer, exec, $terminal -e ranger + bind = , XF86Launch1, exec, hyprctl dispatch dpms off + + # Touchpad control + bind = , XF86TouchpadToggle, exec, (synclient | grep 'TouchpadOff.*1' && synclient TouchpadOff=0) || synclient TouchpadOff=1 + bind = , XF86TouchpadOff, exec, synclient TouchpadOff=1 + bind = , XF86TouchpadOn, exec, synclient TouchpadOff=0 + + # Brightness control + bind = , XF86MonBrightnessUp, exec, xbacklight -inc 15 + bind = , XF86MonBrightnessDown, exec, xbacklight -dec 15 + ''; + }; +} diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/decoration.nix b/home/ebisu/kansai/desktop/hyprland/hyprland/decoration.nix new file mode 100644 index 0000000..2625f42 --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/decoration.nix @@ -0,0 +1,43 @@ +{ + wayland.windowManager.hyprland.settings.decoration = { + rounding = 10; + drop_shadow = true; + shadow_ignore_window = true; + shadow_range = 8; + shadow_render_power = 10; + shadow_offset = "2 2"; + "col.shadow" = "rgba(00000055)"; # 2A + + blurls = [ + "gtk-layer-shell" + "lockscreen" + ]; + + # active_opacity = 0.9 + # inactive_opacity = 0.7 + # fullscreen_opacity = 1.0 + active_opacity = 1.0; + inactive_opacity = 0.95; + + blur = { + enabled = true; + xray = true; + special = false; + # size = 1; + passes = 2; + ignore_opacity = true; + new_optimizations = true; + # vibrancy = 0.1696; + # noise = 0.01; + brightness = 1; + contrast = 1; + + popups = true; + popups_ignorealpha = 0.6; + }; + + dim_special = 0.35; + dim_inactive = false; + dim_strength = 0.1; + }; +} diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/default.nix b/home/ebisu/kansai/desktop/hyprland/hyprland/default.nix new file mode 100644 index 0000000..52b9b08 --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/default.nix @@ -0,0 +1,34 @@ +{ + imports = [ + ./animations.nix + ./binds.nix + ./decoration.nix + ./environment.nix + ./executions.nix + ./general.nix + ./plugins.nix + ./rules.nix + ./workspaces.nix + ]; + + xdg.configFile = builtins.listToAttrs ( + map + (script: { + name = "hypr/hyprland/scripts/${script}"; + + value = { + source = ./scripts/${script}; + }; + }) + [ + "common.sh" + "fake_fullscreen_status" + "move_focus_to_monitor" + "move_window_to_monitor" + "move_window_to_workspace" + "switch_workspace" + "toggle_gaps" + "toggle_layout" + ] + ); +} diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/environment.nix b/home/ebisu/kansai/desktop/hyprland/hyprland/environment.nix new file mode 100644 index 0000000..252b53a --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/environment.nix @@ -0,0 +1,16 @@ +let + cursorSize = "18"; +in +{ + wayland.windowManager.hyprland.settings.env = [ + # Cursor + "XCURSOR_SIZE, ${cursorSize}" + "HYPRCURSOR_SIZE, ${cursorSize}" + "HYPERCURSOR_THEME, Bibata-Modern-Ice" # WhiteSur-cursors + "XCURSOR_THEME, Bibata-Modern-Ice" + + # XDG + "XDG_CURRENT_DESKTOP, Hyprland" + "XDG_SESSION_DESKTOP, Hyprland" + ]; +} diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/executions.nix b/home/ebisu/kansai/desktop/hyprland/hyprland/executions.nix new file mode 100644 index 0000000..446ed73 --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/executions.nix @@ -0,0 +1,38 @@ +{ pkgs, ... }: +{ + wayland.windowManager.hyprland.settings.exec-once = [ + # One-shots + "hyprctl dispatch workspace 1" + "swww-daemon" + "gammastep -l 45.540750:-122.385330 >/dev/null" + "${pkgs.pyprland}/bin/pypr" + "hyprpm reload" + "swaddle" + "waybar" + "hyprctl setcursor Bibata-Modern-Ice 18" + "trayscale --hide-window" + "${pkgs.wayneko}/bin/wayneko" + + # Fcitx5 + "fcitx5-remote -r" + "fcitx5 -d --replace" + "fcitx5-remote -r" + + # GNOME/Keyring + "gnome-keyring-daemon --replace --components=pkcs11,secrets,ssh,gpg" + + # XDG, XDPH, & Qt + "dbus-update-activation-environment --systemd --all" + "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" + "systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" + "systemctl --user import-environment QT_QPA_PLATFORMTHEME" + + # Clipboard + "wl-paste --type text --watch cliphist store" + "wl-paste --type image --watch cliphist store" + + # JamesDSP & Solaar + "jamesdsp -t" + # "solaar -w hide" + ]; +} diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/general.nix b/home/ebisu/kansai/desktop/hyprland/hyprland/general.nix new file mode 100644 index 0000000..460b5d0 --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/general.nix @@ -0,0 +1,118 @@ +{ config, ... }: +{ + wayland.windowManager.hyprland.settings = { + monitor = [ + "HDMI-A-2, 1920x1080@74.97, 0x0, 1" + "DP-2, 1920x1080@280.00, 1920x0, 1" + "DP-1, 1920x1080@144.00, 3840x0, 1" + ]; + + source = "${config.home.homeDirectory}/.cache/wal/colors-hyprland"; + + general = { + gaps_in = 5; + gaps_out = 10; + border_size = 0; + layout = "master"; + allow_tearing = true; + resize_on_border = true; + no_focus_fallback = true; + }; + + input = { + kb_layout = "us"; + # kb_variant = + # kb_model = + # kb_options = + # kb_rules = + repeat_rate = 35; # 50 + repeat_delay = 250; # 200 + follow_mouse = 1; + special_fallthrough = true; + + touchpad = { + natural_scroll = true; + disable_while_typing = true; + clickfinger_behavior = true; + scroll_factor = 0.15; + tap-to-click = true; + middle_button_emulation = true; + }; + + sensitivity = -0.5; + accel_profile = "flat"; + scroll_factor = 1.0; + # natural_scroll = false; + }; + + binds = { + allow_workspace_cycles = true; + scroll_event_delay = 0; + workspace_back_and_forth = true; + }; + + dwindle = { + pseudotile = true; + preserve_split = true; + force_split = 2; + smart_split = false; + smart_resizing = false; + # no_gaps_when_only = 0; + special_scale_factor = 0.98; + }; + + master = { + allow_small_split = true; + new_status = "master"; + mfact = 0.55; + # no_gaps_when_only = yes; + orientation = "left"; + inherit_fullscreen = false; + }; + + gestures = { + workspace_swipe = true; + workspace_swipe_distance = 700; + workspace_swipe_fingers = 4; + workspace_swipe_cancel_ratio = 0.2; + workspace_swipe_min_speed_to_force = 5; + workspace_swipe_direction_lock = true; + workspace_swipe_direction_lock_threshold = 10; + workspace_swipe_create_new = true; + }; + + misc = { + vrr = false; + vfr = false; + enable_swallow = true; + swallow_regex = "^(kitty|footclient|foot|Alacritty|wezterm)$"; + disable_hyprland_logo = true; + disable_splash_rendering = true; + force_default_wallpaper = 0; + mouse_move_enables_dpms = true; + # key_press_enables_dpms = true; + # focus_on_activate = true; + animate_manual_resizes = true; + # animate_mouse_windowdragging = false; + mouse_move_focuses_monitor = true; + # new_window_takes_over_fullscreen = 2; + allow_session_lock_restore = true; + initial_workspace_tracking = false; + }; + + cursor = { + hide_on_key_press = true; + enable_hyprcursor = true; + }; + + xwayland = { + force_zero_scaling = true; + }; + + debug = { + watchdog_timeout = 0; + disable_logs = false; + damage_blink = false; + }; + }; +} diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/plugins.nix b/home/ebisu/kansai/desktop/hyprland/hyprland/plugins.nix new file mode 100644 index 0000000..db0c978 --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/plugins.nix @@ -0,0 +1,57 @@ +{ inputs, pkgs, ... }: +{ + wayland.windowManager.hyprland = { + plugins = + with inputs; + with pkgs; + [ + hyprland-plugins.packages.${system}.hyprtrails + hyprfocus.packages.${system}.hyprfocus + hyprland-plugins.packages.${system}.hyprexpo + ]; + + settings.plugin = { + # split-monitor-workspaces = { + # count = 10; + # keep_focused = 0; + # enable_notifications = 0; + # }; + + hyprtrails = { + color = "rgba(cfddf619)"; + }; + + hyprfocus = { + enabled = true; + animate_floating = true; + animate_workspacechange = true; + focus_animation = "flash"; + + bezier = [ + "bezIn, 0.5, 0.0, 1.0, 0.5" + "bezOut, 0.0, 0.5, 0.5, 1.0" + "overshot, 0.05, 0.9, 0.1, 1.05" + "smoothOut, 0.36, 0, 0.66, -0.56" + "smoothIn, 0.25, 1, 0.5, 1" + "realsmooth, 0.28, 0.29, .69, 1.08" + ]; + + flash = { + flash_opacity = 0.85; + in_bezier = "realsmooth"; + in_speed = 1; + out_bezier = "realsmooth"; + out_speed = 3; + }; + + shrink = { + shrink_percentage = 0.99; + in_bezier = "realsmooth"; + in_speed = 1; + out_bezier = "realsmooth"; + out_speed = 2; + }; + }; + }; + }; +} diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/rules.nix b/home/ebisu/kansai/desktop/hyprland/hyprland/rules.nix new file mode 100644 index 0000000..79dbb83 --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/rules.nix @@ -0,0 +1,79 @@ +{ + wayland.windowManager.hyprland.settings = { + # Layer Rules + layerrule = [ + "animation slide, notifications" + "noanim, selection" + "noanim, picker" + ]; + + windowrulev2 = [ + # Dialog Rules + "float, class:file_progress" + "float, class:confirm" + "float, class:dialog" + "float, class:download" + "float, class:notification" + "float, class:error" + "float, class:splash" + "float, class:confirmreset" + "float, title:Open File" + "float, title:Save File" + "float, title:branchdialog" + "float, title:^(Open File)(.*)$" + "float, title:^(Select a File)(.*)$" + "float, title:^(Choose wallpaper)(.*)$" + "float, title:^(Open Folder)(.*)$" + "float, title:^(Save As)(.*)$" + "float, title:^(Library)(.*)$" + "float, initialClass:^(xdg-desktop-portal-.*)$" + + # Control Application Rules + "float, class:^(Network)$" + "float, class:^(pavucontrol)$" + "float, class:^(Color Picker)$" + "float, class:^(File Picker)$" + "float, class:^(nm-connection-editor)$" + "float, class:pavucontrol-qt" + "float, class:pavucontrol" + "float, title:^(Media viewer)$" + "float, title:^(Volume Control)$" + "float, title:^(Picture-in-Picture)$" + "float, class:^(blueberry.py)$" + "float, class:Lxappearance" + "pseudo, class:fcitx" + "size 50% 50%, title:^(Volume Control)$" + "workspace special:rofi, class:Rofi" + "float, class:Rofi" + + # Application Rules + "float, class:^(transmission-gtk)$" + "float, class:viewnior" + "float, class:feh" + "float, class:^(steam)$" + "float, class:file-roller" + "center, class:feh" + "workspace 9, initialTitle:^(Spotify Premium)$" + "tile, initialTitle:^(Photopea)$" + "tile, initialTitle:^(WorldsPlayer by Worlds Inc)$" + # "size 75% 75%, class:feh" + + # XWayland Video Bridge + "noblur, class:^(xwaylandvideobridge)$" + "noanim, class:^(xwaylandvideobridge)$" + "noinitialfocus, class:^(xwaylandvideobridge)$" + "opacity 0.0 override, class:^(xwaylandvideobridge)$" + "maxsize 1 1, class:^(xwaylandvideobridge)$" + + # Tearing + "immediate, class:.*\.exe" + "immediate, class:(steam_app)" + + # Idle Inhibit + # "idleinhibit fullscreen, class:^(*)$" + # "idleinhibit fullscreen, title:^(*)$" + "idleinhibit fullscreen, fullscreen:1" + "idleinhibit focus, class:mpv" + ]; + }; +} diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/common.sh b/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/common.sh new file mode 100644 index 0000000..325fd90 --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/common.sh @@ -0,0 +1,146 @@ +#!/usr/bin/env bash + +# . "$(dirname "$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null || echo "${0}")" || true)/common.sh" +# or +# . "${HOME}/.config/hypr/hyprland/scripts/common.sh" + +get_hyprctl_monitors() { + hyprctl monitors -j || true +} + +get_hyprctl_workspaces() { + hyprctl workspaces -j || true +} + +get_focused_monitor() { + (get_hyprctl_monitors || true) | + jq -r '.[] | select(.focused) | .name' +} + +get_active_monitor() { + get_focused_monitor +} + +get_active_workspaces() { + local monitor=$1 + + (get_hyprctl_workspaces || true) | + (jq -r ".[] | select(.monitor == \"${monitor}\") | .id" || true) | + grep -v '-' +} + +get_active_workspace() { + local monitor=$1 + + (get_hyprctl_monitors || true) | + jq -r ".[] | select(.name == \"${monitor}\") | .activeWorkspace.id" +} + +get_current_workspace() { + (hyprctl activeworkspace -j || true) | + jq -r ".id" +} + +get_empty_workspace() { + local monitor=$1 + + (hyprctl workspaces -j || true) | + (jq -r ".[] | select(.monitor == \"${monitor}\" and .windows == 0) | .id" || true) | + (grep -v '-' || true) | + head -n 1 +} + +get_workspace_client_count() { + local workspace=$1 + + (hyprctl workspaces -j || true) | jq -r ".[] | select(.id == ${workspace}) | .windows" +} + +get_relative_target_workspace() { + target_workspace=$1 + workspace=0 + + case "$(get_focused_monitor)" in + "HDMI-A-2") + workspace=$((target_workspace + 10)) + ;; + "DP-2") + workspace=${target_workspace} + ;; + "DP-1") + workspace=$((target_workspace + 20)) + ;; + *) + exit 1 + ;; + esac + + echo "${workspace}" +} + +is_monitor_fullscreen() { + monitor=$1 + + (hyprctl workspaces -j || true) | + jq -r ".[] | select(.monitor == \"${monitor}\") | select(.id == $(get_active_workspace "${monitor}" || true)) | .hasfullscreen" +} + +get_relative_target_monitor() { + direction=$1 + ignore_fullscreen=${2:-0} + + case $(get_focused_monitor) in + "HDMI-A-2") + if [[ ${direction} == "right" ]]; then + target_monitor="DP-2" + else + target_monitor="DP-1" + fi + ;; + "DP-2") + if [[ ${direction} == "right" ]]; then + target_monitor="DP-1" + else + target_monitor="HDMI-A-2" + fi + ;; + "DP-1") + if [[ ${direction} == "left" ]]; then + target_monitor="DP-2" + else + target_monitor="HDMI-A-2" + fi + ;; + *) + exit 1 + ;; + esac + + if [[ "$(is_monitor_fullscreen "${target_monitor}")" == "true" && ${ignore_fullscreen} == 0 ]]; then + case $target_monitor in + "HDMI-A-2") + if [[ $direction == "right" ]]; then + target_monitor="DP-2" + else + target_monitor="DP-1" + fi + ;; + "DP-2") + if [[ $direction == "right" ]]; then + target_monitor="DP-1" + else + target_monitor="HDMI-A-2" + fi + ;; + "DP-1") + if [[ $direction == "left" ]]; then + target_monitor="DP-2" + else + target_monitor="HDMI-A-2" + fi + ;; + esac + fi + + echo "${target_monitor}" +} diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/fake_fullscreen_status b/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/fake_fullscreen_status new file mode 100755 index 0000000..e198758 --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/fake_fullscreen_status @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +. "${HOME}/.config/hypr/hyprland/scripts/common.sh" + +previous_id=$(cat /tmp/fake_fullscreen_notify_id 2>/dev/null) +previous_id_flag="" + +if [[ -n "${previous_id}" ]]; then + previous_id_flag="-r ${previous_id}" +fi + +id=$(notify-send -p ${previous_id_flag} "$(hyprctl activewindow -j | jq -r '.title') + +Fake fullscreen is $([[ "$(hyprctl activewindow -j | jq -r '.fakeFullscreen')" == "true" ]] && + echo "enabled" || + echo "disabled").") + +echo "${id}" >/tmp/fake_fullscreen_notify_id diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/move_focus_to_monitor b/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/move_focus_to_monitor new file mode 100755 index 0000000..27562a9 --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/move_focus_to_monitor @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +. "${HOME}/.config/hypr/hyprland/scripts/common.sh" + +target_monitor=$(get_relative_target_monitor "$1" 1) + +if [[ -n "${target_monitor}" ]]; then + hyprctl dispatch focusmonitor "${target_monitor}" +fi diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/move_window_to_monitor b/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/move_window_to_monitor new file mode 100755 index 0000000..06e4f94 --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/move_window_to_monitor @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +. "${HOME}/.config/hypr/hyprland/scripts/common.sh" + +target_monitor=$(get_relative_target_monitor "$1") +target_workspace=$(get_active_workspace "${target_monitor}") + +# target_workspace=$(get_empty_workspace $target_monitor) + +# if [[ -z "$target_workspace" ]]; then +# target_workspace=$(get_active_workspaces $target_monitor | head -n 1) +# fi + +if [[ -n "${target_workspace}" ]]; then + hyprctl dispatch movetoworkspace "${target_workspace}" +fi diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/move_window_to_workspace b/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/move_window_to_workspace new file mode 100755 index 0000000..4256a9f --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/move_window_to_workspace @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +. "${HOME}/.config/hypr/hyprland/scripts/common.sh" + +initial_active_workspace="$(get_current_workspace)" +target_workspace="$(get_relative_target_workspace "${1}")" + +hyprctl dispatch movetoworkspace "${target_workspace}" + +if [[ $(get_workspace_client_count "${target_workspace}") -gt 2 ]]; then + hyprctl dispatch workspace "${initial_active_workspace}" +fi diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/source.bak/screenshot.ab b/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/source.bak/screenshot.ab new file mode 100644 index 0000000..6bc510d --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/source.bak/screenshot.ab @@ -0,0 +1,158 @@ +let current_date_time = unsafe $date +%Y-%m-%d-%H-%M-%S$ +let output_directory = "{unsafe $xdg-user-dir PICTURES$}/Screenshots" +let output_file = "Screenshot_{current_date_time}_{unsafe $echo \$RANDOM$}.png" + +fun notify_command(message: Text): Null { + unsafe $notify-send -h string:x-canonical-private-synchronous:shot-notify -u low "{message}"$ +} + +fun notify(clipboard: Bool, type: Text): Null { + notify_command("Screenshot copied to clipboard. ({type})") + + if not clipboard { + if unsafe $test -f "{output_directory}/{output_file}" && + echo 'true' || + echo 'false'$ == "true" + { + // unsafe $feh "{output_directory}/{output_file}"$ + + notify_command("Screenshot saved. ({type})") + } else { + notify_command("Screenshot deleted.") + } + } +} + +fun get_hyprctl_monitors(): Text { + return $hyprctl monitors -j || true$ failed { + notify_command("Failed to get monitors.") + + fail status + } +} + +fun get_focused_monitor(): Text { + let monitors = get_hyprctl_monitors() failed { + notify_command("Failed to get monitors.") + + fail status + } + + return $echo {monitors} | jq -r '.[] | select(.focused) | .name'$ failed { + notify_command("Failed to get focused monitor.") + + fail status + } +} + +fun screenshot_now(clipboard: Bool): Null { + if clipboard { + unsafe $(grim - || true) | wl-copy$ + } else { + unsafe $cd "{output_directory}" && + grim - | + tee "{output_file}" | + wl-copy$ + } + + notify(clipboard, "now") +} + +fun screenshot_window(clipboard: Bool): Null { + let width_position = unsafe $hyprctl activewindow | + grep 'at:' | + cut -d':' -f2 | + tr -d ' ' | + tail -n1$ + let width_size = unsafe $hyprctl activewindow | + grep 'size:' | + cut -d':' -f2 | + tr -d ' ' | + tail -n1 | + sed s/,/x/g$ + + if clipboard { + unsafe $grim -g "{width_position} {width_size}" - | wl-copy$ + } else { + unsafe $cd "{output_directory}" && + grim -g "{width_position} {width_size}" - | + tee "{output_file}" | + wl-copy$ + } + + notify(clipboard, "window") +} + +fun screenshot_monitor(clipboard: Bool): Null { + if clipboard { + unsafe $grim -o "{get_focused_monitor()}" - | wl-copy$ + } else { + unsafe $cd "{output_directory}" && + grim -o "{get_focused_monitor()}" - | + tee "{output_file}" | + wl-copy$ + } + + notify(clipboard, "monitor") +} + +fun screenshot_area(clipboard: Bool): Null { + // slurp -b 1B1F28CC -c E06B74ff -s C778DD0D -w 2 + + if clipboard { + unsafe $grim -g "{unsafe $slurp$}" - | wl-copy$ + } else { + unsafe $cd "{output_directory}" && + grim -g "{unsafe $slurp$}" - | + tee "{output_file}" | + wl-copy$ + } + + notify(clipboard, "area") +} + +fun screenshot(mode: Text, clipboard: Bool): Null { + if { + mode == "now" { + screenshot_now(clipboard) + } + mode == "window" { + screenshot_window(clipboard) + } + mode == "monitor" { + screenshot_monitor(clipboard) + } + mode == "area" { + screenshot_area(clipboard) + } + else { + echo "usage: {unsafe $echo "\${0}"$} [flags]\n" + echo "flags:" + echo " --now" + echo " --window" + echo " --area" + echo " --monitor" + echo " --clipboard" + echo " --help" + echo "" + } + } +} + +main { + if unsafe $test -d "{output_directory}" && + echo 'true' || + echo 'false'$ == "false" + { + $mkdir -p "{output_directory}"$ failed { + notify_command("Failed to create output directory.") + + fail status + } + } + + screenshot( + unsafe $echo "\${1}" | sed -E s/--//g$, + unsafe $echo "\${2}"$ == "--clipboard" + ) +} diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/switch_workspace b/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/switch_workspace new file mode 100755 index 0000000..fc8900c --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/switch_workspace @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +. "${HOME}/.config/hypr/hyprland/scripts/common.sh" + +hyprctl dispatch workspace "$(get_relative_target_workspace "${1}")" diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/toggle_gaps b/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/toggle_gaps new file mode 100755 index 0000000..d593ab2 --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/toggle_gaps @@ -0,0 +1,13 @@ +#!/usr/bin/env dash + +inner_gap_size=5 +outer_gap_size=10 + +if [ "$(hyprctl getoption general:gaps_in | awk '{print $3}' || true)" -eq 0 ] && + [ "$(hyprctl getoption general:gaps_out | awk '{print $3}' || true)" -eq 0 ]; then + hyprctl keyword general:gaps_in "${inner_gap_size}" + hyprctl keyword general:gaps_out "${outer_gap_size}" +else + hyprctl keyword general:gaps_in 0 + hyprctl keyword general:gaps_out 0 +fi diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/toggle_layout b/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/toggle_layout new file mode 100755 index 0000000..1ef8774 --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/scripts/toggle_layout @@ -0,0 +1,22 @@ +#!/usr/bin/env dash + +layout=$(hyprctl -j getoption general:layout) +new_layout="" + +case "$(echo "${layout}" | jq -r .str)" in +dwindle) + hyprctl keyword general:layout master + + new_layout="master" + + ;; +master) + hyprctl keyword general:layout dwindle + + new_layout="dwindle" + + ;; +*) ;; +esac + +notify-send "You've changed the layout to ${new_layout}." diff --git a/home/ebisu/kansai/desktop/hyprland/hyprland/workspaces.nix b/home/ebisu/kansai/desktop/hyprland/hyprland/workspaces.nix new file mode 100644 index 0000000..2df3efd --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprland/workspaces.nix @@ -0,0 +1,36 @@ +{ config, pkgs, ... }: +{ + wayland.windowManager.hyprland.settings.workspace = + ( + let + generateWorkspaces = + monitor: workspaces: offset: + builtins.genList (x: [ "${toString (x + offset + 1)}, monitor:${monitor}" ]) workspaces; + generateWorkspacesAll = + monitors: tags: + builtins.concatLists ( + builtins.map ( + monitor: + generateWorkspaces (builtins.elemAt monitors monitor) tags ( + builtins.elemAt (builtins.genList (index: index * tags) (builtins.length monitors)) monitor + ) + ) (builtins.genList (index: index) (builtins.length monitors)) + ); + in + builtins.concatLists ( + generateWorkspacesAll [ + "DP-2" + "HDMI-A-2" + "DP-1" + ] 10 + ) + ) + ++ [ + "special:simple_terminal, on-created-empty:[float;center;size 50% 65%] ${pkgs.kitty}/bin/kitty --class simple_terminal" + "special:simple_calculator, on-created-empty:[float;center;size 50% 50%] ${pkgs.kitty}/bin/kitty --class simple_calculator -e bc -lq" + "special:chatgpt, on-created-empty:[float;center;size 65% 75%] thorium --user-data-dir=${config.home.homeDirectory}/.local/share/thorium-browser-chatgpt --app='https://chatgpt.com/' --enable-features=UseOzonePlatform --ozone-platform=wayland" + "special:spotify, on-created-empty:[float;center;size 65% 90%] ${pkgs.spotify}/bin/spotify" + "special:calculator, on-created-empty:[float;center;size 50% 50%] ${pkgs.qalculate-gtk}/bin/qalculate-gtk" + "special:rofi, float, center, size 50% 50%" + ]; +} diff --git a/home/ebisu/kansai/desktop/hyprland/hyprlock.nix b/home/ebisu/kansai/desktop/hyprland/hyprlock.nix new file mode 100644 index 0000000..4141a85 --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprlock.nix @@ -0,0 +1,96 @@ +{ pkgs, config, ... }: +{ + programs.hyprlock = { + enable = true; + + # https://github.com/hyprwm/hyprlock/issues/128#issuecomment-2063629880 + package = pkgs.hyprlock.overrideAttrs { + version = "git"; + + src = pkgs.fetchFromGitHub { + owner = "hyprwm"; + repo = "hyprlock"; + rev = "2bce52f"; + sha256 = "36qa6MOhCBd39YPC0FgapwGRHZXjstw8BQuKdFzwQ4k="; + }; + + patchPhase = '' + substituteInPlace src/core/hyprlock.cpp \ + --replace "5000" "16" + ''; + }; + + settings = { + general = { + disable_loading_bar = false; + hide_cursor = true; + ignore_empty_input = true; + grace = 10; + }; + + background = [ { path = "${config.pywal-nix.wallpaper}"; } ]; + + input-field = [ + { + # Size & Position + size = "500, 75"; + position = "0, 0"; + + # Other + fade_on_empty = true; + dots_size = 0.2; + dots_spacing = 0.5; + outline_thickness = 3; + placeholder_text = ""; + fail_text = ""; + + # Colour + outer_color = "rgb(1D2433)"; # bg + inner_color = "rgb(1D2433)"; # bg + font_color = "rgb(BDD9F2)"; # fg + check_color = "rgb(9BB8F2)"; # blue + fail_color = "rgb(D67C8E)"; # red + capslock_color = "rgb(D6A37C)"; # orange + + # Shadow + shadow_passes = 1; + shadow_size = 8; + shadow_boost = 0.6; + } + ]; + + label = [ + { + # Text + text = "cmd[update:60000] LC_ALL='ja_JP.utf8' TZ=America/Los_Angeles date '+%H時%M分'"; + position = "75, -75"; + color = "rgba(9BB8F290)"; # blue + + # Font + font_size = 120; + font_family = "SF Pro, Hiragino Sans"; + + # Shadow + shadow_passes = 1; + shadow_size = 6; + shadow_boost = 0.75; + } + { + # Text + text = "cmd[update:60000] LC_ALL='ja_JP.utf8' TZ=America/Los_Angeles date '+%b%-e日(%a)'"; + position = "75, 0"; + color = "rgba(9BB8F270)"; # blue + + # Font + font_size = 40; + font_family = "SF Pro, Hiragino Sans"; + + # Shadow + shadow_passes = 1; + shadow_size = 4; + shadow_boost = 0.9; + } + ]; + }; + }; +} diff --git a/home/ebisu/kansai/desktop/hyprland/hyprlock.nix.bak b/home/ebisu/kansai/desktop/hyprland/hyprlock.nix.bak new file mode 100644 index 0000000..96edf76 --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprlock.nix.bak @@ -0,0 +1,106 @@ +{ + pkgs, + config, + lib, + ... +}: +let + inherit (config.pywal-nix.colourScheme) colours special; + + rawHex = colour: lib.removePrefix "#" colour; +in +{ + programs.hyprlock = { + enable = true; + + # https://github.com/hyprwm/hyprlock/issues/128#issuecomment-2063629880 + package = pkgs.hyprlock.overrideAttrs { + version = "git"; + + src = pkgs.fetchFromGitHub { + owner = "hyprwm"; + repo = "hyprlock"; + rev = "2bce52f"; + sha256 = "36qa6MOhCBd39YPC0FgapwGRHZXjstw8BQuKdFzwQ4k="; + }; + + patchPhase = '' + substituteInPlace src/core/hyprlock.cpp \ + --replace "5000" "16" + ''; + }; + + settings = { + general = { + disable_loading_bar = false; + hide_cursor = true; + ignore_empty_input = true; + grace = 10; + }; + + background = [ { path = "${config.pywal-nix.wallpaper}"; } ]; + + input-field = [ + { + # Size & Position + size = "500, 75"; + position = "0, 0"; + + # Other + fade_on_empty = true; + dots_size = 0.2; + dots_spacing = 0.5; + outline_thickness = 3; + placeholder_text = ""; + fail_text = ""; + + # Colour + outer_color = "rgb(${rawHex special.background})"; + inner_color = "rgb(${rawHex special.background})"; + font_color = "rgb(${rawHex special.foreground})"; + check_color = "rgb(${rawHex colours.colour6})"; + fail_color = "rgb(D67C8E)"; + capslock_color = "rgb(D6A37C)"; + + # Shadow + shadow_passes = 1; + shadow_size = 8; + shadow_boost = 0.6; + } + ]; + + label = [ + { + # Text + text = "cmd[update:60000] LC_ALL='ja_JP.utf8' TZ=America/Los_Angeles date '+%H時%M分'"; + position = "75, -75"; + color = "rgba(${rawHex special.foreground}df)"; + + # Font + font_size = 120; + font_family = "SF Pro, Hiragino Sans"; + + # Shadow + shadow_passes = 1; + shadow_size = 6; + shadow_boost = 0.75; + } + { + # Text + text = "cmd[update:60000] LC_ALL='ja_JP.utf8' TZ=America/Los_Angeles date '+%b%-e日(%a)'"; + position = "75, 0"; + color = "rgba(${rawHex special.foreground}cf)"; + + # Font + font_size = 40; + font_family = "SF Pro, Hiragino Sans"; + + # Shadow + shadow_passes = 1; + shadow_size = 4; + shadow_boost = 0.9; + } + ]; + }; + }; +} diff --git a/home/ebisu/kansai/desktop/hyprland/hyprpaper.nix b/home/ebisu/kansai/desktop/hyprland/hyprpaper.nix new file mode 100644 index 0000000..84c3fba --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/hyprpaper.nix @@ -0,0 +1,13 @@ +{ config, ... }: +{ + services.hyprpaper = { + enable = true; + + settings = { + preload = config.pywal-nix.wallpaper; + wallpaper = ",${config.pywal-nix.wallpaper}"; + splash = false; + ipc = true; + }; + }; +} diff --git a/home/ebisu/kansai/desktop/hyprland/inspo.txt b/home/ebisu/kansai/desktop/hyprland/inspo.txt new file mode 100644 index 0000000..39d2483 --- /dev/null +++ b/home/ebisu/kansai/desktop/hyprland/inspo.txt @@ -0,0 +1,4 @@ +https://github.com/codingjerk/dotfiles/blob/main/config/hypr/hyprland.conf +https://github.com/JoshM-Yoru/dotfiles/blob/main/hypr/hyprland.conf +https://github.com/end-4/dots-hyprland/blob/main/.config/hypr/hyprland.conf +https://github.com/Andy3153/hyprland-rice \ No newline at end of file diff --git a/home/ebisu/kansai/desktop/mako.nix b/home/ebisu/kansai/desktop/mako.nix new file mode 100644 index 0000000..b4c0e19 --- /dev/null +++ b/home/ebisu/kansai/desktop/mako.nix @@ -0,0 +1,57 @@ +{ config, ... }: +let + colourScheme = config.pywal-nix.colourScheme.colours; +in +{ + services.mako.enable = true; + + xdg.configFile."mako/config".text = '' + font=SF Mono 11 + + layer=overlay + + anchor=top-right + width=330 + padding=10 + margin=10 + border-radius=10 + outer-margin=0 + + default-timeout=5000 + max-history=0 + ignore-timeout=1 + + format=%s\n%b + + icons=1 + # max-icon-size=32 + + max-visible=-1 + + border-color=#00000040 + border-size=1 + + background-color=${colourScheme.colour0} + text-color=${colourScheme.colour15} + + # [urgency=low] + # border-color=${colourScheme.colour2} + # background-color=${colourScheme.colour4} + # text-color=${colourScheme.colour6} + + # [urgency=normal] + # border-color=${colourScheme.colour1} + # background-color=${colourScheme.colour3} + # text-color=${colourScheme.colour5} + # default-timeout=10000 + # ignore-timeout=1 + + # [urgency=high] + # font=Sauce Code Pro 16 + # border-color=${colourScheme.colour1} + # background-color=${colourScheme.colour2} + # text-color=${colourScheme.colour6} + # default-timeout=0 + # ignore-timeout=1 + ''; +} diff --git a/home/ebisu/kansai/desktop/rofi.nix b/home/ebisu/kansai/desktop/rofi.nix new file mode 100644 index 0000000..26994de --- /dev/null +++ b/home/ebisu/kansai/desktop/rofi.nix @@ -0,0 +1,35 @@ +{ + pkgs, + config, + lib, + ... +}: +{ + programs.rofi = with pkgs; { + enable = true; + theme = lib.mkForce "${config.home.homeDirectory}/.cache/wal/colors-rofi-light.rasi"; + + plugins = [ + rofi-emoji + rofi-calc + rofi-top + # rofi-rbw + # rofi-bluetooth + # rofi-power-menu + ]; + + extraConfig = { + sidebar-mode = true; + hide-scrollbar = true; + kb-cancel = "Escape,Control+bracketleft"; + kb-mode-next = "Alt+Right,Shift+Right,Control+Tab"; + kb-mode-previous = "Alt+Left,Shift+Left,Control+ISO_Left_Tab"; + # kb-row-select = ""; + modi = "combi,drun,window,ssh,run"; + combi-modi = "window,drun,run,ssh"; + show = "combi"; + monitor = "-4"; + terminal = "kitty"; + }; + }; +} diff --git a/home/ebisu/kansai/desktop/screenshot.nix b/home/ebisu/kansai/desktop/screenshot.nix new file mode 100644 index 0000000..481ffb5 --- /dev/null +++ b/home/ebisu/kansai/desktop/screenshot.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + grim + slurp + ]; +} diff --git a/home/ebisu/kansai/desktop/waybar/common-modules.nix b/home/ebisu/kansai/desktop/waybar/common-modules.nix new file mode 100644 index 0000000..04d1c91 --- /dev/null +++ b/home/ebisu/kansai/desktop/waybar/common-modules.nix @@ -0,0 +1,227 @@ +{ + pkgs, + secrets, + ... +}: +{ + layer = "top"; + position = "top"; + margin-left = 8; + margin-right = 8; + height = 40; + + bluetooth = { + format = ""; + on-click = "${pkgs.blueberry}/bin/blueberry"; + }; + + clock = { + locale = "ja_JP.utf8"; + interval = 5; + tooltip-format = "{calendar}"; + # format = "{:%m月 %d日 %H:%M:%S}"; + format = "{:L%m月 %d日 %H:%M}"; + format-alt = "{:L%G年%b %d日 %A}"; + }; + + # For when clock doesn't work + "custom/clock" = { + exec = "date '+%m月 %d日 %H:%M'"; + tooltip = false; + interval = 5; + }; + + cpu = { + interval = 5; + format = " {usage}% ({load})"; + + states = { + warning = 70; + critical = 90; + }; + + on-click = "${pkgs.kitty}/bin/kitty -e '${pkgs.bottom}/bin/btm'"; + }; + + memory = { + interval = 5; + format = " {}%"; + format-alt = " {used:0.1f}/{total:0.1f}ギガ"; + + # I might remove these. I have 64GB of RAM .... + states = { + warning = 70; + critical = 90; + }; + }; + + network = { + interval = 1; + # format-wifi = " {bandwidthUpBytes} {bandwidthDownBytes}", + # format-ethernet = " {bandwidthUpBytes} {bandwidthDownBytes}", + format = " {bandwidthUpBytes}  {bandwidthDownBytes}"; + format-disconnected = "⚠ Disconnected"; + tooltip-format = "{ifname}: {ipaddr}"; + on-click = "${pkgs.kitty}/bin/kitty -e 'nmtui'"; + }; + + "hyprland/mode" = { + format = "{}"; + tooltip = false; + }; + + "hyprland/window" = { + format = "{}"; + max-length = 120; + separate-outputs = true; + icon = false; + + rewrite = { + "(.*) - Thorium" = "󰖟 $1"; + "(.*) - NVIM" = " $1"; + "ChatGPT" = " ChatGPT"; + "~(.*)" = " ~$1"; + "…(.*)" = " …$1"; + "zsh" = " ~"; + "fish" = " ~"; + "kitty" = " ~"; + "Volume Control" = " Volume Control"; + "Bluetooth" = " Bluetooth"; + "JamesDSP for Linux" = "󰺢 JamesDSP"; + }; + }; + + pulseaudio = { + scroll-step = 1; + format = "{icon} {volume}%"; + # format-bluetooth = "{volume}% {icon}  {format_source}"; + # format-bluetooth-muted = " {icon}  {format_source}"; + format-muted = "󰸈"; + + format-icons = { + headphone = "󰋋"; + hands-free = "וֹ"; + headset = "󱡏"; + phone = ""; + portable = ""; + car = ""; + + default = [ "" ]; + }; + + on-click = "pactl set-sink-mute @DEFAULT_SINK@ toggle"; + on-click-right = "${pkgs.pavucontrol}/bin/pavucontrol"; + on-scroll-up = "pactl set-sink-volume @DEFAULT_SINK@ +2%"; + on-scroll-down = "pactl set-sink-volume @DEFAULT_SINK@ -2%"; + ignored-sinks = secrets.waybar.ignored_sinks; + }; + + tray = { + spacing = 10; + show-passive-items = true; + }; + + "image#album-art" = { + path = "/tmp/mediaplayer_art"; + size = 22.5; # (18 + (18 / 4)) + interval = 5; + on-click = "${pkgs.playerctl}/bin/playerctl play-pause"; + }; + + "custom/media" = { + format = "{icon} {}"; + return-type = "json"; + max-length = 40; + + format-icons = { + spotify = " "; + default = "󰗃 "; + }; + + escape = true; + exec = "${pkgs.mediaplayer}/bin/mediaplayer.py 2> /dev/null"; + on-click = "${pkgs.playerctl}/bin/playerctl play-pause"; + on-scroll-up = "${pkgs.playerctl}/bin/playerctl next"; + on-scroll-down = "${pkgs.playerctl}/bin/playerctl previous"; + }; + + cava = { + framerate = 280; + autosens = 1; + sensitivity = 3; + bars = 26; + lower_cutoff_freq = 50; + higher_cutoff_freq = 10000; + method = "pipewire"; + source = "auto"; + stereo = true; + reverse = true; + bar_delimiter = 0; + monstercat = false; + waves = false; + hide_on_silence = true; + noise_reduction = 0.77; + input_delay = 0; + on-click = "${pkgs.playerctl}/bin/playerctl play-pause"; + + # actions = { + # on-click-right = "mode"; + # }; + + # format-icons = ["░", "▒", "▓", "█", "█", "█", "█", "█"] + # format-icons = ["⎺", "⎻", "⎼", "⎽", "⎼", "⎻", "⎺", "⎹"] + # format-icons = ["▏", "▎", "▍", "▌", "▋", "▊", "▉", "█"] + format-icons = [ + "⠁" + "⠃" + "⠇" + "⠋" + "⠛" + "⠟" + "⠿" + "⣿" + ]; + # format-icons = ["◰", "◳", "◲", "◱", "▘", "▝", "▖", "▗"] + # format-icons = ["▖", "▗", "▘", "▝", "▚", "▞", "▛", "▟"] + # format-icons = ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█", "▉", "▊"] + # format-icons = ["⎯", "⎰", "⎱", "⎲", "⎳", "⎴", "⎵", "⎶"] + # format-icons = ["⎺", "⎻", "⎼", "⎽", "⎾", "⎿", "⏀", "⏁"] + # format-icons = ["♪", "♫", "♬", "♭", "♮", "♯", "♩", "♪"] + # format-icons = ["→", "⇉", "⇒", "⇉", "→", "⇉", "⇒", "⇉"] + # format-icons = ["·", ":", "⁙", "⁘", "⁙", ":", "·", "•"] + # format-icons = ["○", "◔", "◑", "◕", "●", "◍", "◎", "◉"] + # format-icons = ["△", "▲", "▴", "▸", "▶", "▹", "►", "▻"] + # format-icons = ["◇", "◈", "◉", "◍", "◎", "◯", "⦿", "◑"] + # format-icons = ["-", "–", "—", "––", "–––", "——", "———", "——––"] + # format-icons = ["-", "=", "≡", "≣", "≠", "≢", "≜", "≝"] + # format-icons = ["✓", "✔", "✕", "✖", "✗", "✘", "✙", "✚"] + # format-icons = ["✩", "✪", "✫", "✬", "✭", "✮", "✯", "✰"] + }; + + "custom/gpu" = { + exec = "nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader | sed 's/ %/%/'"; + interval = 5; + format = " {}"; + on-click = "${pkgs.kitty}/bin/kitty -e '${pkgs.nvtopPackages.nvidia}/bin/nvtop'"; + }; + + modules-left = [ + "hyprland/workspaces" + "hyprland/window" + "custom/media" + "image#album-art" + ]; + + modules-center = [ "clock" ]; + + modules-right = [ + "cava" + # "network" + "tray" + "cpu" + # "custom/gpu" + "memory" + "bluetooth" + "pulseaudio" + ]; +} diff --git a/home/ebisu/kansai/desktop/waybar/default.nix b/home/ebisu/kansai/desktop/waybar/default.nix new file mode 100644 index 0000000..877669c --- /dev/null +++ b/home/ebisu/kansai/desktop/waybar/default.nix @@ -0,0 +1,112 @@ +{ + pkgs, + secrets, + config, + ... +}: +let + inherit (config.pywal-nix.colourScheme) special colours; +in +{ + programs.waybar = { + enable = true; + + style = + '' + @define-color foreground ${special.foreground}; + @define-color background ${special.background}; + @define-color cursor ${special.cursor}; + @define-color color0 ${colours.color0}; + @define-color color1 ${colours.color1}; + @define-color color2 ${colours.color2}; + @define-color color3 ${colours.color3}; + @define-color color4 ${colours.color4}; + @define-color color5 ${colours.color5}; + @define-color color6 ${colours.color6}; + @define-color color7 ${colours.color7}; + @define-color color8 ${colours.color8}; + @define-color color9 ${colours.color9}; + @define-color color10 ${colours.color10}; + @define-color color11 ${colours.color11}; + @define-color color12 ${colours.color12}; + @define-color color13 ${colours.color13}; + @define-color color14 ${colours.color14}; + @define-color color15 ${colours.color15}; + '' + + (builtins.readFile ./style.css); + + settings = + let + commonModules = import ./common-modules.nix { inherit pkgs secrets; }; + + hyprland-workspaces-base = { + disable-scroll = true; + disable-markup = false; + all-outputs = false; + format = "{icon}"; + }; + in + [ + ( + commonModules + // { + output = "HDMI-A-2"; + "hyprland/workspaces" = hyprland-workspaces-base // { + format-icons = { + "11" = "一"; + "12" = "二"; + "13" = "三"; + "14" = "四"; + "15" = "五"; + "16" = "六"; + "17" = "七"; + "18" = "八"; + "19" = "九"; + "20" = "十"; + }; + }; + } + ) + ( + commonModules + // { + output = "DP-2"; + "hyprland/workspaces" = hyprland-workspaces-base // { + format-icons = { + "1" = "一"; + "2" = "二"; + "3" = "三"; + "4" = "四"; + "5" = "五"; + "6" = "六"; + "7" = "七"; + "8" = "八"; + "9" = "九"; + "10" = "十"; + }; + }; + } + ) + ( + commonModules + // { + output = "DP-1"; + "hyprland/workspaces" = hyprland-workspaces-base // { + format-icons = { + "21" = "一"; + "22" = "二"; + "23" = "三"; + "24" = "四"; + "25" = "五"; + "26" = "六"; + "27" = "七"; + "28" = "八"; + "29" = "九"; + "30" = "十"; + }; + }; + } + ) + ]; + }; +} diff --git a/home/ebisu/kansai/desktop/waybar/style.css b/home/ebisu/kansai/desktop/waybar/style.css new file mode 100644 index 0000000..fda45d1 --- /dev/null +++ b/home/ebisu/kansai/desktop/waybar/style.css @@ -0,0 +1,134 @@ +* { + /* font-family: CartographCF Nerd Font, Iosevka Nerd Font, cursive; */ + /* font-family: Noto Sans Mono, Sarasa Mono J, cursive; */ + /* font-family: SF Mono, cursive; */ + /* font-family: MesloLGS NF; */ + font-family: SF Pro, Hiragino Sans, cursive; + font-size: 15px; +} + +window#waybar { + background-color: rgba(0, 0, 0, 0); + color: @foreground; + /* -gtk-icon-shadow: */ + /* -1px 0 #ffffff, */ + /* 0 1px #ffffff, */ + /* 1px 0 #ffffff, */ + /* 0 -1px #ffffff; */ +} + +#battery, +#cava, +#custom-know, +#clock, +#custom-clock, +#backlight, +#cpu, +#custom-keyboard-layout, +#memory, +#mode, +#custom-weather, +#network, +#pulseaudio, +#temperature, +#tray, +#idle_inhibitor, +#window, +#bluetooth, +#custom-power, +#workspaces, +#custom-media, +#custom-gpu, +#custom-PBPbattery { + /* padding: 0.25rem 0.75rem; */ + /* margin: 10px 5px 0px 0; */ + /* padding: 6px 11.31px; */ /* 6 + (3 * (16 / 9)) */ + padding: 5px 10px; + margin: 10px 10px 0px 0; + background-color: @background; + border-radius: 10px; /* 9 */ + color: @foreground; +} + +#image { + margin-top: 10px; + border-top-right-radius: 10px; + border-bottom-right-radius: 10px; + background-color: @background; + margin-right: 1rem; + padding-right: 1rem; +} + +#image > * { + border-radius: 10px; +} + +#image.empty { + background-color: transparent; + min-width: 0; + min-height: 0; + margin: 0; + padding: 0; +} + +window#waybar #custom-media { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + padding-right: 1rem; + margin-right: 0; +} + +window#waybar.empty #window { + background-color: transparent; + padding: 0; + margin: 0; +} + +window#custom-media.empty #window { + background-color: transparent; +} + +#workspaces button.active { + color: @color11; +} + +#workspaces button:hover { + background-color: unset; +} + +#pulseaudio { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + margin-left: 0; + padding-left: 0.5rem; + margin-right: 0; +} + +#bluetooth { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + margin-right: 0; + padding-right: 0.5rem; +} + +#memory { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + margin-left: 0; + padding-left: 0.5rem; +} + +#custom-gpu { + border-radius: 0; + margin-right: 0; + margin-left: 0; + padding-right: 0.5rem; + padding-left: 0.5rem; +} + +#cpu { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + margin-right: 0; + padding-right: 0.5rem; +} diff --git a/home/ebisu/kansai/desktop/waybar/style.css.bak b/home/ebisu/kansai/desktop/waybar/style.css.bak new file mode 100644 index 0000000..3858c71 --- /dev/null +++ b/home/ebisu/kansai/desktop/waybar/style.css.bak @@ -0,0 +1,221 @@ +@import "colors-waybar.css"; + +* { + font-family: CartographCF Nerd Font, Iosevka Nerd Font, cursive; + font-size: 14px; +} + +window#waybar { + background-color: rgba(0, 0, 0, 0); + color: @foreground; + transition-property: background-color; + transition-duration: 0.5s; +} + +window#waybar.hidden { + opacity: 0.1; +} + +#window { + color: @foreground; +} + +#clock, +#cpu, +#memory, +#custom-media, +#tray, +#mode, +#workspaces, +#battery, +#idle_inhibitor, +#window, +#custom-power-menu, +#custom-wallpaper, +#custom-launcher, +#custom-spotify, +#custom-weather, +#custom-theme, +#custom-weather.severe, +#custom-weather.sunnyDay, +#custom-weather.clearNight, +#custom-weather.cloudyFoggyDay, +#custom-weather.cloudyFoggyNight, +#custom-weather.rainyDay, +#custom-weather.rainyNight, +#custom-weather.showyIcyDay, +#custom-weather.snowyIcyNight, +#custom-weather.default { + color: @foreground; + padding: 2px 10px; + background-color: @background; + border-radius: 8px; + margin: 6px 3px 0; +} + +#window { + color: @color8; +} + +#custom-launcher { + color: @color9; + padding: 0 20px 0 20px; + margin-left: 8px; +} + +#cpu { + /* color: @color10; */ + color: @foreground; +} + +#memory { + /* color: @color11; */ + color: @foreground; +} + +#workspaces {} + +#workspaces button { + color: @color10; + box-shadow: inset 0 -3px transparent; + margin-right: 0em; + transition: all 0.5s cubic-bezier(0.55, -0.68, 0.48, 1.68); +} + +#workspaces button.active { + color: @foreground; + margin-right: 0em; + transition: all 0.5s cubic-bezier(0.55, -0.68, 0.48, 1.68); +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left>widget:first-child>#workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right>widget:last-child>#workspaces { + margin-right: 0; +} + +#tray {} + +#tray>.passive { + -gtk-icon-effect: dim; +} + +#tray>.needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +#custom-spotify { + /* color: @color10; */ + color: @color8; +} + +#custom-wallpaper { + padding: 0 18px 0 12px; + color: @color14; +} + +#custom-theme { + padding: 0 18px 0 12px; + color: @color13; +} + +#bluetooth, +#backlight, +#pulseaudio, +#network { + color: @color5; + background-color: @background; + padding: 0 12px; + margin: 6px 0 0; +} + +#bluetooth { + border-radius: 8px 0px 0px 8px; + /* color: @color11; */ + margin-left: 3px; + border-right: none; +} + +#network { + color: @color13; + padding-right: 14px; + border-right: none; + border-left: none; +} + +#network.disconnected { + color: @color11; +} + +#pulseaudio { + /* color: @color10; */ + border-left: none; + /* border-right: none; */ + border-radius: 0 8px 8px 0; + padding-right: 12px; +} + +#pulseaudio.muted { + color: @color11; +} + +#backlight { + margin-right: 3px; + padding-right: 8px; + color: @color13; + border-radius: 0 8px 8px 0; + border-left: none; +} + +#battery { + color: @color9; + border-radius: 8px; + padding: 0 12px; +} + +#battery.critical, +#battery.warning, +#battery.full, +#battery.plugged { + color: @color15; +} + +#clock { + color: @foreground; + margin-left: 6px; +} + +#custom-power-menu { + color: @color10; + margin-right: 8px; + padding: 0 12px 0 10px; +} + +@keyframes blink { + to { + background-color: rgba(30, 34, 42, 0.5); + color: #abb2bf; + } +} + +tooltip { + border-radius: 15px; + padding: 15px; + background-color: @background; + color: @foreground; + font-family: CartographCF Nerd Font; +} + +tooltip label { + padding: 5px; + color: @foreground; +} + +label:focus { + background-color: @background; +} diff --git a/home/ebisu/kansai/desktop/wlogout.nix b/home/ebisu/kansai/desktop/wlogout.nix new file mode 100644 index 0000000..4bcdb31 --- /dev/null +++ b/home/ebisu/kansai/desktop/wlogout.nix @@ -0,0 +1,114 @@ +{ pkgs, config, ... }: +{ + home.packages = with pkgs; [ wlogout ]; + + xdg.configFile = { + "wlogout/layout".text = '' + { + "label" : "lock", + "action" : "hyprlock", + "text" : "鍵をかける", + "keybind" : "l" + } + { + "label" : "hibernate", + "action" : "hyprctl dispatch dpms off && hyprlock", + "text" : "ハイブネート", + "keybind" : "h" + } + { + "label" : "logout", + "action" : "hyprctl dispatch exit", + "text" : "WMを出る", + "keybind" : "e" + } + { + "label" : "shutdown", + "action" : "doas systemctl poweroff -i", + "text" : "シャットダウン", + "keybind" : "s" + } + { + "label" : "suspend", + "action" : "doas systemctl suspend -i && hyprlock", + "text" : "寝", + "keybind" : "u" + } + { + "label" : "reboot", + "action" : "doas systemctl reboot -i", + "text" : "再起動", + "keybind" : "r" + } + ''; + + "wlogout/style.css".text = '' + @import "/home/${config.home.username}/.cache/wal/colors-waybar.css"; + + * { + background-image: none; + box-shadow: none; + } + + window { + background-color: rgba(0, 0, 0, 0.5); + } + + button { + opacity: 0.95; + border-radius: 10px; + border-color: black; + text-decoration-color: @foreground; + color: @foreground; + background-color: @background; + border-style: none; + background-repeat: no-repeat; + background-position: center; + background-size: 25%; + margin: 5px; + } + + button:focus, + button:active, + button:hover { + background-color: @color11; + } + + #lock { + background-image: image( + url("/home/${config.home.username}/.nix-profile/share/wlogout/icons/lock.png") + ); + } + + #logout { + background-image: image( + url("/home/${config.home.username}/.nix-profile/share/wlogout/icons/logout.png") + ); + } + + #suspend { + background-image: image( + url("/home/${config.home.username}/.nix-profile/share/wlogout/icons/suspend.png") + ); + } + + #hibernate { + background-image: image( + url("/home/${config.home.username}/.nix-profile/share/wlogout/icons/hibernate.png") + ); + } + + #shutdown { + background-image: image( + url("/home/${config.home.username}/.nix-profile/share/wlogout/icons/shutdown.png") + ); + } + + #reboot { + background-image: image( + url("/home/${config.home.username}/.nix-profile/share/wlogout/icons/reboot.png") + ); + } + ''; + }; +} diff --git a/home/ebisu/kansai/development/database.nix b/home/ebisu/kansai/development/database.nix new file mode 100644 index 0000000..27f7f28 --- /dev/null +++ b/home/ebisu/kansai/development/database.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + diesel-cli + redis + sqlite + ]; +} diff --git a/home/ebisu/kansai/development/default.nix b/home/ebisu/kansai/development/default.nix new file mode 100644 index 0000000..3e1e809 --- /dev/null +++ b/home/ebisu/kansai/development/default.nix @@ -0,0 +1,8 @@ +{ + imports = [ + ./languages + ./tools + ./database.nix + ./infrastructure.nix + ]; +} diff --git a/home/ebisu/kansai/development/infrastructure.nix b/home/ebisu/kansai/development/infrastructure.nix new file mode 100644 index 0000000..4372f23 --- /dev/null +++ b/home/ebisu/kansai/development/infrastructure.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + flyctl + nodePackages_latest.wrangler + nodePackages_latest.vercel + ]; +} diff --git a/home/ebisu/kansai/development/languages/agnostic.nix b/home/ebisu/kansai/development/languages/agnostic.nix new file mode 100644 index 0000000..7be3d6a --- /dev/null +++ b/home/ebisu/kansai/development/languages/agnostic.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + clang + mold + unused + ]; +} diff --git a/home/ebisu/kansai/development/languages/assembly.nix b/home/ebisu/kansai/development/languages/assembly.nix new file mode 100644 index 0000000..a1dad35 --- /dev/null +++ b/home/ebisu/kansai/development/languages/assembly.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + nasm + nasmfmt + yasm + # uxn + ]; +} diff --git a/home/ebisu/kansai/development/languages/crystal.nix b/home/ebisu/kansai/development/languages/crystal.nix new file mode 100644 index 0000000..b5092b4 --- /dev/null +++ b/home/ebisu/kansai/development/languages/crystal.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + ameba + crystal + shards + crystalline + ]; +} diff --git a/home/ebisu/kansai/development/languages/default.nix b/home/ebisu/kansai/development/languages/default.nix new file mode 100644 index 0000000..c56d868 --- /dev/null +++ b/home/ebisu/kansai/development/languages/default.nix @@ -0,0 +1,24 @@ +{ + imports = [ + # ./jvm + ./agnostic.nix + # ./assembly.nix + ./crystal.nix + # ./dotnet.nix + ./gleam.nix + ./go.nix + # ./haskell.nix + ./javascript.nix + # ./lisp.nix + # ./nim.nix + # ./ocaml.nix + ./protobuf.nix + ./python.nix + ./rust.nix + # ./shell.nix + ./swift.nix + # ./vlang.nix + ./yaml.nix + ./zig.nix + ]; +} diff --git a/home/ebisu/kansai/development/languages/dotnet.nix b/home/ebisu/kansai/development/languages/dotnet.nix new file mode 100644 index 0000000..2bd09b5 --- /dev/null +++ b/home/ebisu/kansai/development/languages/dotnet.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + dotnetCorePackages.dotnet_9.sdk + dotnetCorePackages.dotnet_9.runtime + ]; +} diff --git a/home/ebisu/kansai/development/languages/gleam.nix b/home/ebisu/kansai/development/languages/gleam.nix new file mode 100644 index 0000000..bdea22c --- /dev/null +++ b/home/ebisu/kansai/development/languages/gleam.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + erlang_nox + gleam + rebar3 + ]; +} diff --git a/home/ebisu/kansai/development/languages/go.nix b/home/ebisu/kansai/development/languages/go.nix new file mode 100644 index 0000000..e389414 --- /dev/null +++ b/home/ebisu/kansai/development/languages/go.nix @@ -0,0 +1,5 @@ +{ pkgs, ... }: +{ + programs.go.enable = true; + home.packages = with pkgs; [ gopls ]; +} diff --git a/home/ebisu/kansai/development/languages/haskell.nix b/home/ebisu/kansai/development/languages/haskell.nix new file mode 100644 index 0000000..34194f4 --- /dev/null +++ b/home/ebisu/kansai/development/languages/haskell.nix @@ -0,0 +1,14 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + ghc + haskellPackages.cabal-fmt + # haskellPackages.pier + stack + hlint + stylish-haskell + ormolu + haskell-language-server + cabal-install + ]; +} diff --git a/home/ebisu/kansai/development/languages/javascript.nix b/home/ebisu/kansai/development/languages/javascript.nix new file mode 100644 index 0000000..cc7b899 --- /dev/null +++ b/home/ebisu/kansai/development/languages/javascript.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + bun + # deno + nodePackages_latest.nodejs + yarn-berry + npkill + ]; +} diff --git a/home/ebisu/kansai/development/languages/jvm/clojure.nix b/home/ebisu/kansai/development/languages/jvm/clojure.nix new file mode 100644 index 0000000..c796cd9 --- /dev/null +++ b/home/ebisu/kansai/development/languages/jvm/clojure.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + babashka + cljfmt + clojure + leiningen + ]; +} diff --git a/home/ebisu/kansai/development/languages/jvm/default.nix b/home/ebisu/kansai/development/languages/jvm/default.nix new file mode 100644 index 0000000..7e8e9bc --- /dev/null +++ b/home/ebisu/kansai/development/languages/jvm/default.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: +{ + imports = [ + ./clojure.nix + ./scala.nix + ]; + + home.packages = with pkgs; [ + kotlin + cfr + ]; +} diff --git a/home/ebisu/kansai/development/languages/jvm/scala.nix b/home/ebisu/kansai/development/languages/jvm/scala.nix new file mode 100644 index 0000000..b116274 --- /dev/null +++ b/home/ebisu/kansai/development/languages/jvm/scala.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + scala + sbt + scalafmt + scalafix + ]; +} diff --git a/home/ebisu/kansai/development/languages/lisp.nix b/home/ebisu/kansai/development/languages/lisp.nix new file mode 100644 index 0000000..af039fa --- /dev/null +++ b/home/ebisu/kansai/development/languages/lisp.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + sbcl + racket + ]; +} diff --git a/home/ebisu/kansai/development/languages/nim.nix b/home/ebisu/kansai/development/languages/nim.nix new file mode 100644 index 0000000..8343ea6 --- /dev/null +++ b/home/ebisu/kansai/development/languages/nim.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + nim + nimble + nimlangserver + ]; +} diff --git a/home/ebisu/kansai/development/languages/ocaml.nix b/home/ebisu/kansai/development/languages/ocaml.nix new file mode 100644 index 0000000..f7721fe --- /dev/null +++ b/home/ebisu/kansai/development/languages/ocaml.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs.ocamlPackages; [ + ocaml-lsp + ocamlformat_0_26_1 + dune_3 + ]; +} diff --git a/home/ebisu/kansai/development/languages/protobuf.nix b/home/ebisu/kansai/development/languages/protobuf.nix new file mode 100644 index 0000000..19b01c3 --- /dev/null +++ b/home/ebisu/kansai/development/languages/protobuf.nix @@ -0,0 +1,4 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ protobuf ]; +} diff --git a/home/ebisu/kansai/development/languages/python.nix b/home/ebisu/kansai/development/languages/python.nix new file mode 100644 index 0000000..aaaa97e --- /dev/null +++ b/home/ebisu/kansai/development/languages/python.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + python3 + rye + mypy + black + uv + ]; +} diff --git a/home/ebisu/kansai/development/languages/rust.nix b/home/ebisu/kansai/development/languages/rust.nix new file mode 100644 index 0000000..516c61e --- /dev/null +++ b/home/ebisu/kansai/development/languages/rust.nix @@ -0,0 +1,21 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + cargo-outdated + cargo-watch + cargo-make + cargo-cache + rustup + cargo-udeps + tsutsumi.cargo-clean-all + ]; + + home.file.".local/share/cargo/config.toml".text = with pkgs; '' + [build] + rustc-wrapper = "${sccache}/bin/sccache" + + [target.x86_64-unknown-linux-gnu] + linker = "${clang}/bin/clang" + rustflags = ["-Clink-args=-fuse-ld=${mold}/bin/mold"] + ''; +} diff --git a/home/ebisu/kansai/development/languages/shell.nix b/home/ebisu/kansai/development/languages/shell.nix new file mode 100644 index 0000000..fa0dd45 --- /dev/null +++ b/home/ebisu/kansai/development/languages/shell.nix @@ -0,0 +1,4 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ shfmt ]; +} diff --git a/home/ebisu/kansai/development/languages/swift.nix b/home/ebisu/kansai/development/languages/swift.nix new file mode 100644 index 0000000..da5bbc7 --- /dev/null +++ b/home/ebisu/kansai/development/languages/swift.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + swift + # swiftlint + swift-format + swiftpm + sourcekit-lsp + ]; +} diff --git a/home/ebisu/kansai/development/languages/vlang.nix b/home/ebisu/kansai/development/languages/vlang.nix new file mode 100644 index 0000000..bd3cd77 --- /dev/null +++ b/home/ebisu/kansai/development/languages/vlang.nix @@ -0,0 +1,4 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ vlang ]; +} diff --git a/home/ebisu/kansai/development/languages/yaml.nix b/home/ebisu/kansai/development/languages/yaml.nix new file mode 100644 index 0000000..468ab45 --- /dev/null +++ b/home/ebisu/kansai/development/languages/yaml.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + yamllint + yamlfix + yamlfmt + ]; +} diff --git a/home/ebisu/kansai/development/languages/zig.nix b/home/ebisu/kansai/development/languages/zig.nix new file mode 100644 index 0000000..4cb900b --- /dev/null +++ b/home/ebisu/kansai/development/languages/zig.nix @@ -0,0 +1,14 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + zig + zls + ]; + + xdg.configFile."zls.json".text = '' + { + "enable_build_on_save": true, + "build_on_save_step": "check" + } + ''; +} diff --git a/home/ebisu/kansai/development/tools/build.nix b/home/ebisu/kansai/development/tools/build.nix new file mode 100644 index 0000000..6b0c770 --- /dev/null +++ b/home/ebisu/kansai/development/tools/build.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + cmake + just + tup + meson + ninja + sccache + ]; +} diff --git a/home/ebisu/kansai/development/tools/default.nix b/home/ebisu/kansai/development/tools/default.nix new file mode 100644 index 0000000..ecde494 --- /dev/null +++ b/home/ebisu/kansai/development/tools/default.nix @@ -0,0 +1,24 @@ +{ inputs, pkgs, ... }: +{ + imports = [ + ./build.nix + ./git.nix + ]; + + home.packages = with pkgs; [ + clang-tools + gtkwave + highlight + hyperfine + sloc + wakatime-cli + linuxKernel.packages.linux_zen.perf + radare2 + global + valgrind + mise + tsutsumi.wakatime-ls + markdownlint-cli + inputs.nix-prettier.packages.${pkgs.system}.default + ]; +} diff --git a/home/ebisu/kansai/development/tools/git.nix b/home/ebisu/kansai/development/tools/git.nix new file mode 100644 index 0000000..0616c40 --- /dev/null +++ b/home/ebisu/kansai/development/tools/git.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + delta + gh + onefetch + gitoxide + tsutsumi.git-sumi + git-crypt + git-lfs + bit + ]; +} diff --git a/home/ebisu/kansai/fortune/communication/catgirl.nix b/home/ebisu/kansai/fortune/communication/catgirl.nix deleted file mode 100644 index dc5ce6f..0000000 --- a/home/ebisu/kansai/fortune/communication/catgirl.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - pkgs, - secrets, - config, - ... -}: -{ - home.packages = [ pkgs.catgirl ]; - - sops.secrets = - let - catgirlSecrets = secrets.catgirl; - in - builtins.listToAttrs ( - map (i: { - name = "catgirl/${toString i}"; - value = { - path = "${config.xdg.configHome}/catgirl/${catgirlSecrets.${toString i}}"; - }; - }) (pkgs.lib.range 0 3) - ); -} diff --git a/home/ebisu/kansai/fortune/communication/default.nix b/home/ebisu/kansai/fortune/communication/default.nix deleted file mode 100644 index a6d40b1..0000000 --- a/home/ebisu/kansai/fortune/communication/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, ... }: -{ - imports = [ - ./discord - ./irc.nix - ]; - - home.packages = with pkgs; [ - revolt-desktop - newsboat - pidgin - ]; -} diff --git a/home/ebisu/kansai/fortune/communication/discord/default.nix b/home/ebisu/kansai/fortune/communication/discord/default.nix deleted file mode 100644 index a978822..0000000 --- a/home/ebisu/kansai/fortune/communication/discord/default.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ - imports = [ ./vesktop.nix ]; - # home.packages = with pkgs; [ pkgs.discord-canary ]; -} diff --git a/home/ebisu/kansai/fortune/communication/discord/vesktop.nix b/home/ebisu/kansai/fortune/communication/discord/vesktop.nix deleted file mode 100644 index 50d788f..0000000 --- a/home/ebisu/kansai/fortune/communication/discord/vesktop.nix +++ /dev/null @@ -1,649 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ vesktop ]; - services.arrpc.enable = false; - - xdg.configFile = { - "vesktop/settings.json".text = '' - { - "discordBranch": "canary", - "arRPC": "on", - "splashColor": "rgba(255, 255, 255, 0.6)", - "splashBackground": "rgba(21, 14, 13, 0.52)", - "enableMenu": false, - "splashTheming": true, - "staticTitle": false, - "disableMinSize": true, - "minimizeToTray": false, - "tray": false, - "appBadge": false - } - ''; - - "vesktop/settings/quickCss.css".text = '' - /** - * @name Dark Matter - * @author Tropical#8908, Hammock#3110 - * @version 3.0.0 - * @description A cold, dark & frosty theme. - * @source https://github.com/DiscordStyles/DarkMatter/ - */ - - @import url('https://DiscordStyles.github.io/DarkMatter/src/base.css'); - - /* Variables */ - :root { - --avatar-size: 32px; - --background-image: url('https://images6.alphacoders.com/109/1093313.jpg'); - --home-image: url('https://shinobu.fuwn.workers.dev/shinobu'); - --background-solid: #150e0d85; - --background-solid-dark: #0f0a0985; - --background-solid-darker: #0b070685; - --accent: 216, 161, 110; - --accent-alt: 196, 141, 90; - } - ''; - - "vesktop/settings/settings.json".text = '' - { - "notifyAboutUpdates": true, - "autoUpdate": true, - "autoUpdateNotification": true, - "useQuickCss": true, - "themeLinks": [], - "enabledThemes": [], - "enableReactDevtools": true, - "frameless": true, - "transparent": false, - "winCtrlQ": false, - "macosTranslucency": false, - "disableMinSize": false, - "winNativeTitleBar": false, - "plugins": { - "BadgeAPI": { - "enabled": true - }, - "CommandsAPI": { - "enabled": true - }, - "ContextMenuAPI": { - "enabled": true - }, - "MemberListDecoratorsAPI": { - "enabled": true - }, - "MessageAccessoriesAPI": { - "enabled": true - }, - "MessageDecorationsAPI": { - "enabled": true - }, - "MessageEventsAPI": { - "enabled": true - }, - "MessagePopoverAPI": { - "enabled": true - }, - "NoticesAPI": { - "enabled": true - }, - "ServerListAPI": { - "enabled": true - }, - "NoTrack": { - "enabled": true - }, - "Settings": { - "enabled": true, - "settingsLocation": "aboveActivity" - }, - "SupportHelper": { - "enabled": true - }, - "AlwaysAnimate": { - "enabled": true - }, - "AlwaysTrust": { - "enabled": true - }, - "AnonymiseFileNames": { - "enabled": true, - "method": 0, - "randomisedLength": 7, - "consistent": "image" - }, - "WebRichPresence (arRPC)": { - "enabled": true - }, - "BANger": { - "enabled": false - }, - "BetterFolders": { - "enabled": false, - "sidebar": true, - "showFolderIcon": 1, - "closeAllHomeButton": false, - "keepIcons": false, - "sidebarAnim": true, - "closeOthers": false, - "closeAllFolders": false, - "forceOpen": false - }, - "BetterGifAltText": { - "enabled": true - }, - "BetterNotesBox": { - "enabled": false - }, - "BetterRoleDot": { - "enabled": false - }, - "BetterUploadButton": { - "enabled": true - }, - "BiggerStreamPreview": { - "enabled": true - }, - "BlurNSFW": { - "enabled": false - }, - "CallTimer": { - "enabled": true, - "format": "human" - }, - "ClearURLs": { - "enabled": true - }, - "ColorSighted": { - "enabled": true - }, - "ConsoleShortcuts": { - "enabled": false - }, - "CopyUserURLs": { - "enabled": true - }, - "CrashHandler": { - "enabled": true, - "attemptToPreventCrashes": true, - "attemptToNavigateToHome": true - }, - "CustomRPC": { - "enabled": false - }, - "Dearrow": { - "enabled": true - }, - "EmoteCloner": { - "enabled": true - }, - "Experiments": { - "enabled": true, - "enableIsStaff": false - }, - "F8Break": { - "enabled": false - }, - "FakeNitro": { - "enabled": false, - "enableEmojiBypass": true, - "emojiSize": 48, - "transformEmojis": true, - "enableStickerBypass": true, - "stickerSize": 160, - "transformStickers": true, - "transformCompoundSentence": false, - "enableStreamQualityBypass": true - }, - "FakeProfileThemes": { - "enabled": false - }, - "FavoriteEmojiFirst": { - "enabled": true - }, - "FavoriteGifSearch": { - "enabled": true - }, - "FixSpotifyEmbeds": { - "enabled": true, - "volume": 5 - }, - "ForceOwnerCrown": { - "enabled": false - }, - "FriendInvites": { - "enabled": false - }, - "GameActivityToggle": { - "enabled": true - }, - "GifPaste": { - "enabled": false - }, - "GreetStickerPicker": { - "enabled": true - }, - "HideAttachments": { - "enabled": false - }, - "iLoveSpam": { - "enabled": false - }, - "IgnoreActivities": { - "enabled": false - }, - "ImageZoom": { - "enabled": true, - "saveZoomValues": true, - "invertScroll": true, - "nearestNeighbour": false, - "square": false, - "zoom": 2, - "size": 100, - "zoomSpeed": 0.5 - }, - "InvisibleChat": { - "enabled": true, - "savedPasswords": "password, Password" - }, - "KeepCurrentChannel": { - "enabled": false - }, - "LastFMRichPresence": { - "enabled": false - }, - "LoadingQuotes": { - "enabled": true, - "replaceEvents": true - }, - "MemberCount": { - "enabled": true - }, - "MessageClickActions": { - "enabled": false - }, - "MessageLinkEmbeds": { - "enabled": true, - "automodEmbeds": "never", - "listMode": "blacklist", - "idList": "" - }, - "MessageLogger": { - "enabled": true, - "deleteStyle": "text", - "ignoreBots": false, - "ignoreSelf": false, - "ignoreUsers": "", - "ignoreChannels": "", - "ignoreGuilds": "" - }, - "MessageTags": { - "enabled": false - }, - "MoreCommands": { - "enabled": true - }, - "MoreKaomoji": { - "enabled": true - }, - "MoreUserTags": { - "enabled": false - }, - "Moyai": { - "enabled": false, - "volume": 0.5, - "quality": "Normal", - "triggerWhenUnfocused": true, - "ignoreBots": true, - "ignoreBlocked": true - }, - "MutualGroupDMs": { - "enabled": true - }, - "NoBlockedMessages": { - "enabled": false - }, - "NoDevtoolsWarning": { - "enabled": true - }, - "NoF1": { - "enabled": true - }, - "NoMosaic": { - "enabled": false - }, - "NoPendingCount": { - "enabled": false - }, - "NoProfileThemes": { - "enabled": false - }, - "NoReplyMention": { - "enabled": false - }, - "NoScreensharePreview": { - "enabled": true - }, - "NoTypingAnimation": { - "enabled": true - }, - "NoUnblockToJump": { - "enabled": true - }, - "NormalizeMessageLinks": { - "enabled": true - }, - "NSFWGateBypass": { - "enabled": false - }, - "OnePingPerDM": { - "enabled": true, - "channelToAffect": "both_dms", - "allowMentions": false, - "allowEveryone": false - }, - "oneko": { - "enabled": true - }, - "OpenInApp": { - "enabled": false - }, - "PermissionFreeWill": { - "enabled": false - }, - "PermissionsViewer": { - "enabled": true, - "permissionsSortOrder": 0, - "defaultPermissionsDropdownState": false - }, - "petpet": { - "enabled": true - }, - "PictureInPicture": { - "enabled": false - }, - "PinDMs": { - "enabled": false - }, - "PlainFolderIcon": { - "enabled": false - }, - "PlatformIndicators": { - "enabled": true, - "list": true, - "badges": true, - "messages": true, - "colorMobileIndicator": true - }, - "PreviewMessage": { - "enabled": false - }, - "PronounDB": { - "enabled": true, - "pronounsFormat": "LOWERCASE", - "pronounSource": 0, - "showSelf": true, - "showInMessages": true, - "showInProfile": true - }, - "QuickMention": { - "enabled": false - }, - "QuickReply": { - "enabled": false - }, - "ReactErrorDecoder": { - "enabled": true - }, - "ReadAllNotificationsButton": { - "enabled": true - }, - "RelationshipNotifier": { - "enabled": true, - "offlineRemovals": true, - "groups": true, - "servers": true, - "notices": false, - "friends": true, - "friendRequestCancels": true - }, - "RevealAllSpoilers": { - "enabled": false - }, - "ReverseImageSearch": { - "enabled": true - }, - "RoleColorEverywhere": { - "enabled": true, - "chatMentions": true, - "memberList": true, - "voiceUsers": true - }, - "SearchReply": { - "enabled": true - }, - "SecretRingToneEnabler": { - "enabled": true - }, - "SendTimestamps": { - "enabled": false - }, - "ServerListIndicators": { - "enabled": true, - "mode": 2 - }, - "ShikiCodeblocks": { - "enabled": true, - "theme": "https://raw.githubusercontent.com/shikijs/shiki/0b28ad8ccfbf2615f2d9d38ea8255416b8ac3043/packages/shiki/themes/dark-plus.json", - "tryHljs": "SECONDARY", - "useDevIcon": "GREYSCALE", - "bgOpacity": 100 - }, - "ShowAllMessageButtons": { - "enabled": false - }, - "ShowConnections": { - "enabled": true, - "iconSpacing": 1, - "iconSize": 32 - }, - "ShowHiddenChannels": { - "enabled": true, - "hideUnreads": true, - "showMode": 0, - "defaultAllowedUsersAndRolesDropdownState": true - }, - "ShowMeYourName": { - "enabled": true, - "mode": "nick-user", - "displayNames": false, - "inReplies": false - }, - "SilentMessageToggle": { - "enabled": false - }, - "SilentTyping": { - "enabled": true, - "showIcon": true, - "isEnabled": true - }, - "SortFriendRequests": { - "enabled": true, - "showDates": true - }, - "SpotifyControls": { - "enabled": true, - "hoverControls": true, - "useSpotifyUris": true - }, - "SpotifyCrack": { - "enabled": true, - "noSpotifyAutoPause": true, - "keepSpotifyActivityOnIdle": false - }, - "SpotifyShareCommands": { - "enabled": true - }, - "StartupTimings": { - "enabled": true - }, - "TextReplace": { - "enabled": false - }, - "ThemeAttributes": { - "enabled": false - }, - "TimeBarAllActivities": { - "enabled": false - }, - "Translate": { - "enabled": true, - "autoTranslate": false - }, - "TypingIndicator": { - "enabled": false - }, - "TypingTweaks": { - "enabled": false - }, - "Unindent": { - "enabled": false - }, - "UnsuppressEmbeds": { - "enabled": false - }, - "UrbanDictionary": { - "enabled": false - }, - "UserVoiceShow": { - "enabled": true - }, - "USRBG": { - "enabled": false, - "nitroFirst": true, - "voiceBackground": true - }, - "ValidUser": { - "enabled": false - }, - "VoiceChatDoubleClick": { - "enabled": true - }, - "VcNarrator": { - "enabled": false - }, - "VencordToolbox": { - "enabled": false - }, - "ViewIcons": { - "enabled": false - }, - "ViewRaw": { - "enabled": false - }, - "VoiceMessages": { - "enabled": false - }, - "WebContextMenus": { - "enabled": true, - "addBack": true - }, - "WebKeybinds": { - "enabled": true - }, - "WhoReacted": { - "enabled": false - }, - "Wikisearch": { - "enabled": false - }, - "SuperReactionTweaks": { - "enabled": false - }, - "ChatInputButtonAPI": { - "enabled": true - }, - "BetterGifPicker": { - "enabled": false - }, - "ClientTheme": { - "enabled": false - }, - "Decor": { - "enabled": false - }, - "FixCodeblockGap": { - "enabled": false - }, - "FixYoutubeEmbeds": { - "enabled": false - }, - "DisableCallIdle": { - "enabled": true - }, - "NewGuildSettings": { - "enabled": true, - "guild": true, - "everyone": true, - "role": true - }, - "ShowHiddenThings": { - "enabled": false - }, - "PartyMode": { - "enabled": false, - "superIntensePartyMode": 0 - }, - "MessageUpdaterAPI": { - "enabled": true - }, - "AutomodContext": { - "enabled": false - }, - "BetterRoleContext": { - "enabled": false - }, - "BetterSessions": { - "enabled": false - }, - "BetterSettings": { - "enabled": false - }, - "CtrlEnterSend": { - "enabled": false - }, - "CustomIdle": { - "enabled": false - }, - "DontRoundMyTimestamps": { - "enabled": false - }, - "FriendsSince": { - "enabled": false - }, - "ImageLink": { - "enabled": false - }, - "ImplicitRelationships": { - "enabled": false - }, - "ServerInfo": { - "enabled": true - } - }, - "notifications": { - "timeout": 5000, - "position": "bottom-right", - "useNative": "not-focused", - "logLimit": 50 - }, - "cloud": { - "authenticated": false, - "url": "https://api.vencord.dev/", - "settingsSync": false, - "settingsSyncVersion": 1717817629006 - } - } - ''; - }; -} diff --git a/home/ebisu/kansai/fortune/communication/irc.nix b/home/ebisu/kansai/fortune/communication/irc.nix deleted file mode 100644 index 81ce13e..0000000 --- a/home/ebisu/kansai/fortune/communication/irc.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: -{ - imports = [ ./catgirl.nix ]; - - home.packages = with pkgs; [ - litterbox - pounce - ]; -} diff --git a/home/ebisu/kansai/fortune/default.nix b/home/ebisu/kansai/fortune/default.nix deleted file mode 100644 index 789ff32..0000000 --- a/home/ebisu/kansai/fortune/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ inputs, ... }: -{ - imports = [ - ./communication - ./desktop - ./development - ./multimedia - ./networking - ./scripts - ./system - ./gaming.nix - ]; - - home.packages = [ - inputs.notion-repackaged.packages.x86_64-linux.notion-repackaged - ]; -} diff --git a/home/ebisu/kansai/fortune/desktop/clipboard.nix b/home/ebisu/kansai/fortune/desktop/clipboard.nix deleted file mode 100644 index 0f99fcd..0000000 --- a/home/ebisu/kansai/fortune/desktop/clipboard.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - wl-clipboard - cliphist - ]; -} diff --git a/home/ebisu/kansai/fortune/desktop/default.nix b/home/ebisu/kansai/fortune/desktop/default.nix deleted file mode 100644 index 02a4395..0000000 --- a/home/ebisu/kansai/fortune/desktop/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ pkgs, ... }: -{ - imports = [ - ./hyprland - ./waybar - ./clipboard.nix - ./mako.nix - ./rofi.nix - ./screenshot.nix - ./wlogout.nix - ]; - - home.packages = with pkgs; [ - gammastep - wlr-randr - ydotool - swappy - swww - hyprpicker - tsutsumi.swaddle - showmethekey - brightnessctl - bibata-cursors - xorg.xlsclients - libnotify - wayneko - activate-linux - ]; -} diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/default.nix b/home/ebisu/kansai/fortune/desktop/hyprland/default.nix deleted file mode 100644 index 2e9546e..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ inputs, pkgs, ... }: -{ - imports = [ - ./hypridle.nix - ./hyprland - ./hyprlock.nix - # ./hyprpaper.nix - ]; - - wayland.windowManager.hyprland = with inputs; { - enable = true; - package = hyprland.packages.${pkgs.system}.hyprland; - xwayland.enable = true; - - systemd = { - enable = true; - - variables = [ "--all" ]; - }; - }; - - xdg.configFile."hypr/xdph.conf".text = '' - screencopy { - # max_fps = 120 - allow_token_by_default = true - } - ''; -} diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hypridle.nix b/home/ebisu/kansai/fortune/desktop/hyprland/hypridle.nix deleted file mode 100644 index d1b0835..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hypridle.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ pkgs, ... }: -{ - services.hypridle = { - enable = true; - - settings = { - "$lock_command" = "pidof ${pkgs.hyprlock}/bin/hyprlock || ${pkgs.hyprlock}/bin/hyprlock"; - # $suspend_command = pidof steam || systemctl suspend || loginctl suspend - - general = { - lock_cmd = "$lock_command"; - # before_sleep_cmd = $suspend_command - before_sleep_cmd = "${pkgs.playerctl}/bin/playerctl pause"; - ignore_dbus_inhibit = false; - ignore_systemd_inhibit = false; - }; - - listener = [ - { - timeout = 180; # 3 minutes - on-timeout = "$lock_command"; - } - { - timeout = 240; # 4 minutes - on-timeout = "hyprctl dispatch dpms off"; - on-resume = "hyprctl dispatch dpms on"; - } - # { - # timeout = 540; # 9 minutes - # on-timeout = "$suspend_cmd"; - # } - ]; - }; - }; -} diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/animations.nix b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/animations.nix deleted file mode 100644 index a61026d..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/animations.nix +++ /dev/null @@ -1,84 +0,0 @@ -{ - wayland.windowManager.hyprland.extraConfig = '' - # animations { - # enabled = yes - - # # bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - - # # animation = windows, 1, 5, myBezier - # # animation = windowsOut, 1, 7, default, popin - # # animation = border, 1, 10, default - # # animation = fade, 1, 7, default - # # animation = workspaces, 1, 6, default, slidevert - - # # bezier = overshot,0.5,0.1,0.4,1.2 - - # # animation = global, 1, 3, default - # # animation = workspaces, 1, 4, default - # # animation = windowsMove, 1, 2, default - # # animation = fade, 1, 2, default - - # bezier = overshot, 0.05, 0.5, 0.1, 1.05 - # bezier = smoothOut, 0.36, 0, 0.66, -0.56 - # bezier = smoothIn, 0.25, 0.8, 0.5, 1 - - # animation = windows, 1, 5, overshot, slide - # animation = windowsOut, 1, 4, smoothOut, slide - # animation = windowsMove, 1, 4, default - # animation = border, 1, 10, default - # animation = fade, 1, 10, smoothIn - # animation = fadeDim, 1, 10, smoothIn - # animation = workspaces, 1, 6, default - # } - - bezier = smoothIn, 0.25, 1, 0.5, 1 - bezier = wind, 0.05, 0.9, 0.1, 1.06 - bezier = winIn, 0.1, 1.1, 0.1, 1.05 - bezier = linear, 1, 1, 1, 1 - - animations { - enabled = yes - - # buttery_smoooooooth... (slide) - # animation = windows, 1, 5, default, slide - # animation = windowsOut, 1, 8, smoothIn, slide - # animation = windowsMove, 1, 7, default - # animation = fade, 1, 5, smoothIn - # animation = fadeOut, 1, 4, smoothIn - # animation = fadeDim, 1, 3, smoothIn - # animation = workspaces, 1, 5, default, slidefadevert - # animation = specialWorkspace, 1, 5, default, fade - - # buttery_smoooooooth... (Popin...) - # animation = windows, 1, 3, default, popin 70% - # animation = windowsOut, 1, 20, default, popin 85% - # animation = windowsMove, 1, 7, default - # animation = fade, 1, 6, smoothIn - # animation = fadeOut, 1, 3, smoothIn - # animation = fadeDim, 1, 3, smoothIn - # animation = workspaces, 1, 5, wind, slidefadevert 40% - - # fasssstt popin - animation = windows, 1, 2, default, popin 80% - animation = windowsOut, 1, 5, default, popin 90% - animation = windowsMove, 1, 5, default - animation = layers, 1, 3, default, popin 90% - animation = fade, 1, 4, smoothIn - animation = fadeOut, 1, 2, smoothIn - animation = fadeDim, 1, 3, smoothIn - animation = workspaces, 1, 3, default, slidefadevert 15% - animation = specialWorkspace, 1, 3, default, slidefadevert 15% - - # Random... - # animation = windows, 1, 5, wind, slide - # animation = windowsIn, 1, 4, winIn, slide - # animation = windowsOut, 1 , 7, smoothIn, slide - # animation = windowsMove, 1, 6, default - # animation = fade, 1, 5, smoothIn - # animation = fadeOut, 1, 3, smoothIn - # animation = fadeDim, 1, 3, smoothIn - # animation = workspaces, 1, 4, wind, slidefadevert 15% - # animation = specialWorkspace, 1, 3, default, slidefadevert 15% - } - ''; -} diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/binds.nix b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/binds.nix deleted file mode 100644 index 692b17c..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/binds.nix +++ /dev/null @@ -1,200 +0,0 @@ -{ pkgs, config, ... }: -{ - wayland.windowManager.hyprland = { - settings = { - "$mod" = "SUPER"; - "$mail" = "${pkgs.mailspring}/bin/mailspring --password-store=\"gnome-libsecret\" --enable-features=UseOzonePlatform --ozone-platform=wayland"; - "$script_path" = "${config.xdg.configHome}/hypr/hyprland/scripts"; - "$terminal" = "${pkgs.kitty}/bin/kitty"; - "$top" = "$terminal -e rofi -modi top -show top"; # "$terminal -e htop" - - bind = - builtins.concatLists ( - builtins.genList ( - x: - let - ws = - let - c = (x + 1) / 10; - in - builtins.toString (x + 1 - (c * 10)); - in - [ - # Switch pseudo-tag (workspaces) - "$mod, ${ws}, exec, $script_path/switch_workspace ${toString (x + 1)}" - # "$mod, ${ws}, split-workspace, ${toString (x + 1)}" - - # Move window to pseudo-tag (workspace) - "$mod SHIFT, ${ws}, exec, $script_path/move_window_to_workspace ${toString (x + 1)}" - # "$mod SHIFT, ${ws}, split-movetoworkspacesilent, ${toString (x + 1)}" - ] - ) 10 - ) - ++ [ - # Scratchpads - # "$mod, apostrophe, exec, hyprctl dispatch togglespecialworkspace simple_calculator" - "$mod SHIFT, return, exec, hyprctl dispatch togglespecialworkspace simple_terminal" - "$mod SHIFT, c, exec, hyprctl dispatch togglespecialworkspace chatgpt" - "$mod SHIFT, s, exec, hyprctl dispatch togglespecialworkspace spotify" - "$mod SHIFT, apostrophe, exec, hyprctl dispatch togglespecialworkspace calculator" - - # Focus - "$mod, k, movefocus, u" - "$mod, j, movefocus, d" - "$mod, l, movefocus, r" - "$mod, h, movefocus, l" - "$mod, tab, hyprexpo:expo" - - # Rofi - "$mod, grave, exec, rofi -modi emoji -show emoji" - "$mod, apostrophe, exec, rofi -modi emoji -show calc" - - # Volume control - "$mod, MINUS, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" - "$mod SHIFT, MINUS, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 15%-" - "$mod, EQUAL, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" - "$mod SHIFT, EQUAL, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 15%+" - - # Session control - "$mod SHIFT, Q, exec, wlogout" - "$mod SHIFT, R, exec, hyprctl reload" - - # Window control - "$mod, F, fullscreen" - # "$mod SHIFT, F, fullscreen, 2" - "$mod SHIFT, F, exec, hyprctl dispatch fakefullscreen && $script_path/fake_fullscreen_status" - "$mod, G, togglefloating" - "$mod, P, pseudo" - "$mod SHIFT, P, pin" - "$mod, T, togglesplit" - "$mod, U, focusurgentorlast" - "$mod, Q, killactive" - "$mod, S, exec, hyprctl keyword window:sticky 1" - "$mod, b, exec, pkill -SIGUSR1 waybar" - "$mod, SPACE, layoutmsg, swapwithmaster" - "$mod, V, exec, $script_path/toggle_layout" - - # Application binds - "$mod, W, exec, $BROWSER" - "$mod SHIFT, W, exec, $terminal -e sudo nmtui" - "$mod, E, exec, $mail" - "$mod SHIFT, R, exec, $top" - "$mod, R, exec, rofi -show run" - "$mod SHIFT, D, exec, bitwarden-desktop" - "$mod, RETURN, exec, $terminal" - "$mod SHIFT, N, exec, $BROWSER https://sumi.news" - "$mod, M, exec, spotify" - "$mod SHIFT, M, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" - "$mod ALT, A, exec, hyprpicker -a" - - # Launchers - "$mod, D, exec, rofi -show combi" - "$mod, C, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy" - - # Spotify control - "$mod, P, exec, spt pb --toggle" - "$mod SHIFT, P, exec, mpc pause; pauseallmpv" - "$mod, BRACKETLEFT, exec, spt pb --seek -10" - "$mod SHIFT, BRACKETLEFT, exec, spt pb --seek -60" - "$mod, BRACKETRIGHT, exec, spt pb --seek +10" - "$mod SHIFT, BRACKETRIGHT, exec, spt pb --seek +60" - "$mod, COMMA, exec, spt pb --pp" - "$mod, PERIOD, exec, spt pb --next" - "$mod SHIFT, PERIOD, exec, spt pb --previous" - - # Gaps control - "$mod, a, exec, $script_path/toggle_gaps" - "$mod SHIFT, a, exec, bash -c 'hyprctl keyword general:gaps_in 5; hyprctl keyword general:gaps_out 10'" - - # Increment gaps - "$mod, mouse_up, exec, hyprctl keyword general:gaps_out `expr $(hyprctl getoption general:gaps_out | awk '{ print $3 }') + 3`" - "$mod, mouse_up, exec, hyprctl keyword general:gaps_in `expr $(hyprctl getoption general:gaps_in | awk '{ print $3 }') + 2`" - - # Decrement gaps - "$mod, mouse_down, exec, hyprctl keyword general:gaps_out `expr $(hyprctl getoption general:gaps_out | awk '{ print $3 }') - 3`" - "$mod, mouse_down, exec, hyprctl keyword general:gaps_in `expr $(hyprctl getoption general:gaps_in | awk '{ print $3 }') - 2`" - - # Move focus to monitor - "$mod, LEFT, exec, $script_path/move_focus_to_monitor left" - "$mod, RIGHT, exec, $script_path/move_focus_to_monitor right" - - # Move window to monitor - "$mod SHIFT, h, exec, $script_path/move_window_to_monitor left" - "$mod SHIFT, l, exec, $script_path/move_window_to_monitor right" - - # Screenshot - ", Print, exec, screenshot --area" - "$mod SHIFT, Print, exec, screenshot --window" - "$mod CTRL, Print, exec, screenshot --monitor" - "$mod, Print, exec, screenshot --now" - "$mod SHIFT, v, exec, screenshot --now --clipboard && hyprctl dispatch togglespecialworkspace chatgpt && ydotool key 42:1 1:1 1:0 42:0 29:1 47:1 29:0 47:0" - - # Media keys - # ... - ]; - - binde = [ - # Increment gaps - "$mod, Z, exec, hyprctl --batch \"keyword general:gaps_out `expr $(hyprctl getoption general:gaps_out | awk '{ print $3 }') + 3`; keyword general:gaps_in `expr $(hyprctl getoption general:gaps_in | awk '{ print $3 }') + 2`\"" - - # Decrement gaps - "$mod, X, exec, hyprctl --batch \"keyword general:gaps_out `expr $(hyprctl getoption general:gaps_out | awk '{ print $3 }') - 3`; keyword general:gaps_in `expr $(hyprctl getoption general:gaps_in | awk '{ print $3 }') - 2`\"" - - # Resize active window - "$mod SHIFT, UP, resizeactive, 0 -50" - "$mod SHIFT, DOWN, resizeactive, 0 50" - "$mod SHIFT, RIGHT, resizeactive, 50 0" - "$mod SHIFT, LEFT, resizeactive, -50 0" - - # Move active window - "$mod ALT, k, moveactive, 0 -100" - "$mod ALT, j, moveactive, 0 100" - "$mod ALT, l, moveactive, 100 0" - "$mod ALT, h, moveactive, -100 0" - ]; - - bindm = [ - # Move window with mouse - "$mod, mouse:272, movewindow" - "$mod, mouse:273, resizewindow" - "$mod SHIFT, mouse:273, resizewindow 1" - ]; - }; - - extraConfig = '' - # Media keys - bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle - bind = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0%- && wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ - bind = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0%+ && wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- - bind = , XF86AudioPrev, exec, playerctl previous - bind = , XF86AudioNext, exec, playerctl next - bind = , XF86AudioPause, exec, playerctl play-pause - bind = , XF86AudioPlay, exec, playerctl play-pause - bind = , XF86AudioStop, exec, playerctl stop - bind = , XF86AudioRewind, exec, playerctl position -10 - bind = , XF86AudioForward, exec, playerctl position +10 - bind = , XF86AudioMedia, exec, spotify - bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle - - # Other media keys - bind = , XF86Calculator, exec, $terminal -e bc -l - bind = , XF86Sleep, exec, sudo -A zzz - bind = , XF86WWW, exec, $BROWSER - bind = , XF86DOS, exec, $terminal - bind = , XF86ScreenSaver, exec, pidof hyprlock || hyprlock && hyprctl dispatch dpms off - bind = , XF86TaskPane, exec, $top - bind = , XF86Mail, exec, $mail - bind = , XF86MyComputer, exec, $terminal -e ranger - bind = , XF86Launch1, exec, hyprctl dispatch dpms off - - # Touchpad control - bind = , XF86TouchpadToggle, exec, (synclient | grep 'TouchpadOff.*1' && synclient TouchpadOff=0) || synclient TouchpadOff=1 - bind = , XF86TouchpadOff, exec, synclient TouchpadOff=1 - bind = , XF86TouchpadOn, exec, synclient TouchpadOff=0 - - # Brightness control - bind = , XF86MonBrightnessUp, exec, xbacklight -inc 15 - bind = , XF86MonBrightnessDown, exec, xbacklight -dec 15 - ''; - }; -} diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/decoration.nix b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/decoration.nix deleted file mode 100644 index 2625f42..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/decoration.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ - wayland.windowManager.hyprland.settings.decoration = { - rounding = 10; - drop_shadow = true; - shadow_ignore_window = true; - shadow_range = 8; - shadow_render_power = 10; - shadow_offset = "2 2"; - "col.shadow" = "rgba(00000055)"; # 2A - - blurls = [ - "gtk-layer-shell" - "lockscreen" - ]; - - # active_opacity = 0.9 - # inactive_opacity = 0.7 - # fullscreen_opacity = 1.0 - active_opacity = 1.0; - inactive_opacity = 0.95; - - blur = { - enabled = true; - xray = true; - special = false; - # size = 1; - passes = 2; - ignore_opacity = true; - new_optimizations = true; - # vibrancy = 0.1696; - # noise = 0.01; - brightness = 1; - contrast = 1; - - popups = true; - popups_ignorealpha = 0.6; - }; - - dim_special = 0.35; - dim_inactive = false; - dim_strength = 0.1; - }; -} diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/default.nix b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/default.nix deleted file mode 100644 index 52b9b08..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ - imports = [ - ./animations.nix - ./binds.nix - ./decoration.nix - ./environment.nix - ./executions.nix - ./general.nix - ./plugins.nix - ./rules.nix - ./workspaces.nix - ]; - - xdg.configFile = builtins.listToAttrs ( - map - (script: { - name = "hypr/hyprland/scripts/${script}"; - - value = { - source = ./scripts/${script}; - }; - }) - [ - "common.sh" - "fake_fullscreen_status" - "move_focus_to_monitor" - "move_window_to_monitor" - "move_window_to_workspace" - "switch_workspace" - "toggle_gaps" - "toggle_layout" - ] - ); -} diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/environment.nix b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/environment.nix deleted file mode 100644 index 252b53a..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/environment.nix +++ /dev/null @@ -1,16 +0,0 @@ -let - cursorSize = "18"; -in -{ - wayland.windowManager.hyprland.settings.env = [ - # Cursor - "XCURSOR_SIZE, ${cursorSize}" - "HYPRCURSOR_SIZE, ${cursorSize}" - "HYPERCURSOR_THEME, Bibata-Modern-Ice" # WhiteSur-cursors - "XCURSOR_THEME, Bibata-Modern-Ice" - - # XDG - "XDG_CURRENT_DESKTOP, Hyprland" - "XDG_SESSION_DESKTOP, Hyprland" - ]; -} diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/executions.nix b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/executions.nix deleted file mode 100644 index 446ed73..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/executions.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ pkgs, ... }: -{ - wayland.windowManager.hyprland.settings.exec-once = [ - # One-shots - "hyprctl dispatch workspace 1" - "swww-daemon" - "gammastep -l 45.540750:-122.385330 >/dev/null" - "${pkgs.pyprland}/bin/pypr" - "hyprpm reload" - "swaddle" - "waybar" - "hyprctl setcursor Bibata-Modern-Ice 18" - "trayscale --hide-window" - "${pkgs.wayneko}/bin/wayneko" - - # Fcitx5 - "fcitx5-remote -r" - "fcitx5 -d --replace" - "fcitx5-remote -r" - - # GNOME/Keyring - "gnome-keyring-daemon --replace --components=pkcs11,secrets,ssh,gpg" - - # XDG, XDPH, & Qt - "dbus-update-activation-environment --systemd --all" - "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" - "systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" - "systemctl --user import-environment QT_QPA_PLATFORMTHEME" - - # Clipboard - "wl-paste --type text --watch cliphist store" - "wl-paste --type image --watch cliphist store" - - # JamesDSP & Solaar - "jamesdsp -t" - # "solaar -w hide" - ]; -} diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/general.nix b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/general.nix deleted file mode 100644 index 460b5d0..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/general.nix +++ /dev/null @@ -1,118 +0,0 @@ -{ config, ... }: -{ - wayland.windowManager.hyprland.settings = { - monitor = [ - "HDMI-A-2, 1920x1080@74.97, 0x0, 1" - "DP-2, 1920x1080@280.00, 1920x0, 1" - "DP-1, 1920x1080@144.00, 3840x0, 1" - ]; - - source = "${config.home.homeDirectory}/.cache/wal/colors-hyprland"; - - general = { - gaps_in = 5; - gaps_out = 10; - border_size = 0; - layout = "master"; - allow_tearing = true; - resize_on_border = true; - no_focus_fallback = true; - }; - - input = { - kb_layout = "us"; - # kb_variant = - # kb_model = - # kb_options = - # kb_rules = - repeat_rate = 35; # 50 - repeat_delay = 250; # 200 - follow_mouse = 1; - special_fallthrough = true; - - touchpad = { - natural_scroll = true; - disable_while_typing = true; - clickfinger_behavior = true; - scroll_factor = 0.15; - tap-to-click = true; - middle_button_emulation = true; - }; - - sensitivity = -0.5; - accel_profile = "flat"; - scroll_factor = 1.0; - # natural_scroll = false; - }; - - binds = { - allow_workspace_cycles = true; - scroll_event_delay = 0; - workspace_back_and_forth = true; - }; - - dwindle = { - pseudotile = true; - preserve_split = true; - force_split = 2; - smart_split = false; - smart_resizing = false; - # no_gaps_when_only = 0; - special_scale_factor = 0.98; - }; - - master = { - allow_small_split = true; - new_status = "master"; - mfact = 0.55; - # no_gaps_when_only = yes; - orientation = "left"; - inherit_fullscreen = false; - }; - - gestures = { - workspace_swipe = true; - workspace_swipe_distance = 700; - workspace_swipe_fingers = 4; - workspace_swipe_cancel_ratio = 0.2; - workspace_swipe_min_speed_to_force = 5; - workspace_swipe_direction_lock = true; - workspace_swipe_direction_lock_threshold = 10; - workspace_swipe_create_new = true; - }; - - misc = { - vrr = false; - vfr = false; - enable_swallow = true; - swallow_regex = "^(kitty|footclient|foot|Alacritty|wezterm)$"; - disable_hyprland_logo = true; - disable_splash_rendering = true; - force_default_wallpaper = 0; - mouse_move_enables_dpms = true; - # key_press_enables_dpms = true; - # focus_on_activate = true; - animate_manual_resizes = true; - # animate_mouse_windowdragging = false; - mouse_move_focuses_monitor = true; - # new_window_takes_over_fullscreen = 2; - allow_session_lock_restore = true; - initial_workspace_tracking = false; - }; - - cursor = { - hide_on_key_press = true; - enable_hyprcursor = true; - }; - - xwayland = { - force_zero_scaling = true; - }; - - debug = { - watchdog_timeout = 0; - disable_logs = false; - damage_blink = false; - }; - }; -} diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/plugins.nix b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/plugins.nix deleted file mode 100644 index db0c978..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/plugins.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ inputs, pkgs, ... }: -{ - wayland.windowManager.hyprland = { - plugins = - with inputs; - with pkgs; - [ - hyprland-plugins.packages.${system}.hyprtrails - hyprfocus.packages.${system}.hyprfocus - hyprland-plugins.packages.${system}.hyprexpo - ]; - - settings.plugin = { - # split-monitor-workspaces = { - # count = 10; - # keep_focused = 0; - # enable_notifications = 0; - # }; - - hyprtrails = { - color = "rgba(cfddf619)"; - }; - - hyprfocus = { - enabled = true; - animate_floating = true; - animate_workspacechange = true; - focus_animation = "flash"; - - bezier = [ - "bezIn, 0.5, 0.0, 1.0, 0.5" - "bezOut, 0.0, 0.5, 0.5, 1.0" - "overshot, 0.05, 0.9, 0.1, 1.05" - "smoothOut, 0.36, 0, 0.66, -0.56" - "smoothIn, 0.25, 1, 0.5, 1" - "realsmooth, 0.28, 0.29, .69, 1.08" - ]; - - flash = { - flash_opacity = 0.85; - in_bezier = "realsmooth"; - in_speed = 1; - out_bezier = "realsmooth"; - out_speed = 3; - }; - - shrink = { - shrink_percentage = 0.99; - in_bezier = "realsmooth"; - in_speed = 1; - out_bezier = "realsmooth"; - out_speed = 2; - }; - }; - }; - }; -} diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/rules.nix b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/rules.nix deleted file mode 100644 index 79dbb83..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/rules.nix +++ /dev/null @@ -1,79 +0,0 @@ -{ - wayland.windowManager.hyprland.settings = { - # Layer Rules - layerrule = [ - "animation slide, notifications" - "noanim, selection" - "noanim, picker" - ]; - - windowrulev2 = [ - # Dialog Rules - "float, class:file_progress" - "float, class:confirm" - "float, class:dialog" - "float, class:download" - "float, class:notification" - "float, class:error" - "float, class:splash" - "float, class:confirmreset" - "float, title:Open File" - "float, title:Save File" - "float, title:branchdialog" - "float, title:^(Open File)(.*)$" - "float, title:^(Select a File)(.*)$" - "float, title:^(Choose wallpaper)(.*)$" - "float, title:^(Open Folder)(.*)$" - "float, title:^(Save As)(.*)$" - "float, title:^(Library)(.*)$" - "float, initialClass:^(xdg-desktop-portal-.*)$" - - # Control Application Rules - "float, class:^(Network)$" - "float, class:^(pavucontrol)$" - "float, class:^(Color Picker)$" - "float, class:^(File Picker)$" - "float, class:^(nm-connection-editor)$" - "float, class:pavucontrol-qt" - "float, class:pavucontrol" - "float, title:^(Media viewer)$" - "float, title:^(Volume Control)$" - "float, title:^(Picture-in-Picture)$" - "float, class:^(blueberry.py)$" - "float, class:Lxappearance" - "pseudo, class:fcitx" - "size 50% 50%, title:^(Volume Control)$" - "workspace special:rofi, class:Rofi" - "float, class:Rofi" - - # Application Rules - "float, class:^(transmission-gtk)$" - "float, class:viewnior" - "float, class:feh" - "float, class:^(steam)$" - "float, class:file-roller" - "center, class:feh" - "workspace 9, initialTitle:^(Spotify Premium)$" - "tile, initialTitle:^(Photopea)$" - "tile, initialTitle:^(WorldsPlayer by Worlds Inc)$" - # "size 75% 75%, class:feh" - - # XWayland Video Bridge - "noblur, class:^(xwaylandvideobridge)$" - "noanim, class:^(xwaylandvideobridge)$" - "noinitialfocus, class:^(xwaylandvideobridge)$" - "opacity 0.0 override, class:^(xwaylandvideobridge)$" - "maxsize 1 1, class:^(xwaylandvideobridge)$" - - # Tearing - "immediate, class:.*\.exe" - "immediate, class:(steam_app)" - - # Idle Inhibit - # "idleinhibit fullscreen, class:^(*)$" - # "idleinhibit fullscreen, title:^(*)$" - "idleinhibit fullscreen, fullscreen:1" - "idleinhibit focus, class:mpv" - ]; - }; -} diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/common.sh b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/common.sh deleted file mode 100644 index 325fd90..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/common.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/usr/bin/env bash - -# . "$(dirname "$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null || echo "${0}")" || true)/common.sh" -# or -# . "${HOME}/.config/hypr/hyprland/scripts/common.sh" - -get_hyprctl_monitors() { - hyprctl monitors -j || true -} - -get_hyprctl_workspaces() { - hyprctl workspaces -j || true -} - -get_focused_monitor() { - (get_hyprctl_monitors || true) | - jq -r '.[] | select(.focused) | .name' -} - -get_active_monitor() { - get_focused_monitor -} - -get_active_workspaces() { - local monitor=$1 - - (get_hyprctl_workspaces || true) | - (jq -r ".[] | select(.monitor == \"${monitor}\") | .id" || true) | - grep -v '-' -} - -get_active_workspace() { - local monitor=$1 - - (get_hyprctl_monitors || true) | - jq -r ".[] | select(.name == \"${monitor}\") | .activeWorkspace.id" -} - -get_current_workspace() { - (hyprctl activeworkspace -j || true) | - jq -r ".id" -} - -get_empty_workspace() { - local monitor=$1 - - (hyprctl workspaces -j || true) | - (jq -r ".[] | select(.monitor == \"${monitor}\" and .windows == 0) | .id" || true) | - (grep -v '-' || true) | - head -n 1 -} - -get_workspace_client_count() { - local workspace=$1 - - (hyprctl workspaces -j || true) | jq -r ".[] | select(.id == ${workspace}) | .windows" -} - -get_relative_target_workspace() { - target_workspace=$1 - workspace=0 - - case "$(get_focused_monitor)" in - "HDMI-A-2") - workspace=$((target_workspace + 10)) - ;; - "DP-2") - workspace=${target_workspace} - ;; - "DP-1") - workspace=$((target_workspace + 20)) - ;; - *) - exit 1 - ;; - esac - - echo "${workspace}" -} - -is_monitor_fullscreen() { - monitor=$1 - - (hyprctl workspaces -j || true) | - jq -r ".[] | select(.monitor == \"${monitor}\") | select(.id == $(get_active_workspace "${monitor}" || true)) | .hasfullscreen" -} - -get_relative_target_monitor() { - direction=$1 - ignore_fullscreen=${2:-0} - - case $(get_focused_monitor) in - "HDMI-A-2") - if [[ ${direction} == "right" ]]; then - target_monitor="DP-2" - else - target_monitor="DP-1" - fi - ;; - "DP-2") - if [[ ${direction} == "right" ]]; then - target_monitor="DP-1" - else - target_monitor="HDMI-A-2" - fi - ;; - "DP-1") - if [[ ${direction} == "left" ]]; then - target_monitor="DP-2" - else - target_monitor="HDMI-A-2" - fi - ;; - *) - exit 1 - ;; - esac - - if [[ "$(is_monitor_fullscreen "${target_monitor}")" == "true" && ${ignore_fullscreen} == 0 ]]; then - case $target_monitor in - "HDMI-A-2") - if [[ $direction == "right" ]]; then - target_monitor="DP-2" - else - target_monitor="DP-1" - fi - ;; - "DP-2") - if [[ $direction == "right" ]]; then - target_monitor="DP-1" - else - target_monitor="HDMI-A-2" - fi - ;; - "DP-1") - if [[ $direction == "left" ]]; then - target_monitor="DP-2" - else - target_monitor="HDMI-A-2" - fi - ;; - esac - fi - - echo "${target_monitor}" -} diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/fake_fullscreen_status b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/fake_fullscreen_status deleted file mode 100755 index e198758..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/fake_fullscreen_status +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash - -. "${HOME}/.config/hypr/hyprland/scripts/common.sh" - -previous_id=$(cat /tmp/fake_fullscreen_notify_id 2>/dev/null) -previous_id_flag="" - -if [[ -n "${previous_id}" ]]; then - previous_id_flag="-r ${previous_id}" -fi - -id=$(notify-send -p ${previous_id_flag} "$(hyprctl activewindow -j | jq -r '.title') - -Fake fullscreen is $([[ "$(hyprctl activewindow -j | jq -r '.fakeFullscreen')" == "true" ]] && - echo "enabled" || - echo "disabled").") - -echo "${id}" >/tmp/fake_fullscreen_notify_id diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/move_focus_to_monitor b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/move_focus_to_monitor deleted file mode 100755 index 27562a9..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/move_focus_to_monitor +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -. "${HOME}/.config/hypr/hyprland/scripts/common.sh" - -target_monitor=$(get_relative_target_monitor "$1" 1) - -if [[ -n "${target_monitor}" ]]; then - hyprctl dispatch focusmonitor "${target_monitor}" -fi diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/move_window_to_monitor b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/move_window_to_monitor deleted file mode 100755 index 06e4f94..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/move_window_to_monitor +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -. "${HOME}/.config/hypr/hyprland/scripts/common.sh" - -target_monitor=$(get_relative_target_monitor "$1") -target_workspace=$(get_active_workspace "${target_monitor}") - -# target_workspace=$(get_empty_workspace $target_monitor) - -# if [[ -z "$target_workspace" ]]; then -# target_workspace=$(get_active_workspaces $target_monitor | head -n 1) -# fi - -if [[ -n "${target_workspace}" ]]; then - hyprctl dispatch movetoworkspace "${target_workspace}" -fi diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/move_window_to_workspace b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/move_window_to_workspace deleted file mode 100755 index 4256a9f..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/move_window_to_workspace +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -. "${HOME}/.config/hypr/hyprland/scripts/common.sh" - -initial_active_workspace="$(get_current_workspace)" -target_workspace="$(get_relative_target_workspace "${1}")" - -hyprctl dispatch movetoworkspace "${target_workspace}" - -if [[ $(get_workspace_client_count "${target_workspace}") -gt 2 ]]; then - hyprctl dispatch workspace "${initial_active_workspace}" -fi diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/source.bak/screenshot.ab b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/source.bak/screenshot.ab deleted file mode 100644 index 6bc510d..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/source.bak/screenshot.ab +++ /dev/null @@ -1,158 +0,0 @@ -let current_date_time = unsafe $date +%Y-%m-%d-%H-%M-%S$ -let output_directory = "{unsafe $xdg-user-dir PICTURES$}/Screenshots" -let output_file = "Screenshot_{current_date_time}_{unsafe $echo \$RANDOM$}.png" - -fun notify_command(message: Text): Null { - unsafe $notify-send -h string:x-canonical-private-synchronous:shot-notify -u low "{message}"$ -} - -fun notify(clipboard: Bool, type: Text): Null { - notify_command("Screenshot copied to clipboard. ({type})") - - if not clipboard { - if unsafe $test -f "{output_directory}/{output_file}" && - echo 'true' || - echo 'false'$ == "true" - { - // unsafe $feh "{output_directory}/{output_file}"$ - - notify_command("Screenshot saved. ({type})") - } else { - notify_command("Screenshot deleted.") - } - } -} - -fun get_hyprctl_monitors(): Text { - return $hyprctl monitors -j || true$ failed { - notify_command("Failed to get monitors.") - - fail status - } -} - -fun get_focused_monitor(): Text { - let monitors = get_hyprctl_monitors() failed { - notify_command("Failed to get monitors.") - - fail status - } - - return $echo {monitors} | jq -r '.[] | select(.focused) | .name'$ failed { - notify_command("Failed to get focused monitor.") - - fail status - } -} - -fun screenshot_now(clipboard: Bool): Null { - if clipboard { - unsafe $(grim - || true) | wl-copy$ - } else { - unsafe $cd "{output_directory}" && - grim - | - tee "{output_file}" | - wl-copy$ - } - - notify(clipboard, "now") -} - -fun screenshot_window(clipboard: Bool): Null { - let width_position = unsafe $hyprctl activewindow | - grep 'at:' | - cut -d':' -f2 | - tr -d ' ' | - tail -n1$ - let width_size = unsafe $hyprctl activewindow | - grep 'size:' | - cut -d':' -f2 | - tr -d ' ' | - tail -n1 | - sed s/,/x/g$ - - if clipboard { - unsafe $grim -g "{width_position} {width_size}" - | wl-copy$ - } else { - unsafe $cd "{output_directory}" && - grim -g "{width_position} {width_size}" - | - tee "{output_file}" | - wl-copy$ - } - - notify(clipboard, "window") -} - -fun screenshot_monitor(clipboard: Bool): Null { - if clipboard { - unsafe $grim -o "{get_focused_monitor()}" - | wl-copy$ - } else { - unsafe $cd "{output_directory}" && - grim -o "{get_focused_monitor()}" - | - tee "{output_file}" | - wl-copy$ - } - - notify(clipboard, "monitor") -} - -fun screenshot_area(clipboard: Bool): Null { - // slurp -b 1B1F28CC -c E06B74ff -s C778DD0D -w 2 - - if clipboard { - unsafe $grim -g "{unsafe $slurp$}" - | wl-copy$ - } else { - unsafe $cd "{output_directory}" && - grim -g "{unsafe $slurp$}" - | - tee "{output_file}" | - wl-copy$ - } - - notify(clipboard, "area") -} - -fun screenshot(mode: Text, clipboard: Bool): Null { - if { - mode == "now" { - screenshot_now(clipboard) - } - mode == "window" { - screenshot_window(clipboard) - } - mode == "monitor" { - screenshot_monitor(clipboard) - } - mode == "area" { - screenshot_area(clipboard) - } - else { - echo "usage: {unsafe $echo "\${0}"$} [flags]\n" - echo "flags:" - echo " --now" - echo " --window" - echo " --area" - echo " --monitor" - echo " --clipboard" - echo " --help" - echo "" - } - } -} - -main { - if unsafe $test -d "{output_directory}" && - echo 'true' || - echo 'false'$ == "false" - { - $mkdir -p "{output_directory}"$ failed { - notify_command("Failed to create output directory.") - - fail status - } - } - - screenshot( - unsafe $echo "\${1}" | sed -E s/--//g$, - unsafe $echo "\${2}"$ == "--clipboard" - ) -} diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/switch_workspace b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/switch_workspace deleted file mode 100755 index fc8900c..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/switch_workspace +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -. "${HOME}/.config/hypr/hyprland/scripts/common.sh" - -hyprctl dispatch workspace "$(get_relative_target_workspace "${1}")" diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/toggle_gaps b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/toggle_gaps deleted file mode 100755 index d593ab2..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/toggle_gaps +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env dash - -inner_gap_size=5 -outer_gap_size=10 - -if [ "$(hyprctl getoption general:gaps_in | awk '{print $3}' || true)" -eq 0 ] && - [ "$(hyprctl getoption general:gaps_out | awk '{print $3}' || true)" -eq 0 ]; then - hyprctl keyword general:gaps_in "${inner_gap_size}" - hyprctl keyword general:gaps_out "${outer_gap_size}" -else - hyprctl keyword general:gaps_in 0 - hyprctl keyword general:gaps_out 0 -fi diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/toggle_layout b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/toggle_layout deleted file mode 100755 index 1ef8774..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/scripts/toggle_layout +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env dash - -layout=$(hyprctl -j getoption general:layout) -new_layout="" - -case "$(echo "${layout}" | jq -r .str)" in -dwindle) - hyprctl keyword general:layout master - - new_layout="master" - - ;; -master) - hyprctl keyword general:layout dwindle - - new_layout="dwindle" - - ;; -*) ;; -esac - -notify-send "You've changed the layout to ${new_layout}." diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/workspaces.nix b/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/workspaces.nix deleted file mode 100644 index 2df3efd..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprland/workspaces.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ config, pkgs, ... }: -{ - wayland.windowManager.hyprland.settings.workspace = - ( - let - generateWorkspaces = - monitor: workspaces: offset: - builtins.genList (x: [ "${toString (x + offset + 1)}, monitor:${monitor}" ]) workspaces; - generateWorkspacesAll = - monitors: tags: - builtins.concatLists ( - builtins.map ( - monitor: - generateWorkspaces (builtins.elemAt monitors monitor) tags ( - builtins.elemAt (builtins.genList (index: index * tags) (builtins.length monitors)) monitor - ) - ) (builtins.genList (index: index) (builtins.length monitors)) - ); - in - builtins.concatLists ( - generateWorkspacesAll [ - "DP-2" - "HDMI-A-2" - "DP-1" - ] 10 - ) - ) - ++ [ - "special:simple_terminal, on-created-empty:[float;center;size 50% 65%] ${pkgs.kitty}/bin/kitty --class simple_terminal" - "special:simple_calculator, on-created-empty:[float;center;size 50% 50%] ${pkgs.kitty}/bin/kitty --class simple_calculator -e bc -lq" - "special:chatgpt, on-created-empty:[float;center;size 65% 75%] thorium --user-data-dir=${config.home.homeDirectory}/.local/share/thorium-browser-chatgpt --app='https://chatgpt.com/' --enable-features=UseOzonePlatform --ozone-platform=wayland" - "special:spotify, on-created-empty:[float;center;size 65% 90%] ${pkgs.spotify}/bin/spotify" - "special:calculator, on-created-empty:[float;center;size 50% 50%] ${pkgs.qalculate-gtk}/bin/qalculate-gtk" - "special:rofi, float, center, size 50% 50%" - ]; -} diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprlock.nix b/home/ebisu/kansai/fortune/desktop/hyprland/hyprlock.nix deleted file mode 100644 index 4141a85..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprlock.nix +++ /dev/null @@ -1,96 +0,0 @@ -{ pkgs, config, ... }: -{ - programs.hyprlock = { - enable = true; - - # https://github.com/hyprwm/hyprlock/issues/128#issuecomment-2063629880 - package = pkgs.hyprlock.overrideAttrs { - version = "git"; - - src = pkgs.fetchFromGitHub { - owner = "hyprwm"; - repo = "hyprlock"; - rev = "2bce52f"; - sha256 = "36qa6MOhCBd39YPC0FgapwGRHZXjstw8BQuKdFzwQ4k="; - }; - - patchPhase = '' - substituteInPlace src/core/hyprlock.cpp \ - --replace "5000" "16" - ''; - }; - - settings = { - general = { - disable_loading_bar = false; - hide_cursor = true; - ignore_empty_input = true; - grace = 10; - }; - - background = [ { path = "${config.pywal-nix.wallpaper}"; } ]; - - input-field = [ - { - # Size & Position - size = "500, 75"; - position = "0, 0"; - - # Other - fade_on_empty = true; - dots_size = 0.2; - dots_spacing = 0.5; - outline_thickness = 3; - placeholder_text = ""; - fail_text = ""; - - # Colour - outer_color = "rgb(1D2433)"; # bg - inner_color = "rgb(1D2433)"; # bg - font_color = "rgb(BDD9F2)"; # fg - check_color = "rgb(9BB8F2)"; # blue - fail_color = "rgb(D67C8E)"; # red - capslock_color = "rgb(D6A37C)"; # orange - - # Shadow - shadow_passes = 1; - shadow_size = 8; - shadow_boost = 0.6; - } - ]; - - label = [ - { - # Text - text = "cmd[update:60000] LC_ALL='ja_JP.utf8' TZ=America/Los_Angeles date '+%H時%M分'"; - position = "75, -75"; - color = "rgba(9BB8F290)"; # blue - - # Font - font_size = 120; - font_family = "SF Pro, Hiragino Sans"; - - # Shadow - shadow_passes = 1; - shadow_size = 6; - shadow_boost = 0.75; - } - { - # Text - text = "cmd[update:60000] LC_ALL='ja_JP.utf8' TZ=America/Los_Angeles date '+%b%-e日(%a)'"; - position = "75, 0"; - color = "rgba(9BB8F270)"; # blue - - # Font - font_size = 40; - font_family = "SF Pro, Hiragino Sans"; - - # Shadow - shadow_passes = 1; - shadow_size = 4; - shadow_boost = 0.9; - } - ]; - }; - }; -} diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprlock.nix.bak b/home/ebisu/kansai/fortune/desktop/hyprland/hyprlock.nix.bak deleted file mode 100644 index 96edf76..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprlock.nix.bak +++ /dev/null @@ -1,106 +0,0 @@ -{ - pkgs, - config, - lib, - ... -}: -let - inherit (config.pywal-nix.colourScheme) colours special; - - rawHex = colour: lib.removePrefix "#" colour; -in -{ - programs.hyprlock = { - enable = true; - - # https://github.com/hyprwm/hyprlock/issues/128#issuecomment-2063629880 - package = pkgs.hyprlock.overrideAttrs { - version = "git"; - - src = pkgs.fetchFromGitHub { - owner = "hyprwm"; - repo = "hyprlock"; - rev = "2bce52f"; - sha256 = "36qa6MOhCBd39YPC0FgapwGRHZXjstw8BQuKdFzwQ4k="; - }; - - patchPhase = '' - substituteInPlace src/core/hyprlock.cpp \ - --replace "5000" "16" - ''; - }; - - settings = { - general = { - disable_loading_bar = false; - hide_cursor = true; - ignore_empty_input = true; - grace = 10; - }; - - background = [ { path = "${config.pywal-nix.wallpaper}"; } ]; - - input-field = [ - { - # Size & Position - size = "500, 75"; - position = "0, 0"; - - # Other - fade_on_empty = true; - dots_size = 0.2; - dots_spacing = 0.5; - outline_thickness = 3; - placeholder_text = ""; - fail_text = ""; - - # Colour - outer_color = "rgb(${rawHex special.background})"; - inner_color = "rgb(${rawHex special.background})"; - font_color = "rgb(${rawHex special.foreground})"; - check_color = "rgb(${rawHex colours.colour6})"; - fail_color = "rgb(D67C8E)"; - capslock_color = "rgb(D6A37C)"; - - # Shadow - shadow_passes = 1; - shadow_size = 8; - shadow_boost = 0.6; - } - ]; - - label = [ - { - # Text - text = "cmd[update:60000] LC_ALL='ja_JP.utf8' TZ=America/Los_Angeles date '+%H時%M分'"; - position = "75, -75"; - color = "rgba(${rawHex special.foreground}df)"; - - # Font - font_size = 120; - font_family = "SF Pro, Hiragino Sans"; - - # Shadow - shadow_passes = 1; - shadow_size = 6; - shadow_boost = 0.75; - } - { - # Text - text = "cmd[update:60000] LC_ALL='ja_JP.utf8' TZ=America/Los_Angeles date '+%b%-e日(%a)'"; - position = "75, 0"; - color = "rgba(${rawHex special.foreground}cf)"; - - # Font - font_size = 40; - font_family = "SF Pro, Hiragino Sans"; - - # Shadow - shadow_passes = 1; - shadow_size = 4; - shadow_boost = 0.9; - } - ]; - }; - }; -} diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/hyprpaper.nix b/home/ebisu/kansai/fortune/desktop/hyprland/hyprpaper.nix deleted file mode 100644 index 84c3fba..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/hyprpaper.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ config, ... }: -{ - services.hyprpaper = { - enable = true; - - settings = { - preload = config.pywal-nix.wallpaper; - wallpaper = ",${config.pywal-nix.wallpaper}"; - splash = false; - ipc = true; - }; - }; -} diff --git a/home/ebisu/kansai/fortune/desktop/hyprland/inspo.txt b/home/ebisu/kansai/fortune/desktop/hyprland/inspo.txt deleted file mode 100644 index 39d2483..0000000 --- a/home/ebisu/kansai/fortune/desktop/hyprland/inspo.txt +++ /dev/null @@ -1,4 +0,0 @@ -https://github.com/codingjerk/dotfiles/blob/main/config/hypr/hyprland.conf -https://github.com/JoshM-Yoru/dotfiles/blob/main/hypr/hyprland.conf -https://github.com/end-4/dots-hyprland/blob/main/.config/hypr/hyprland.conf -https://github.com/Andy3153/hyprland-rice \ No newline at end of file diff --git a/home/ebisu/kansai/fortune/desktop/mako.nix b/home/ebisu/kansai/fortune/desktop/mako.nix deleted file mode 100644 index b4c0e19..0000000 --- a/home/ebisu/kansai/fortune/desktop/mako.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ config, ... }: -let - colourScheme = config.pywal-nix.colourScheme.colours; -in -{ - services.mako.enable = true; - - xdg.configFile."mako/config".text = '' - font=SF Mono 11 - - layer=overlay - - anchor=top-right - width=330 - padding=10 - margin=10 - border-radius=10 - outer-margin=0 - - default-timeout=5000 - max-history=0 - ignore-timeout=1 - - format=%s\n%b - - icons=1 - # max-icon-size=32 - - max-visible=-1 - - border-color=#00000040 - border-size=1 - - background-color=${colourScheme.colour0} - text-color=${colourScheme.colour15} - - # [urgency=low] - # border-color=${colourScheme.colour2} - # background-color=${colourScheme.colour4} - # text-color=${colourScheme.colour6} - - # [urgency=normal] - # border-color=${colourScheme.colour1} - # background-color=${colourScheme.colour3} - # text-color=${colourScheme.colour5} - # default-timeout=10000 - # ignore-timeout=1 - - # [urgency=high] - # font=Sauce Code Pro 16 - # border-color=${colourScheme.colour1} - # background-color=${colourScheme.colour2} - # text-color=${colourScheme.colour6} - # default-timeout=0 - # ignore-timeout=1 - ''; -} diff --git a/home/ebisu/kansai/fortune/desktop/rofi.nix b/home/ebisu/kansai/fortune/desktop/rofi.nix deleted file mode 100644 index 26994de..0000000 --- a/home/ebisu/kansai/fortune/desktop/rofi.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ - pkgs, - config, - lib, - ... -}: -{ - programs.rofi = with pkgs; { - enable = true; - theme = lib.mkForce "${config.home.homeDirectory}/.cache/wal/colors-rofi-light.rasi"; - - plugins = [ - rofi-emoji - rofi-calc - rofi-top - # rofi-rbw - # rofi-bluetooth - # rofi-power-menu - ]; - - extraConfig = { - sidebar-mode = true; - hide-scrollbar = true; - kb-cancel = "Escape,Control+bracketleft"; - kb-mode-next = "Alt+Right,Shift+Right,Control+Tab"; - kb-mode-previous = "Alt+Left,Shift+Left,Control+ISO_Left_Tab"; - # kb-row-select = ""; - modi = "combi,drun,window,ssh,run"; - combi-modi = "window,drun,run,ssh"; - show = "combi"; - monitor = "-4"; - terminal = "kitty"; - }; - }; -} diff --git a/home/ebisu/kansai/fortune/desktop/screenshot.nix b/home/ebisu/kansai/fortune/desktop/screenshot.nix deleted file mode 100644 index 481ffb5..0000000 --- a/home/ebisu/kansai/fortune/desktop/screenshot.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - grim - slurp - ]; -} diff --git a/home/ebisu/kansai/fortune/desktop/waybar/common-modules.nix b/home/ebisu/kansai/fortune/desktop/waybar/common-modules.nix deleted file mode 100644 index 04d1c91..0000000 --- a/home/ebisu/kansai/fortune/desktop/waybar/common-modules.nix +++ /dev/null @@ -1,227 +0,0 @@ -{ - pkgs, - secrets, - ... -}: -{ - layer = "top"; - position = "top"; - margin-left = 8; - margin-right = 8; - height = 40; - - bluetooth = { - format = ""; - on-click = "${pkgs.blueberry}/bin/blueberry"; - }; - - clock = { - locale = "ja_JP.utf8"; - interval = 5; - tooltip-format = "{calendar}"; - # format = "{:%m月 %d日 %H:%M:%S}"; - format = "{:L%m月 %d日 %H:%M}"; - format-alt = "{:L%G年%b %d日 %A}"; - }; - - # For when clock doesn't work - "custom/clock" = { - exec = "date '+%m月 %d日 %H:%M'"; - tooltip = false; - interval = 5; - }; - - cpu = { - interval = 5; - format = " {usage}% ({load})"; - - states = { - warning = 70; - critical = 90; - }; - - on-click = "${pkgs.kitty}/bin/kitty -e '${pkgs.bottom}/bin/btm'"; - }; - - memory = { - interval = 5; - format = " {}%"; - format-alt = " {used:0.1f}/{total:0.1f}ギガ"; - - # I might remove these. I have 64GB of RAM .... - states = { - warning = 70; - critical = 90; - }; - }; - - network = { - interval = 1; - # format-wifi = " {bandwidthUpBytes} {bandwidthDownBytes}", - # format-ethernet = " {bandwidthUpBytes} {bandwidthDownBytes}", - format = " {bandwidthUpBytes}  {bandwidthDownBytes}"; - format-disconnected = "⚠ Disconnected"; - tooltip-format = "{ifname}: {ipaddr}"; - on-click = "${pkgs.kitty}/bin/kitty -e 'nmtui'"; - }; - - "hyprland/mode" = { - format = "{}"; - tooltip = false; - }; - - "hyprland/window" = { - format = "{}"; - max-length = 120; - separate-outputs = true; - icon = false; - - rewrite = { - "(.*) - Thorium" = "󰖟 $1"; - "(.*) - NVIM" = " $1"; - "ChatGPT" = " ChatGPT"; - "~(.*)" = " ~$1"; - "…(.*)" = " …$1"; - "zsh" = " ~"; - "fish" = " ~"; - "kitty" = " ~"; - "Volume Control" = " Volume Control"; - "Bluetooth" = " Bluetooth"; - "JamesDSP for Linux" = "󰺢 JamesDSP"; - }; - }; - - pulseaudio = { - scroll-step = 1; - format = "{icon} {volume}%"; - # format-bluetooth = "{volume}% {icon}  {format_source}"; - # format-bluetooth-muted = " {icon}  {format_source}"; - format-muted = "󰸈"; - - format-icons = { - headphone = "󰋋"; - hands-free = "וֹ"; - headset = "󱡏"; - phone = ""; - portable = ""; - car = ""; - - default = [ "" ]; - }; - - on-click = "pactl set-sink-mute @DEFAULT_SINK@ toggle"; - on-click-right = "${pkgs.pavucontrol}/bin/pavucontrol"; - on-scroll-up = "pactl set-sink-volume @DEFAULT_SINK@ +2%"; - on-scroll-down = "pactl set-sink-volume @DEFAULT_SINK@ -2%"; - ignored-sinks = secrets.waybar.ignored_sinks; - }; - - tray = { - spacing = 10; - show-passive-items = true; - }; - - "image#album-art" = { - path = "/tmp/mediaplayer_art"; - size = 22.5; # (18 + (18 / 4)) - interval = 5; - on-click = "${pkgs.playerctl}/bin/playerctl play-pause"; - }; - - "custom/media" = { - format = "{icon} {}"; - return-type = "json"; - max-length = 40; - - format-icons = { - spotify = " "; - default = "󰗃 "; - }; - - escape = true; - exec = "${pkgs.mediaplayer}/bin/mediaplayer.py 2> /dev/null"; - on-click = "${pkgs.playerctl}/bin/playerctl play-pause"; - on-scroll-up = "${pkgs.playerctl}/bin/playerctl next"; - on-scroll-down = "${pkgs.playerctl}/bin/playerctl previous"; - }; - - cava = { - framerate = 280; - autosens = 1; - sensitivity = 3; - bars = 26; - lower_cutoff_freq = 50; - higher_cutoff_freq = 10000; - method = "pipewire"; - source = "auto"; - stereo = true; - reverse = true; - bar_delimiter = 0; - monstercat = false; - waves = false; - hide_on_silence = true; - noise_reduction = 0.77; - input_delay = 0; - on-click = "${pkgs.playerctl}/bin/playerctl play-pause"; - - # actions = { - # on-click-right = "mode"; - # }; - - # format-icons = ["░", "▒", "▓", "█", "█", "█", "█", "█"] - # format-icons = ["⎺", "⎻", "⎼", "⎽", "⎼", "⎻", "⎺", "⎹"] - # format-icons = ["▏", "▎", "▍", "▌", "▋", "▊", "▉", "█"] - format-icons = [ - "⠁" - "⠃" - "⠇" - "⠋" - "⠛" - "⠟" - "⠿" - "⣿" - ]; - # format-icons = ["◰", "◳", "◲", "◱", "▘", "▝", "▖", "▗"] - # format-icons = ["▖", "▗", "▘", "▝", "▚", "▞", "▛", "▟"] - # format-icons = ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█", "▉", "▊"] - # format-icons = ["⎯", "⎰", "⎱", "⎲", "⎳", "⎴", "⎵", "⎶"] - # format-icons = ["⎺", "⎻", "⎼", "⎽", "⎾", "⎿", "⏀", "⏁"] - # format-icons = ["♪", "♫", "♬", "♭", "♮", "♯", "♩", "♪"] - # format-icons = ["→", "⇉", "⇒", "⇉", "→", "⇉", "⇒", "⇉"] - # format-icons = ["·", ":", "⁙", "⁘", "⁙", ":", "·", "•"] - # format-icons = ["○", "◔", "◑", "◕", "●", "◍", "◎", "◉"] - # format-icons = ["△", "▲", "▴", "▸", "▶", "▹", "►", "▻"] - # format-icons = ["◇", "◈", "◉", "◍", "◎", "◯", "⦿", "◑"] - # format-icons = ["-", "–", "—", "––", "–––", "——", "———", "——––"] - # format-icons = ["-", "=", "≡", "≣", "≠", "≢", "≜", "≝"] - # format-icons = ["✓", "✔", "✕", "✖", "✗", "✘", "✙", "✚"] - # format-icons = ["✩", "✪", "✫", "✬", "✭", "✮", "✯", "✰"] - }; - - "custom/gpu" = { - exec = "nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader | sed 's/ %/%/'"; - interval = 5; - format = " {}"; - on-click = "${pkgs.kitty}/bin/kitty -e '${pkgs.nvtopPackages.nvidia}/bin/nvtop'"; - }; - - modules-left = [ - "hyprland/workspaces" - "hyprland/window" - "custom/media" - "image#album-art" - ]; - - modules-center = [ "clock" ]; - - modules-right = [ - "cava" - # "network" - "tray" - "cpu" - # "custom/gpu" - "memory" - "bluetooth" - "pulseaudio" - ]; -} diff --git a/home/ebisu/kansai/fortune/desktop/waybar/default.nix b/home/ebisu/kansai/fortune/desktop/waybar/default.nix deleted file mode 100644 index 877669c..0000000 --- a/home/ebisu/kansai/fortune/desktop/waybar/default.nix +++ /dev/null @@ -1,112 +0,0 @@ -{ - pkgs, - secrets, - config, - ... -}: -let - inherit (config.pywal-nix.colourScheme) special colours; -in -{ - programs.waybar = { - enable = true; - - style = - '' - @define-color foreground ${special.foreground}; - @define-color background ${special.background}; - @define-color cursor ${special.cursor}; - @define-color color0 ${colours.color0}; - @define-color color1 ${colours.color1}; - @define-color color2 ${colours.color2}; - @define-color color3 ${colours.color3}; - @define-color color4 ${colours.color4}; - @define-color color5 ${colours.color5}; - @define-color color6 ${colours.color6}; - @define-color color7 ${colours.color7}; - @define-color color8 ${colours.color8}; - @define-color color9 ${colours.color9}; - @define-color color10 ${colours.color10}; - @define-color color11 ${colours.color11}; - @define-color color12 ${colours.color12}; - @define-color color13 ${colours.color13}; - @define-color color14 ${colours.color14}; - @define-color color15 ${colours.color15}; - '' - + (builtins.readFile ./style.css); - - settings = - let - commonModules = import ./common-modules.nix { inherit pkgs secrets; }; - - hyprland-workspaces-base = { - disable-scroll = true; - disable-markup = false; - all-outputs = false; - format = "{icon}"; - }; - in - [ - ( - commonModules - // { - output = "HDMI-A-2"; - "hyprland/workspaces" = hyprland-workspaces-base // { - format-icons = { - "11" = "一"; - "12" = "二"; - "13" = "三"; - "14" = "四"; - "15" = "五"; - "16" = "六"; - "17" = "七"; - "18" = "八"; - "19" = "九"; - "20" = "十"; - }; - }; - } - ) - ( - commonModules - // { - output = "DP-2"; - "hyprland/workspaces" = hyprland-workspaces-base // { - format-icons = { - "1" = "一"; - "2" = "二"; - "3" = "三"; - "4" = "四"; - "5" = "五"; - "6" = "六"; - "7" = "七"; - "8" = "八"; - "9" = "九"; - "10" = "十"; - }; - }; - } - ) - ( - commonModules - // { - output = "DP-1"; - "hyprland/workspaces" = hyprland-workspaces-base // { - format-icons = { - "21" = "一"; - "22" = "二"; - "23" = "三"; - "24" = "四"; - "25" = "五"; - "26" = "六"; - "27" = "七"; - "28" = "八"; - "29" = "九"; - "30" = "十"; - }; - }; - } - ) - ]; - }; -} diff --git a/home/ebisu/kansai/fortune/desktop/waybar/style.css b/home/ebisu/kansai/fortune/desktop/waybar/style.css deleted file mode 100644 index fda45d1..0000000 --- a/home/ebisu/kansai/fortune/desktop/waybar/style.css +++ /dev/null @@ -1,134 +0,0 @@ -* { - /* font-family: CartographCF Nerd Font, Iosevka Nerd Font, cursive; */ - /* font-family: Noto Sans Mono, Sarasa Mono J, cursive; */ - /* font-family: SF Mono, cursive; */ - /* font-family: MesloLGS NF; */ - font-family: SF Pro, Hiragino Sans, cursive; - font-size: 15px; -} - -window#waybar { - background-color: rgba(0, 0, 0, 0); - color: @foreground; - /* -gtk-icon-shadow: */ - /* -1px 0 #ffffff, */ - /* 0 1px #ffffff, */ - /* 1px 0 #ffffff, */ - /* 0 -1px #ffffff; */ -} - -#battery, -#cava, -#custom-know, -#clock, -#custom-clock, -#backlight, -#cpu, -#custom-keyboard-layout, -#memory, -#mode, -#custom-weather, -#network, -#pulseaudio, -#temperature, -#tray, -#idle_inhibitor, -#window, -#bluetooth, -#custom-power, -#workspaces, -#custom-media, -#custom-gpu, -#custom-PBPbattery { - /* padding: 0.25rem 0.75rem; */ - /* margin: 10px 5px 0px 0; */ - /* padding: 6px 11.31px; */ /* 6 + (3 * (16 / 9)) */ - padding: 5px 10px; - margin: 10px 10px 0px 0; - background-color: @background; - border-radius: 10px; /* 9 */ - color: @foreground; -} - -#image { - margin-top: 10px; - border-top-right-radius: 10px; - border-bottom-right-radius: 10px; - background-color: @background; - margin-right: 1rem; - padding-right: 1rem; -} - -#image > * { - border-radius: 10px; -} - -#image.empty { - background-color: transparent; - min-width: 0; - min-height: 0; - margin: 0; - padding: 0; -} - -window#waybar #custom-media { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - padding-right: 1rem; - margin-right: 0; -} - -window#waybar.empty #window { - background-color: transparent; - padding: 0; - margin: 0; -} - -window#custom-media.empty #window { - background-color: transparent; -} - -#workspaces button.active { - color: @color11; -} - -#workspaces button:hover { - background-color: unset; -} - -#pulseaudio { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - margin-left: 0; - padding-left: 0.5rem; - margin-right: 0; -} - -#bluetooth { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - margin-right: 0; - padding-right: 0.5rem; -} - -#memory { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - margin-left: 0; - padding-left: 0.5rem; -} - -#custom-gpu { - border-radius: 0; - margin-right: 0; - margin-left: 0; - padding-right: 0.5rem; - padding-left: 0.5rem; -} - -#cpu { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - margin-right: 0; - padding-right: 0.5rem; -} diff --git a/home/ebisu/kansai/fortune/desktop/waybar/style.css.bak b/home/ebisu/kansai/fortune/desktop/waybar/style.css.bak deleted file mode 100644 index 3858c71..0000000 --- a/home/ebisu/kansai/fortune/desktop/waybar/style.css.bak +++ /dev/null @@ -1,221 +0,0 @@ -@import "colors-waybar.css"; - -* { - font-family: CartographCF Nerd Font, Iosevka Nerd Font, cursive; - font-size: 14px; -} - -window#waybar { - background-color: rgba(0, 0, 0, 0); - color: @foreground; - transition-property: background-color; - transition-duration: 0.5s; -} - -window#waybar.hidden { - opacity: 0.1; -} - -#window { - color: @foreground; -} - -#clock, -#cpu, -#memory, -#custom-media, -#tray, -#mode, -#workspaces, -#battery, -#idle_inhibitor, -#window, -#custom-power-menu, -#custom-wallpaper, -#custom-launcher, -#custom-spotify, -#custom-weather, -#custom-theme, -#custom-weather.severe, -#custom-weather.sunnyDay, -#custom-weather.clearNight, -#custom-weather.cloudyFoggyDay, -#custom-weather.cloudyFoggyNight, -#custom-weather.rainyDay, -#custom-weather.rainyNight, -#custom-weather.showyIcyDay, -#custom-weather.snowyIcyNight, -#custom-weather.default { - color: @foreground; - padding: 2px 10px; - background-color: @background; - border-radius: 8px; - margin: 6px 3px 0; -} - -#window { - color: @color8; -} - -#custom-launcher { - color: @color9; - padding: 0 20px 0 20px; - margin-left: 8px; -} - -#cpu { - /* color: @color10; */ - color: @foreground; -} - -#memory { - /* color: @color11; */ - color: @foreground; -} - -#workspaces {} - -#workspaces button { - color: @color10; - box-shadow: inset 0 -3px transparent; - margin-right: 0em; - transition: all 0.5s cubic-bezier(0.55, -0.68, 0.48, 1.68); -} - -#workspaces button.active { - color: @foreground; - margin-right: 0em; - transition: all 0.5s cubic-bezier(0.55, -0.68, 0.48, 1.68); -} - -/* If workspaces is the leftmost module, omit left margin */ -.modules-left>widget:first-child>#workspaces { - margin-left: 0; -} - -/* If workspaces is the rightmost module, omit right margin */ -.modules-right>widget:last-child>#workspaces { - margin-right: 0; -} - -#tray {} - -#tray>.passive { - -gtk-icon-effect: dim; -} - -#tray>.needs-attention { - -gtk-icon-effect: highlight; - background-color: #eb4d4b; -} - -#custom-spotify { - /* color: @color10; */ - color: @color8; -} - -#custom-wallpaper { - padding: 0 18px 0 12px; - color: @color14; -} - -#custom-theme { - padding: 0 18px 0 12px; - color: @color13; -} - -#bluetooth, -#backlight, -#pulseaudio, -#network { - color: @color5; - background-color: @background; - padding: 0 12px; - margin: 6px 0 0; -} - -#bluetooth { - border-radius: 8px 0px 0px 8px; - /* color: @color11; */ - margin-left: 3px; - border-right: none; -} - -#network { - color: @color13; - padding-right: 14px; - border-right: none; - border-left: none; -} - -#network.disconnected { - color: @color11; -} - -#pulseaudio { - /* color: @color10; */ - border-left: none; - /* border-right: none; */ - border-radius: 0 8px 8px 0; - padding-right: 12px; -} - -#pulseaudio.muted { - color: @color11; -} - -#backlight { - margin-right: 3px; - padding-right: 8px; - color: @color13; - border-radius: 0 8px 8px 0; - border-left: none; -} - -#battery { - color: @color9; - border-radius: 8px; - padding: 0 12px; -} - -#battery.critical, -#battery.warning, -#battery.full, -#battery.plugged { - color: @color15; -} - -#clock { - color: @foreground; - margin-left: 6px; -} - -#custom-power-menu { - color: @color10; - margin-right: 8px; - padding: 0 12px 0 10px; -} - -@keyframes blink { - to { - background-color: rgba(30, 34, 42, 0.5); - color: #abb2bf; - } -} - -tooltip { - border-radius: 15px; - padding: 15px; - background-color: @background; - color: @foreground; - font-family: CartographCF Nerd Font; -} - -tooltip label { - padding: 5px; - color: @foreground; -} - -label:focus { - background-color: @background; -} diff --git a/home/ebisu/kansai/fortune/desktop/wlogout.nix b/home/ebisu/kansai/fortune/desktop/wlogout.nix deleted file mode 100644 index 4bcdb31..0000000 --- a/home/ebisu/kansai/fortune/desktop/wlogout.nix +++ /dev/null @@ -1,114 +0,0 @@ -{ pkgs, config, ... }: -{ - home.packages = with pkgs; [ wlogout ]; - - xdg.configFile = { - "wlogout/layout".text = '' - { - "label" : "lock", - "action" : "hyprlock", - "text" : "鍵をかける", - "keybind" : "l" - } - { - "label" : "hibernate", - "action" : "hyprctl dispatch dpms off && hyprlock", - "text" : "ハイブネート", - "keybind" : "h" - } - { - "label" : "logout", - "action" : "hyprctl dispatch exit", - "text" : "WMを出る", - "keybind" : "e" - } - { - "label" : "shutdown", - "action" : "doas systemctl poweroff -i", - "text" : "シャットダウン", - "keybind" : "s" - } - { - "label" : "suspend", - "action" : "doas systemctl suspend -i && hyprlock", - "text" : "寝", - "keybind" : "u" - } - { - "label" : "reboot", - "action" : "doas systemctl reboot -i", - "text" : "再起動", - "keybind" : "r" - } - ''; - - "wlogout/style.css".text = '' - @import "/home/${config.home.username}/.cache/wal/colors-waybar.css"; - - * { - background-image: none; - box-shadow: none; - } - - window { - background-color: rgba(0, 0, 0, 0.5); - } - - button { - opacity: 0.95; - border-radius: 10px; - border-color: black; - text-decoration-color: @foreground; - color: @foreground; - background-color: @background; - border-style: none; - background-repeat: no-repeat; - background-position: center; - background-size: 25%; - margin: 5px; - } - - button:focus, - button:active, - button:hover { - background-color: @color11; - } - - #lock { - background-image: image( - url("/home/${config.home.username}/.nix-profile/share/wlogout/icons/lock.png") - ); - } - - #logout { - background-image: image( - url("/home/${config.home.username}/.nix-profile/share/wlogout/icons/logout.png") - ); - } - - #suspend { - background-image: image( - url("/home/${config.home.username}/.nix-profile/share/wlogout/icons/suspend.png") - ); - } - - #hibernate { - background-image: image( - url("/home/${config.home.username}/.nix-profile/share/wlogout/icons/hibernate.png") - ); - } - - #shutdown { - background-image: image( - url("/home/${config.home.username}/.nix-profile/share/wlogout/icons/shutdown.png") - ); - } - - #reboot { - background-image: image( - url("/home/${config.home.username}/.nix-profile/share/wlogout/icons/reboot.png") - ); - } - ''; - }; -} diff --git a/home/ebisu/kansai/fortune/development/database.nix b/home/ebisu/kansai/fortune/development/database.nix deleted file mode 100644 index 27f7f28..0000000 --- a/home/ebisu/kansai/fortune/development/database.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - diesel-cli - redis - sqlite - ]; -} diff --git a/home/ebisu/kansai/fortune/development/default.nix b/home/ebisu/kansai/fortune/development/default.nix deleted file mode 100644 index 3e1e809..0000000 --- a/home/ebisu/kansai/fortune/development/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - imports = [ - ./languages - ./tools - ./database.nix - ./infrastructure.nix - ]; -} diff --git a/home/ebisu/kansai/fortune/development/infrastructure.nix b/home/ebisu/kansai/fortune/development/infrastructure.nix deleted file mode 100644 index 4372f23..0000000 --- a/home/ebisu/kansai/fortune/development/infrastructure.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - flyctl - nodePackages_latest.wrangler - nodePackages_latest.vercel - ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/agnostic.nix b/home/ebisu/kansai/fortune/development/languages/agnostic.nix deleted file mode 100644 index 7be3d6a..0000000 --- a/home/ebisu/kansai/fortune/development/languages/agnostic.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - clang - mold - unused - ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/assembly.nix b/home/ebisu/kansai/fortune/development/languages/assembly.nix deleted file mode 100644 index a1dad35..0000000 --- a/home/ebisu/kansai/fortune/development/languages/assembly.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - nasm - nasmfmt - yasm - # uxn - ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/crystal.nix b/home/ebisu/kansai/fortune/development/languages/crystal.nix deleted file mode 100644 index b5092b4..0000000 --- a/home/ebisu/kansai/fortune/development/languages/crystal.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - ameba - crystal - shards - crystalline - ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/default.nix b/home/ebisu/kansai/fortune/development/languages/default.nix deleted file mode 100644 index c56d868..0000000 --- a/home/ebisu/kansai/fortune/development/languages/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - imports = [ - # ./jvm - ./agnostic.nix - # ./assembly.nix - ./crystal.nix - # ./dotnet.nix - ./gleam.nix - ./go.nix - # ./haskell.nix - ./javascript.nix - # ./lisp.nix - # ./nim.nix - # ./ocaml.nix - ./protobuf.nix - ./python.nix - ./rust.nix - # ./shell.nix - ./swift.nix - # ./vlang.nix - ./yaml.nix - ./zig.nix - ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/dotnet.nix b/home/ebisu/kansai/fortune/development/languages/dotnet.nix deleted file mode 100644 index 2bd09b5..0000000 --- a/home/ebisu/kansai/fortune/development/languages/dotnet.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - dotnetCorePackages.dotnet_9.sdk - dotnetCorePackages.dotnet_9.runtime - ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/gleam.nix b/home/ebisu/kansai/fortune/development/languages/gleam.nix deleted file mode 100644 index bdea22c..0000000 --- a/home/ebisu/kansai/fortune/development/languages/gleam.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - erlang_nox - gleam - rebar3 - ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/go.nix b/home/ebisu/kansai/fortune/development/languages/go.nix deleted file mode 100644 index e389414..0000000 --- a/home/ebisu/kansai/fortune/development/languages/go.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ pkgs, ... }: -{ - programs.go.enable = true; - home.packages = with pkgs; [ gopls ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/haskell.nix b/home/ebisu/kansai/fortune/development/languages/haskell.nix deleted file mode 100644 index 34194f4..0000000 --- a/home/ebisu/kansai/fortune/development/languages/haskell.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - ghc - haskellPackages.cabal-fmt - # haskellPackages.pier - stack - hlint - stylish-haskell - ormolu - haskell-language-server - cabal-install - ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/javascript.nix b/home/ebisu/kansai/fortune/development/languages/javascript.nix deleted file mode 100644 index cc7b899..0000000 --- a/home/ebisu/kansai/fortune/development/languages/javascript.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - bun - # deno - nodePackages_latest.nodejs - yarn-berry - npkill - ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/jvm/clojure.nix b/home/ebisu/kansai/fortune/development/languages/jvm/clojure.nix deleted file mode 100644 index c796cd9..0000000 --- a/home/ebisu/kansai/fortune/development/languages/jvm/clojure.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - babashka - cljfmt - clojure - leiningen - ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/jvm/default.nix b/home/ebisu/kansai/fortune/development/languages/jvm/default.nix deleted file mode 100644 index 7e8e9bc..0000000 --- a/home/ebisu/kansai/fortune/development/languages/jvm/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ pkgs, ... }: -{ - imports = [ - ./clojure.nix - ./scala.nix - ]; - - home.packages = with pkgs; [ - kotlin - cfr - ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/jvm/scala.nix b/home/ebisu/kansai/fortune/development/languages/jvm/scala.nix deleted file mode 100644 index b116274..0000000 --- a/home/ebisu/kansai/fortune/development/languages/jvm/scala.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - scala - sbt - scalafmt - scalafix - ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/lisp.nix b/home/ebisu/kansai/fortune/development/languages/lisp.nix deleted file mode 100644 index af039fa..0000000 --- a/home/ebisu/kansai/fortune/development/languages/lisp.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - sbcl - racket - ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/nim.nix b/home/ebisu/kansai/fortune/development/languages/nim.nix deleted file mode 100644 index 8343ea6..0000000 --- a/home/ebisu/kansai/fortune/development/languages/nim.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - nim - nimble - nimlangserver - ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/ocaml.nix b/home/ebisu/kansai/fortune/development/languages/ocaml.nix deleted file mode 100644 index f7721fe..0000000 --- a/home/ebisu/kansai/fortune/development/languages/ocaml.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs.ocamlPackages; [ - ocaml-lsp - ocamlformat_0_26_1 - dune_3 - ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/protobuf.nix b/home/ebisu/kansai/fortune/development/languages/protobuf.nix deleted file mode 100644 index 19b01c3..0000000 --- a/home/ebisu/kansai/fortune/development/languages/protobuf.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ protobuf ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/python.nix b/home/ebisu/kansai/fortune/development/languages/python.nix deleted file mode 100644 index aaaa97e..0000000 --- a/home/ebisu/kansai/fortune/development/languages/python.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - python3 - rye - mypy - black - uv - ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/rust.nix b/home/ebisu/kansai/fortune/development/languages/rust.nix deleted file mode 100644 index 516c61e..0000000 --- a/home/ebisu/kansai/fortune/development/languages/rust.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - cargo-outdated - cargo-watch - cargo-make - cargo-cache - rustup - cargo-udeps - tsutsumi.cargo-clean-all - ]; - - home.file.".local/share/cargo/config.toml".text = with pkgs; '' - [build] - rustc-wrapper = "${sccache}/bin/sccache" - - [target.x86_64-unknown-linux-gnu] - linker = "${clang}/bin/clang" - rustflags = ["-Clink-args=-fuse-ld=${mold}/bin/mold"] - ''; -} diff --git a/home/ebisu/kansai/fortune/development/languages/shell.nix b/home/ebisu/kansai/fortune/development/languages/shell.nix deleted file mode 100644 index fa0dd45..0000000 --- a/home/ebisu/kansai/fortune/development/languages/shell.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ shfmt ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/swift.nix b/home/ebisu/kansai/fortune/development/languages/swift.nix deleted file mode 100644 index da5bbc7..0000000 --- a/home/ebisu/kansai/fortune/development/languages/swift.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - swift - # swiftlint - swift-format - swiftpm - sourcekit-lsp - ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/vlang.nix b/home/ebisu/kansai/fortune/development/languages/vlang.nix deleted file mode 100644 index bd3cd77..0000000 --- a/home/ebisu/kansai/fortune/development/languages/vlang.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ vlang ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/yaml.nix b/home/ebisu/kansai/fortune/development/languages/yaml.nix deleted file mode 100644 index 468ab45..0000000 --- a/home/ebisu/kansai/fortune/development/languages/yaml.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - yamllint - yamlfix - yamlfmt - ]; -} diff --git a/home/ebisu/kansai/fortune/development/languages/zig.nix b/home/ebisu/kansai/fortune/development/languages/zig.nix deleted file mode 100644 index 4cb900b..0000000 --- a/home/ebisu/kansai/fortune/development/languages/zig.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - zig - zls - ]; - - xdg.configFile."zls.json".text = '' - { - "enable_build_on_save": true, - "build_on_save_step": "check" - } - ''; -} diff --git a/home/ebisu/kansai/fortune/development/tools/build.nix b/home/ebisu/kansai/fortune/development/tools/build.nix deleted file mode 100644 index 6b0c770..0000000 --- a/home/ebisu/kansai/fortune/development/tools/build.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - cmake - just - tup - meson - ninja - sccache - ]; -} diff --git a/home/ebisu/kansai/fortune/development/tools/default.nix b/home/ebisu/kansai/fortune/development/tools/default.nix deleted file mode 100644 index ecde494..0000000 --- a/home/ebisu/kansai/fortune/development/tools/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ inputs, pkgs, ... }: -{ - imports = [ - ./build.nix - ./git.nix - ]; - - home.packages = with pkgs; [ - clang-tools - gtkwave - highlight - hyperfine - sloc - wakatime-cli - linuxKernel.packages.linux_zen.perf - radare2 - global - valgrind - mise - tsutsumi.wakatime-ls - markdownlint-cli - inputs.nix-prettier.packages.${pkgs.system}.default - ]; -} diff --git a/home/ebisu/kansai/fortune/development/tools/git.nix b/home/ebisu/kansai/fortune/development/tools/git.nix deleted file mode 100644 index 0616c40..0000000 --- a/home/ebisu/kansai/fortune/development/tools/git.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - delta - gh - onefetch - gitoxide - tsutsumi.git-sumi - git-crypt - git-lfs - bit - ]; -} diff --git a/home/ebisu/kansai/fortune/gaming.nix b/home/ebisu/kansai/fortune/gaming.nix deleted file mode 100644 index 33d89db..0000000 --- a/home/ebisu/kansai/fortune/gaming.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ inputs, pkgs, ... }: -{ - home.packages = with pkgs; [ - lutris - # xivlauncher - ttyper - # runelite - # sidequest - steam-tui - steamcmd - inputs.nix-gaming.packages.${pkgs.system}.osu-stable - ]; -} diff --git a/home/ebisu/kansai/fortune/multimedia/audio/default.nix b/home/ebisu/kansai/fortune/multimedia/audio/default.nix deleted file mode 100644 index 635d449..0000000 --- a/home/ebisu/kansai/fortune/multimedia/audio/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ pkgs, ... }: -{ - imports = [ ./spotify.nix ]; - - home.packages = with pkgs; [ - alsa-plugins - # blanket - blueberry - cava - cmus - easyeffects - pavucontrol - pulsemixer - jamesdsp - # lsp-plugins - playerctl - ]; -} diff --git a/home/ebisu/kansai/fortune/multimedia/audio/spotify.nix b/home/ebisu/kansai/fortune/multimedia/audio/spotify.nix deleted file mode 100644 index ad0b0b4..0000000 --- a/home/ebisu/kansai/fortune/multimedia/audio/spotify.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - spotify - spotify-player - spicetify-cli - ncspot - psst - playerctl - ]; -} diff --git a/home/ebisu/kansai/fortune/multimedia/browser.nix b/home/ebisu/kansai/fortune/multimedia/browser.nix deleted file mode 100644 index 466bb7b..0000000 --- a/home/ebisu/kansai/fortune/multimedia/browser.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - elinks - geckodriver - chromedriver - lynx - # vieb - # ladybird - web-ext - eolie - ]; -} diff --git a/home/ebisu/kansai/fortune/multimedia/default.nix b/home/ebisu/kansai/fortune/multimedia/default.nix deleted file mode 100644 index 84c4bc4..0000000 --- a/home/ebisu/kansai/fortune/multimedia/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ pkgs, ... }: -{ - imports = [ - ./audio - ./video - ./browser.nix - ./document.nix - ./image.nix - ./reddit.nix - ]; - - home.packages = with pkgs; [ - blender - epr - nicotine-plus - qbittorrent - transmission_4-gtk - deluge - ]; -} diff --git a/home/ebisu/kansai/fortune/multimedia/document.nix b/home/ebisu/kansai/fortune/multimedia/document.nix deleted file mode 100644 index b306b62..0000000 --- a/home/ebisu/kansai/fortune/multimedia/document.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - libreoffice-fresh - manga-cli - zathura - thunderbird - rfc - tdf - tsutsumi.t - xournalpp - ]; -} diff --git a/home/ebisu/kansai/fortune/multimedia/image.nix b/home/ebisu/kansai/fortune/multimedia/image.nix deleted file mode 100644 index 6e788cb..0000000 --- a/home/ebisu/kansai/fortune/multimedia/image.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - tsutsumi.ahoviewer - emulsion - feh - imv - gallery-dl - gthumb - pngcrush - viu - optipng - tsutsumi.chan-downloader - ]; -} diff --git a/home/ebisu/kansai/fortune/multimedia/reddit.nix b/home/ebisu/kansai/fortune/multimedia/reddit.nix deleted file mode 100644 index 009bf65..0000000 --- a/home/ebisu/kansai/fortune/multimedia/reddit.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs.tsutsumi; [ - ripper - parse-ripper-output - ]; -} diff --git a/home/ebisu/kansai/fortune/multimedia/video/anime.nix b/home/ebisu/kansai/fortune/multimedia/video/anime.nix deleted file mode 100644 index 471bb7a..0000000 --- a/home/ebisu/kansai/fortune/multimedia/video/anime.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - ani-cli - # miru - ]; -} diff --git a/home/ebisu/kansai/fortune/multimedia/video/default.nix b/home/ebisu/kansai/fortune/multimedia/video/default.nix deleted file mode 100644 index da366ab..0000000 --- a/home/ebisu/kansai/fortune/multimedia/video/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ pkgs, ... }: -{ - imports = [ ./anime.nix ]; - - home.packages = with pkgs; [ - mplayer - mpv - yt-dlp_git - ytfzf - clapper - streamlink-twitch-gui-bin - uxplay - ffmpeg - streamlink - streamlink-twitch-gui-bin - obs-studio - pkgs.tsutsumi.peerflix - ]; -} diff --git a/home/ebisu/kansai/fortune/networking/default.nix b/home/ebisu/kansai/fortune/networking/default.nix deleted file mode 100644 index d5a14ca..0000000 --- a/home/ebisu/kansai/fortune/networking/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs, ... }: -{ - imports = [ - ./smolnet - ./tools - ./glance.nix - ./i2p.nix - ]; - - home.packages = [ pkgs.i2p ]; -} diff --git a/home/ebisu/kansai/fortune/networking/glance.nix b/home/ebisu/kansai/fortune/networking/glance.nix deleted file mode 100644 index 80fa419..0000000 --- a/home/ebisu/kansai/fortune/networking/glance.nix +++ /dev/null @@ -1,388 +0,0 @@ -{ - services.glance = { - enable = true; - - settings = { - pages = [ - { - name = "Startpage"; - width = "slim"; - center-vertically = true; - - columns = [ - { - size = "full"; - - widgets = [ - { - type = "search"; - autofocus = true; - } - { - type = "monitor"; - cache = "1m"; - title = "Services"; - - sites = [ - { - title = "Fuwn.me"; - url = "https://fuwn.me"; - } - { - title = "due.moe"; - url = "https://due.moe"; - } - { - title = "Mayu"; - url = "https://mayu.due.moe"; - } - { - title = "bin"; - url = "https://bin.fuwn.me"; - } - { - title = "Analytics"; - url = "https://analytics.fuwn.me/"; - } - ]; - } - { - type = "bookmarks"; - - groups = [ - { - title = "General"; - links = [ - { - title = "Gmail"; - url = "https://mail.google.com/mail/u/0/"; - same-tab = true; - } - { - title = "Misskey.io"; - url = "https://misskey.io/"; - same-tab = true; - } - { - title = "Canvas"; - url = "https://oit.instructure.com/"; - same-tab = true; - } - { - title = "Blackboard"; - url = "https://mhcc.blackboard.com/"; - same-tab = true; - } - ]; - } - { - title = "Upkeep"; - links = [ - { - title = "GitHub"; - url = "https://github.com/"; - same-tab = true; - } - { - title = "MyNixOS"; - url = "https://mynixos.com/"; - same-tab = true; - } - { - title = "NixOS Search"; - url = "https://search.nixos.org/packages"; - same-tab = true; - } - { - title = "NextDNS"; - url = "https://my.nextdns.io/eb9d92/analytics"; - same-tab = true; - } - { - title = "Tailscale"; - url = "https://login.tailscale.com/admin"; - same-tab = true; - } - { - title = "Hetzner"; - url = "https://console.hetzner.cloud/projects"; - same-tab = true; - } - ]; - } - { - title = "Entertainment"; - links = [ - { - title = "YouTube"; - url = "https://www.youtube.com/"; - same-tab = true; - } - { - title = "AniList"; - url = "https://anilist.co/"; - same-tab = true; - } - { - title = "due.moe"; - url = "https://due.moe/"; - same-tab = true; - } - { - title = "MangaDex"; - url = "https://mangadex.org/"; - same-tab = true; - } - { - title = "Rawkuma"; - url = "https://rawkuma.com/"; - same-tab = true; - } - ]; - } - ]; - } - ]; - } - ]; - } - { - name = "Markets"; - - columns = [ - { - size = "small"; - - widgets = [ - { - type = "markets"; - title = "Indices"; - - markets = [ - { - symbol = "SPY"; - name = "S&P 500"; - } - { - symbol = "DX-Y.NYB"; - name = "Dollar Index"; - } - ]; - } - { - type = "markets"; - title = "Crypto"; - - markets = [ - { - symbol = "BTC-USD"; - name = "Bitcoin"; - } - { - symbol = "ETH-USD"; - name = "Ethereum"; - } - ]; - } - { - type = "markets"; - title = "Stocks"; - sort-by = "absolute-change"; - - markets = [ - { - symbol = "NVDA"; - name = "NVIDIA"; - } - { - symbol = "AAPL"; - name = "Apple"; - } - { - symbol = "MSFT"; - name = "Microsoft"; - } - { - symbol = "GOOGL"; - name = "Google"; - } - { - symbol = "AMD"; - name = "AMD"; - } - { - symbol = "RDDT"; - name = "Reddit"; - } - { - symbol = "AMZN"; - name = "Amazon"; - } - { - symbol = "TSLA"; - name = "Tesla"; - } - { - symbol = "INTC"; - name = "Intel"; - } - { - symbol = "META"; - name = "Meta"; - } - ]; - } - ]; - } - { - size = "full"; - - widgets = [ - { - type = "rss"; - title = "News"; - style = "horizontal-cards"; - - feeds = [ - { - url = "https://feeds.bloomberg.com/markets/news.rss"; - title = "Bloomberg"; - } - { - url = "https://moxie.foxbusiness.com/google-publisher/markets.xml"; - title = "Fox Business"; - } - { - url = "https://moxie.foxbusiness.com/google-publisher/technology.xml"; - title = "Fox Business"; - } - ]; - } - { - type = "group"; - - widgets = [ - { - type = "reddit"; - show-thumbnails = true; - subreddit = "technology"; - } - { - type = "reddit"; - show-thumbnails = true; - subreddit = "wallstreetbets"; - } - ]; - } - { - type = "videos"; - style = "grid-cards"; - collapse-after-rows = 3; - - channels = [ - "UCvSXMi2LebwJEM1s4bz5IBA" - "UCV6KDgJskWaEckne5aPA0aQ" - "UCAzhpt9DmG6PnHXjmJTvRGQ" - ]; - } - ]; - } - { - size = "small"; - - widgets = [ - { - type = "rss"; - title = "News"; - limit = 30; - collapse-after = 13; - - feeds = [ - { - url = "https://www.ft.com/technology?format=rss"; - title = "Financial Times"; - } - { - url = "https://feeds.a.dj.com/rss/RSSMarketsMain.xml"; - title = "Wall Street Journal"; - } - ]; - } - ]; - } - ]; - } - { - name = "Gaming"; - - columns = [ - { - size = "small"; - - widgets = [ - { - type = "twitch-top-games"; - limit = 20; - collapse-after = 13; - - exclude = [ - "just-chatting" - "pools-hot-tubs-and-beaches" - "music" - "art" - "asmr" - ]; - } - ]; - } - { - size = "full"; - - widgets = [ - { - type = "group"; - - widgets = [ - { - type = "reddit"; - show-thumbnails = true; - subreddit = "pcgaming"; - } - { - type = "reddit"; - subreddit = "games"; - } - ]; - } - { - type = "videos"; - style = "grid-cards"; - collapse-after-rows = 3; - - channels = [ - "UCNvzD7Z-g64bPXxGzaQaa4g" - "UCZ7AeeVbyslLM_8-nVy2B8Q" - "UCHDxYLv8iovIbhrfl16CNyg" - "UC9PBzalIcEQCsiIkq36PyUA" - ]; - } - ]; - } - { - size = "small"; - - widgets = [ - { - type = "reddit"; - subreddit = "gamingnews"; - limit = 7; - style = "vertical-cards"; - } - ]; - } - ]; - } - ]; - }; - }; -} diff --git a/home/ebisu/kansai/fortune/networking/i2p.nix b/home/ebisu/kansai/fortune/networking/i2p.nix deleted file mode 100644 index 77b72cc..0000000 --- a/home/ebisu/kansai/fortune/networking/i2p.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - # biglybt - xd - ]; -} diff --git a/home/ebisu/kansai/fortune/networking/smolnet/bollux.nix b/home/ebisu/kansai/fortune/networking/smolnet/bollux.nix deleted file mode 100644 index f0f05f9..0000000 --- a/home/ebisu/kansai/fortune/networking/smolnet/bollux.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = [ pkgs.tsutsumi.bollux ]; - xdg.configFile."bollux/bollux.conf".text = ''''; -} diff --git a/home/ebisu/kansai/fortune/networking/smolnet/default.nix b/home/ebisu/kansai/fortune/networking/smolnet/default.nix deleted file mode 100644 index fe69274..0000000 --- a/home/ebisu/kansai/fortune/networking/smolnet/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ pkgs, ... }: -{ - imports = [ ./bollux.nix ]; - - home.packages = with pkgs; [ - amfora - geopard - gmni - phetch - lagrange - ]; -} diff --git a/home/ebisu/kansai/fortune/networking/tools/default.nix b/home/ebisu/kansai/fortune/networking/tools/default.nix deleted file mode 100644 index 7081ac3..0000000 --- a/home/ebisu/kansai/fortune/networking/tools/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ pkgs, ... }: -{ - imports = [ - ./http - ./dns.nix - ./scanning.nix - ./shark.nix - ]; - - home.packages = with pkgs; [ - lftp - pwru - bmon - netcat-openbsd - nethogs - inetutils - speedtest-cli - traceroute - iptraf-ng - tcpdump - tsutsumi.bindtointerface - trayscale - bandwhich - bore-cli - hcloud - gping - ]; -} diff --git a/home/ebisu/kansai/fortune/networking/tools/dns.nix b/home/ebisu/kansai/fortune/networking/tools/dns.nix deleted file mode 100644 index f7e487a..0000000 --- a/home/ebisu/kansai/fortune/networking/tools/dns.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - dnsutils - whois - dogdns - doggo - ]; -} diff --git a/home/ebisu/kansai/fortune/networking/tools/http/default.nix b/home/ebisu/kansai/fortune/networking/tools/http/default.nix deleted file mode 100644 index b763a1f..0000000 --- a/home/ebisu/kansai/fortune/networking/tools/http/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, ... }: -{ - imports = [ - ./httpie.nix - ./wget.nix - ]; - - home.packages = with pkgs; [ - tsutsumi.yaak - curlie - xh - ]; -} diff --git a/home/ebisu/kansai/fortune/networking/tools/http/httpie.nix b/home/ebisu/kansai/fortune/networking/tools/http/httpie.nix deleted file mode 100644 index f27ef26..0000000 --- a/home/ebisu/kansai/fortune/networking/tools/http/httpie.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - httpie - httpie-desktop - ]; -} diff --git a/home/ebisu/kansai/fortune/networking/tools/http/wget.nix b/home/ebisu/kansai/fortune/networking/tools/http/wget.nix deleted file mode 100644 index c5d2936..0000000 --- a/home/ebisu/kansai/fortune/networking/tools/http/wget.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = [ pkgs.wget ]; - - xdg.configFile."wget/wgetrc".text = '' - hsts-file=~/.cache/wget-hsts - ''; -} diff --git a/home/ebisu/kansai/fortune/networking/tools/scanning.nix b/home/ebisu/kansai/fortune/networking/tools/scanning.nix deleted file mode 100644 index fe9c1fa..0000000 --- a/home/ebisu/kansai/fortune/networking/tools/scanning.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - nmap - rustscan - arp-scan - ]; -} diff --git a/home/ebisu/kansai/fortune/networking/tools/shark.nix b/home/ebisu/kansai/fortune/networking/tools/shark.nix deleted file mode 100644 index d4b8c51..0000000 --- a/home/ebisu/kansai/fortune/networking/tools/shark.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - termshark - wireshark - ]; -} diff --git a/home/ebisu/kansai/fortune/scripts/default.nix b/home/ebisu/kansai/fortune/scripts/default.nix deleted file mode 100644 index 26a1231..0000000 --- a/home/ebisu/kansai/fortune/scripts/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = - let - scriptsDirectory = ./scripts; - in - builtins.attrValues ( - builtins.listToAttrs ( - builtins.map (name: { - inherit name; - - value = pkgs.writeShellScriptBin name (builtins.readFile "${scriptsDirectory}/${name}"); - }) (builtins.attrNames (builtins.readDir scriptsDirectory)) - ) - ); -} diff --git a/home/ebisu/kansai/fortune/scripts/scripts/.gitignore b/home/ebisu/kansai/fortune/scripts/scripts/.gitignore deleted file mode 100644 index 9f4e1cb..0000000 --- a/home/ebisu/kansai/fortune/scripts/scripts/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -know -hime -pok -counter -rinny diff --git a/home/ebisu/kansai/fortune/scripts/scripts/altserver b/home/ebisu/kansai/fortune/scripts/scripts/altserver deleted file mode 100755 index 0a0d5f9..0000000 --- a/home/ebisu/kansai/fortune/scripts/scripts/altserver +++ /dev/null @@ -1,12 +0,0 @@ -# Wrapper around AltServer for usage on *nix - -# doas usbmuxd & - -# export USBMUXD_SOCKET_ADDRESS=127.0.0.1:27015 - -# doas netmuxd --disable-unix --host 127.0.0.1 & - -docker run -d -v lib_cache:/opt/lib/ --restart=always -p 6969:6969 --name anisette dadoum/anisette-server:latest - -# Not very Nix .... -ALTSERVER_ANISETTE_SERVER=http://127.0.0.1:6969 python3 ~/.local/src/AltServer-Linux/main.py diff --git a/home/ebisu/kansai/fortune/scripts/scripts/anidub b/home/ebisu/kansai/fortune/scripts/scripts/anidub deleted file mode 100755 index aacf84f..0000000 --- a/home/ebisu/kansai/fortune/scripts/scripts/anidub +++ /dev/null @@ -1,3 +0,0 @@ -# Wrapper around ani-cli (dubbed) for Rofi - -ANI_CLI_PLAYER=clapper ani-cli --dub --rofi "${1}" diff --git a/home/ebisu/kansai/fortune/scripts/scripts/anime b/home/ebisu/kansai/fortune/scripts/scripts/anime deleted file mode 100755 index 60b143b..0000000 --- a/home/ebisu/kansai/fortune/scripts/scripts/anime +++ /dev/null @@ -1,3 +0,0 @@ -# Wrapper around ani-cli for Rofi - -ANI_CLI_PLAYER=mpv ani-cli --rofi "${1}" diff --git a/home/ebisu/kansai/fortune/scripts/scripts/apod b/home/ebisu/kansai/fortune/scripts/scripts/apod deleted file mode 100755 index a8814a9..0000000 --- a/home/ebisu/kansai/fortune/scripts/scripts/apod +++ /dev/null @@ -1,6 +0,0 @@ -# Get today's Astronomy Picture of the Day (APOD) from NASA - -printf \ - "https://apod.nasa.gov/apod/%s\\n" \ - "$(curl --silent "https://apod.nasa.gov/apod/" | - grep -Po 'SRC="\K[^"]+')" diff --git a/home/ebisu/kansai/fortune/scripts/scripts/catboy b/home/ebisu/kansai/fortune/scripts/scripts/catboy deleted file mode 100755 index cc75e52..0000000 --- a/home/ebisu/kansai/fortune/scripts/scripts/catboy +++ /dev/null @@ -1,8 +0,0 @@ -# VPN wrapper around catgirl - -vpn_ip="$(piactl get vpnip)" - -BIND_INTERFACE=wgpia0 \ - LD_PRELOAD=/usr/lib/bindtointerface.so \ - BIND_SOURCE_IP=${vpn_ip} \ - catgirl "${1}" diff --git a/home/ebisu/kansai/fortune/scripts/scripts/chan2 b/home/ebisu/kansai/fortune/scripts/scripts/chan2 deleted file mode 100755 index 525d5f1..0000000 --- a/home/ebisu/kansai/fortune/scripts/scripts/chan2 +++ /dev/null @@ -1,3 +0,0 @@ -# Tiny wrapper around chan-downloader - -chan-downloader -c 10 --thread "${1}" -o "${2}" diff --git a/home/ebisu/kansai/fortune/scripts/scripts/fim b/home/ebisu/kansai/fortune/scripts/scripts/fim deleted file mode 100755 index 51898ab..0000000 --- a/home/ebisu/kansai/fortune/scripts/scripts/fim +++ /dev/null @@ -1,20 +0,0 @@ -# Finger "blog" updater - -HOST="seti" - -while getopts "f" opt; do - case ${opt} in - f) FORMAT=true ;; - *) FORMAT=false ;; - esac -done - -shift $((OPTIND - 1)) - -PROFILE="/var/lib/docker/volumes/gigi-data/_data/${1:-fuwn}" - -if [ -n "${FORMAT}" ]; then - ssh -t "${HOST}" "vim -c 'autocmd BufWritePost * !fmt -w 80 % > %.tmp && mv %.tmp %' '${PROFILE}'" -else - ssh -t "${HOST}" "vim '${PROFILE}'" -fi diff --git a/home/ebisu/kansai/fortune/scripts/scripts/gmiwatch b/home/ebisu/kansai/fortune/scripts/scripts/gmiwatch deleted file mode 100755 index cf3e52a..0000000 --- a/home/ebisu/kansai/fortune/scripts/scripts/gmiwatch +++ /dev/null @@ -1,24 +0,0 @@ -# Gemini capsule watcher, used for development - -usage() { - echo "usage: ${0} [-n interval] " - - exit 1 -} - -while getopts "n:" opt; do - case ${opt} in - n) - interval=${OPTARG} - - shift 2 - ;; - *) usage ;; - esac -done - -if [ -z "${1}" ]; then - usage -fi - -watch -n "${interval:-5}" -t gmni -j always "gemini://${1}" diff --git a/home/ebisu/kansai/fortune/scripts/scripts/hon b/home/ebisu/kansai/fortune/scripts/scripts/hon deleted file mode 100755 index b4436ec..0000000 --- a/home/ebisu/kansai/fortune/scripts/scripts/hon +++ /dev/null @@ -1,11 +0,0 @@ -# Personal manga feed wrapper around Suzuri - -SUZURI_MINIMAL=1 \ - SUZURI_REVERSE=1 \ - suzuri \ - AXHJex1ZiWcQFSzUKhQ5uW \ - Anime | - grep -iF manga | - sed -E 's|http[s]?://[^ ]+||g' | - sed 's/^/* /' | - tac # | glow -w 2048 diff --git a/home/ebisu/kansai/fortune/scripts/scripts/locs b/home/ebisu/kansai/fortune/scripts/scripts/locs deleted file mode 100755 index 7b0ea19..0000000 --- a/home/ebisu/kansai/fortune/scripts/scripts/locs +++ /dev/null @@ -1,102 +0,0 @@ -# Silly lines-of-code counter - -DEFAULT_COMMENT_STYLES='(//|#|/\*|\*|)' -FILE_MAX_LENGTH=5 - -count_non_empty_lines() { - local file="${1}" - grep -cve '^\s*$' "${file}" -} - -process_files() { - for file in "$@"; do - if [ -f "${file}" ]; then - if [ ${#file} -gt "${longest_filename}" ]; then - longest_filename=${#file} - fi - fi - done - - for file in "$@"; do - if [ -f "${file}" ]; then - lines=$(count_non_empty_lines "${file}") - total_lines=$((total_lines + lines)) - - case "${file}" in - *.gleam) COMMENT_STYLE='(//)' ;; - *.cc | *.hh | *.cpp | *.hpp | *.c | *.h) COMMENT_STYLE='(//|/\*)' ;; - *) COMMENT_STYLE=${DEFAULT_COMMENT_STYLES} ;; - esac - - comments=$(grep -E "^\s*${COMMENT_STYLE}\s*.*\s*$" "${file}" | grep -v '^\s*$' | wc -l) - total_comments=$((total_comments + comments)) - - printf "%-${longest_filename}s %-${FILE_MAX_LENGTH}s %s\n" "${file}" "$((lines - comments))" "${comments}" - - if [ "${LOCS_PRINT_COMMENTS:-0}" = 1 ]; then - grep -n -E "^\s*${COMMENT_STYLE}\s*.*\s*$" "${file}" | grep -v '^\s*$' | sed 's/^/ /' | sed 's/\s*\/\///' | sed 's/\([0-9]\+\): /\1 | /' - - if [ "${comments}" -gt 0 ]; then - echo - fi - fi - fi - done -} - -main() { - local total_lines=0 - local total_comments=0 - local longest_filename=0 - - if [ -z "$1" ]; then - cat < - -⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢲⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠄⠂⢉⠤⠐⠋⠈⠡⡈⠉⠐⠠⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ -⠀⠀⠀⠀⢀⡀⢠⣤⠔⠁⢀⠀⠀⠀⠀⠀⠀⠀⠈⢢⠀⠀⠈⠱⡤⣤⠄⣀⠀⠀⠀⠀⠀ -⠀⠀⠰⠁⠀⣰⣿⠃⠀⢠⠃⢸⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠈⢞⣦⡀⠈⡇⠀⠀⠀ -⠀⠀⠀⢇⣠⡿⠁⠀⢀⡃⠀⣈⠀⠀⠀⠀⢰⡀⠀⠀⠀⠀⢢⠰⠀⠀⢺⣧⢰⠀⠀⠀⠀ -⠀⠀⠀⠈⣿⠁⡘⠀⡌⡇⠀⡿⠸⠀⠀⠀⠈⡕⡄⠀⠐⡀⠈⠀⢃⠀⠀⠾⠇⠀⠀⠀⠀ -⠀⠀⠀⠀⠇⡇⠃⢠⠀⠶⡀⡇⢃⠡⡀⠀⠀⠡⠈⢂⡀⢁⠀⡁⠸⠀⡆⠘⡀⠀⠀⠀⠀ -⠀⠀⠀⠸⠀⢸⠀⠘⡜⠀⣑⢴⣀⠑⠯⡂⠄⣀⣣⢀⣈⢺⡜⢣⠀⡆⡇⠀⢣⠀⠀⠀⠀ -⠀⠀⠀⠇⠀⢸⠀⡗⣰⡿⡻⠿⡳⡅⠀⠀⠀⠀⠈⡵⠿⠿⡻⣷⡡⡇⡇⠀⢸⣇⠀⠀⠀ -⠀⠀⢰⠀⠀⡆⡄⣧⡏⠸⢠⢲⢸⠁⠀⠀⠀⠀⠐⢙⢰⠂⢡⠘⣇⡇⠃⠀⠀⢹⡄⠀⠀ -⠀⠀⠟⠀⠀⢰⢁⡇⠇⠰⣀⢁⡜⠀⠀⠀⠀⠀⠀⠘⣀⣁⠌⠀⠃⠰⠀⠀⠀⠈⠰⠀⠀ -⠀⡘⠀⠀⠀⠀⢊⣤⠀⠀⠤⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠄⠀⢸⠃⠀⠀⠀⠀⠀⠃⠀ -⢠⠁⢀⠀⠀⠀⠈⢿⡀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⢀⠏⠀⠀⠀⠀⠀⠀⠸⠀ -⠘⠸⠘⡀⠀⠀⠀⠀⢣⠀⠀⠀⠀⠀⠀⠁⠀⠃⠀⠀⠀⠀⢀⠎⠀⠀⠀⠀⠀⢠⠀⠀⡇ -⠀⠇⢆⢃⠀⠀⠀⠀⠀⡏⢲⢤⢀⡀⠀⠀⠀⠀⠀⢀⣠⠄⡚⠀⠀⠀⠀⠀⠀⣾⠀⠀⠀ -⢰⠈⢌⢎⢆⠀⠀⠀⠀⠁⣌⠆⡰⡁⠉⠉⠀⠉⠁⡱⡘⡼⠇⠀⠀⠀⠀⢀⢬⠃⢠⠀⡆ -⠀⢢⠀⠑⢵⣧⡀⠀⠀⡿⠳⠂⠉⠀⠀⠀⠀⠀⠀⠀⠁⢺⡀⠀⠀⢀⢠⣮⠃⢀⠆⡰⠀ -⠀⠀⠑⠄⣀⠙⡭⠢⢀⡀⠀⠁⠄⣀⣀⠀⢀⣀⣀⣀⡠⠂⢃⡀⠔⠱⡞⢁⠄⣁⠔⠁⠀ -⠀⠀⠀⠀⠀⢠⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠉⠁⠀⠀⠀⠀ -⠀⠀⠀⠀⠀⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀ - -EOF - - exit 1 - fi - - local files - - files=$(find "${@}" -type f) - - process_files ${files} >/tmp/lines - - if [ "${LOCS_HEADER:-1}" = 1 ]; then - printf "%-${longest_filename}s %-${FILE_MAX_LENGTH}s %s\n" "filename" "lines" "comments" - fi - - if [ "${LOCS_PRINT_COMMENTS:-0}" = 1 ] || [ "${LOCS_SORT:-1}" = 0 ]; then - cat /tmp/lines - else - sort -k2nr "${tmpfile1}" - -# awk '{ -# print substr($0, 1, 74) sprintf("%06d", NR) substr($0, 81); -# }' "${tmpfile1}" >"${tmpfile2}" - -# mv "${tmpfile2}" "${filename}" -mv "${tmpfile1}" "${filename}" diff --git a/home/ebisu/kansai/fortune/scripts/scripts/setbg b/home/ebisu/kansai/fortune/scripts/scripts/setbg deleted file mode 100755 index a399344..0000000 --- a/home/ebisu/kansai/fortune/scripts/scripts/setbg +++ /dev/null @@ -1,75 +0,0 @@ -background_location="${XDG_DATA_HOME:-${HOME}/.local/share}/bg" -dunst_configuration_file="${XDG_CONFIG_HOME:-${HOME}/.config}/dunst/dunstrc" -zathura_configuration_file="${XDG_CONFIG_HOME:-${HOME}/.config}/zathura/zathurarc" - -while getopts "s" o; do case "${o}" in - s) silent='1' ;; - *) ;; - esac done - -shift $((OPTIND - 1)) - -true_background_location="$(readlink -f "$1")" && - case "$(file --mime-type -b "${true_background_location}")" in - image/*) - ln -sf "${true_background_location}" "${background_location}" && - [ -z "${silent}" ] && - notify-send -i "${background_location}" "Changing wallpaper ..." - ;; - inode/directory) - link=$(find "${true_background_location}" -iregex '.*.\(jpg\|jpeg\|png\|gif\)' -type f | shuf -n 1) - - ln -sf "${link}" "${background_location}" && [ -z "${silent}" ] && notify-send -i "${background_location}" "Random wallpaper chosen." - ;; - *) - [ -z "${silent}" ] && - notify-send "Error" "Invalid image or directory found." - - exit 1 - ;; - esac - -if command -v wal >/dev/null 2>&1; then - link=$(readlink -f "${background_location}") - - wal -n -i "${link}" -o "${XDG_CONFIG_HOME:-${HOME}/.config}/wal/postrun" >/dev/null 2>&1 -else - [ -f "${dunst_configuration_file}.bak" ] && - unlink "${dunst_configuration_file}" && - mv "${dunst_configuration_file}.bak" "${dunst_configuration_file}" - - [ -f "${zathura_configuration_file}.bak" ] && - unlink "${zathura_configuration_file}" && - mv "${zathura_configuration_file}.bak" "${zathura_configuration_file}" -fi - -case "$(loginctl show-session 1 -p Type)" in -*"wayland") - hyprpaper_configuration_file="${HOME}/.config/hypr/hyprpaper.conf" - - cp "${HOME}/.cache/wal/colors-waybar.css" "${HOME}/.config/waybar/colors-waybar.css" - cp "${hyprpaper_configuration_file}" "${hyprpaper_configuration_file}.bak" - - if pidof hyprpaper >/dev/null; then - awk -v newpath="${true_background_location}" ' -BEGIN { FS = OFS = "=" } -/^preload/ { - $2 = " " newpath -} -/^wallpaper/ { - split($2, a, ","); - $2 = a[1] "," newpath -} -{ print } -' "${hyprpaper_configuration_file}.bak" >"${hyprpaper_configuration_file}" - killall -9 hyprpaper >/dev/null - hyprpaper >/dev/null & - elif pidof swww-daemon >/dev/null; then - swww img "${true_background_location}" & - fi - ;; -*) - xwallpaper --zoom "${background_location}" - pidof sei >/dev/null && xdotool key super+F5 - ;; -esac diff --git a/home/ebisu/kansai/fortune/scripts/scripts/shiori b/home/ebisu/kansai/fortune/scripts/scripts/shiori deleted file mode 100755 index 5f825e7..0000000 --- a/home/ebisu/kansai/fortune/scripts/scripts/shiori +++ /dev/null @@ -1,49 +0,0 @@ -# Random ASCII art - -# https://zh.moegirl.org.cn/Shift_JIS%E8%89%BA%E6%9C%AF -art=() - -# http://aa.en.utf8art.com/node/52/txtcaa -read -r -d '' art['0'] <:)" >&2 - - exit 1 -fi - -# if [ "${SUDO_USER}" ]; then -# real_user=$SUDO_USER -# else -# real_user=$(whoami) -# fi - -systemctl start libvirtd >/dev/null && echo "libvirtd started" - -virsh net-start default >/dev/null && echo "default network started" diff --git a/home/ebisu/kansai/fortune/scripts/scripts/tup-init b/home/ebisu/kansai/fortune/scripts/scripts/tup-init deleted file mode 100644 index 387fa53..0000000 --- a/home/ebisu/kansai/fortune/scripts/scripts/tup-init +++ /dev/null @@ -1,25 +0,0 @@ -tup init >/dev/null - -cat <Tupfile -# Input & Output Directories -SOURCE_DIRECTORY = . -INCLUDE_DIRECTORY = . -BUILD_DIRECTORY = build - -# Compiler Configuration -CC = clang++ -CC_EXTENSION = cc -CC_FLAGS = -std=c++23 -I \$(INCLUDE_DIRECTORY) -Weverything -Wno-padded -Wno-c++98-compat -MMD -Wno-c++98-compat-pedantic - -# Clang-tidy Configuration -CLANG_TIDY_CHECKS = '-*,bugprone-*,clang-analyzer-*,concurrency-*,cppcoreguildelines-*,llvm-*,misc-*,modernize-*,performance-*,portability-*,readability-*,-readability-magic-numbers,-llvm-header-guard,-bugprone-suspicious-include,-readability-function-cognitive-complexity,-bugprone-exception-escape' -CLANG_TIDY_FLAGS = -checks=\$(CLANG_TIDY_CHECKS) -warnings-as-errors=* -quiet - -NAME = $(basename "$(pwd)") - -: foreach \$(SOURCE_DIRECTORY)/*.\$(CC_EXTENSION) \$(INCLUDE_DIRECTORY)/*.hh |> clang-format -i %f |> -: foreach \$(SOURCE_DIRECTORY)/*.\$(CC_EXTENSION) |> clang-tidy \$(CLANG_TIDY_FLAGS) %f -- \$(CC_FLAGS) |> -: foreach \$(SOURCE_DIRECTORY)/*.\$(CC_EXTENSION) |> ^j^ \$(CC) \$(CC_FLAGS) -MF \$(BUILD_DIRECTORY)/%B.d -c %f -o %o |> \$(BUILD_DIRECTORY)/%B.o | \$(BUILD_DIRECTORY)/%B.d -: \$(BUILD_DIRECTORY)/*.o ^test.o |> \$(CC) %f -o %o |> \$(BUILD_DIRECTORY)/\$(NAME) -: \$(BUILD_DIRECTORY)/*.o ^main.o |> \$(CC) %f -o %o |> \$(BUILD_DIRECTORY)/\$(NAME)_test -EOF diff --git a/home/ebisu/kansai/fortune/scripts/scripts/vivwal b/home/ebisu/kansai/fortune/scripts/scripts/vivwal deleted file mode 100755 index 995359e..0000000 --- a/home/ebisu/kansai/fortune/scripts/scripts/vivwal +++ /dev/null @@ -1,59 +0,0 @@ -# Sets Vivaldi's theme colors to those generated by Wal. -# Source: https://forum.vivaldi.net/topic/34521/linux-changing-theme-via-command-line/22?_=1597433612704 -# Author: Vivaldi Forum user Wismut - -logfile=~/.log/vivwal.log - -text_color="#eeeeee" -if [[ "$1" && "$1" == "-l" ]]; then - text_color="#111111" -fi - -# Source Wal colors (replace this path with the path where the colors generated by wal are stored) -source ~/.cache/wal/colors.sh - -# testing if vivaldi is running -PROCESS1=vivaldi -PROCESS2=crconsole -PIDS_Vivaldi=$(ps cax | grep $PROCESS1 | grep -o '^[ ]*[0-9]*') -PIDS_crconsole=$(ps cax | grep $PROCESS2 | grep -o '^[ ]*[0-9]*') -if [ -z "$PIDS_Vivaldi" ]; then - # Vivaldi is not running - if [ -z "$PIDS_crconsole" ]; then - echo "All is fine. Neither Vivaldi nor crconsole are running." 1>&2 - else - # kill crconsole - pkill -f "node /usr/bin/crconsole" - fi -else - # Vivaldi is running - # let's start using crconsole - # find all open tabs - tablist=$( - echo .tabs | crconsole & - sleep 1 - pkill -f "node /usr/bin/crconsole" - ) - # read each tab - while read -r line; do - echo "... $line ..." - # find /browser.html tab - if [[ $line == *"/browser.html"* ]]; then - tabnumber=$(echo "$line" | grep -o '[0-9]\+') - # change Vivaldi accent background colors - var=$( - ( - echo ".switch $tabnumber" - sleep 1 - echo "chrome.storage.local.set({'BROWSER_COLOR_BG':'$background', 'BROWSER_COLOR_FG':'$text_color', 'BROWSER_COLOR_ACCENT_BG':'$color5', 'BROWSER_COLOR_HIGHLIGHT_BG':'$color1'})" - ) | crconsole & - sleep 1 - pkill -f "node /usr/bin/crconsole" - ) - echo "$var" >$logfile - fi - done <<<"$tablist" - sleep 1 - pkill -f "node /usr/bin/crconsole" -fi -exit diff --git a/home/ebisu/kansai/fortune/scripts/scripts/worlds b/home/ebisu/kansai/fortune/scripts/scripts/worlds deleted file mode 100755 index 834079a..0000000 --- a/home/ebisu/kansai/fortune/scripts/scripts/worlds +++ /dev/null @@ -1,15 +0,0 @@ -# WorldsPlayer runner for use in Bottles - -NAMESPACE=worlds - -# kitty -e doas termshark -i worlds_vo & -wireshark -k -i "${NAMESPACE}_vo" & - -doas runnet \ - --publish-all-ports \ - --user=fuwn \ - --netns=${NAMESPACE} \ - --internet \ - bottles-cli run \ - -p WorldsPlayer \ - -b 'WorldsPlayer' diff --git a/home/ebisu/kansai/fortune/system/default.nix b/home/ebisu/kansai/fortune/system/default.nix deleted file mode 100644 index 6a2babd..0000000 --- a/home/ebisu/kansai/fortune/system/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, ... }: -{ - imports = [ - ./shell - ./terminal - ./virtualisation - ./peripheral.nix - ./sops.nix - ./ssh.nix - ./tracing.nix - ./variables.nix - ]; - - home.packages = [ pkgs.nerdfonts ]; -} diff --git a/home/ebisu/kansai/fortune/system/peripheral.nix b/home/ebisu/kansai/fortune/system/peripheral.nix deleted file mode 100644 index 7b91dfe..0000000 --- a/home/ebisu/kansai/fortune/system/peripheral.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - # openrgb - solaar - ]; -} diff --git a/home/ebisu/kansai/fortune/system/shell/default.nix b/home/ebisu/kansai/fortune/system/shell/default.nix deleted file mode 100644 index 82c4a71..0000000 --- a/home/ebisu/kansai/fortune/system/shell/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ pkgs, ... }: -{ - imports = [ - ./fish.nix - ./starship.nix - ]; - - home.packages = with pkgs; [ - asciinema - navi - shellclear - watchexec - zoxide - shellcheck - termius - dash - mosh - killall - ]; -} diff --git a/home/ebisu/kansai/fortune/system/shell/fish.nix b/home/ebisu/kansai/fortune/system/shell/fish.nix deleted file mode 100644 index d7ff424..0000000 --- a/home/ebisu/kansai/fortune/system/shell/fish.nix +++ /dev/null @@ -1,184 +0,0 @@ -{ - pkgs, - config, - secrets, - self, - lib, - ... -}: -{ - programs.fish = { - enable = true; - - shellInit = '' - if status is-interactive - set fish_greeting - - fish_vi_key_bindings - - function fish_postexec --on-event fish_postexec - if test "$argv" != "clear" - echo - end - end - - function vpn - env BIND_INTERFACE=wgpia0 LD_PRELOAD=/usr/lib/bindToInterface.so $argv - end - - function nh - if test "$argv[1]" = "home" -a "$argv[2]" = "switch" - command nh $argv -- --impure - else - command nh $argv - end - end - - function nix-find - doas find $argv -type f -exec test ! -L {} \; -exec realpath {} \; | grep -v "^/nix/store" - end - - function code - command code $argv --wait - end - - function code! - command code $argv - end - end - - set -l config_home (set -q XDG_CONFIG_HOME; and echo $XDG_CONFIG_HOME; or echo ${config.xdg.configHome}) - set HISTSIZE -1 - set HISTFILESIZE -1 - set SAVEHIST -1 - set GPG_TTY (tty) - - bind \ce edit_command_buffer - - cat ${config.xdg.cacheHome}/wal/sequences - - zoxide init fish | source - ''; - - plugins = [ - { - name = "fzf.fish"; - - src = pkgs.fetchFromGitHub { - owner = "patrickf1"; - repo = "fzf.fish"; - rev = "8920367cf85eee5218cc25a11e209d46e2591e7a"; - sha256 = "sha256-T8KYLA/r/gOKvAivKRoeqIwE2pINlxFQtZJHpOy9GMM="; - }; - } - { - name = "bass"; - - src = pkgs.fetchFromGitHub { - owner = "edc"; - repo = "bass"; - rev = "79b62958ecf4e87334f24d6743e5766475bcf4d0"; - sha256 = "sha256-3d/qL+hovNA4VMWZ0n1L+dSM1lcz7P5CQJyy+/8exTc="; - }; - } - { - name = "nvm.fish"; - - src = pkgs.fetchFromGitHub { - owner = "jorgebucaran"; - repo = "nvm.fish"; - rev = "b8edb1ee24cbbf7259196b0cb3c6c4ab65b07929"; - sha256 = "sha256-7JxIQSseBv81SSpWH1pufx8fh9EQhbo3r2nVVREwc58="; - }; - } - { - name = "sponge"; - - src = pkgs.fetchFromGitHub { - owner = "meaningful-ooo"; - repo = "sponge"; - rev = "384299545104d5256648cee9d8b117aaa9a6d7be"; - sha256 = "sha256-MdcZUDRtNJdiyo2l9o5ma7nAX84xEJbGFhAVhK+Zm1w="; - }; - } - { - name = "autopair.fish"; - - src = pkgs.fetchFromGitHub { - owner = "jorgebucaran"; - repo = "autopair.fish"; - rev = "4d1752ff5b39819ab58d7337c69220342e9de0e2"; - sha256 = "sha256-qt3t1iKRRNuiLWiVoiAYOu+9E7jsyECyIqZJ/oRIT1A="; - }; - } - ]; - - shellAliases = - let - proxyEnvironment = "http_proxy=$(cat ${ - config.sops.secrets."proxy/i2p/http".path - }) HTTP_PROXY=$(cat ${config.sops.secrets."proxy/i2p/http".path}) https_proxy=$(cat ${ - config.sops.secrets."proxy/i2p/https".path - }) HTTPS_PROXY=$(cat ${config.sops.secrets."proxy/i2p/https".path}) socks_proxy=$(cat ${ - config.sops.secrets."proxy/i2p/socks5".path - }) SOCKS_PROXY=$(cat ${config.sops.secrets."proxy/i2p/socks5".path})"; - in - { - # Verbosity - cp = "cp -iv"; - mv = "mv -iv"; - # rm = "rm -vI"; - bc = "bc -ql"; - rsync = "rsync -vrPlu"; - mkd = "mkdir -pv"; - yt = "yt-dlp --embed-metadata -i"; - yta = "yt -x -f bestaudio/best"; - ytt = "yt --skip-download --write-thumbnail"; - ffmpeg = "ffmpeg -hide_banner"; - wdic = "wdic --homophones --kanji --color --pager"; - hakuneko = "hakuneko-desktop --no-sandbox"; - fastfetch = "clear && /usr/bin/env fastfetch"; - wget = "wget --hsts-file=${config.xdg.dataHome}/wget-hsts"; - mosh = "mosh --predict=experimental"; - - # Modern Alternatives & Alias Rewrites - unzip = "ripunzip unzip-file"; - nvim = "lvim"; - vim = "lvim"; - vimdiff = "lvim -d"; - rm = "rip"; - - # Colourise - ls = "exa -h --no-quotes --color=auto --group-directories-first"; - grep = "grep --color=auto"; - diff = "diff --color=auto"; - ccat = "highlight --out-format=ansi"; - ip = "ip -color=auto"; - - # Abbreviations - ka = "killall"; - g = "git"; - sdn = "shutdown -h now"; - e = "$EDITOR"; - v = "$EDITOR"; - ff = "fastfetch"; - - # Other - chan = "chan-downloader -c 10"; - rotd = "systemctl --user restart opentabledriver.service"; - ks = "kaguya stream --user-agent 'Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0'"; - def = "myougiden"; - suzuri = "SUZURI_MINIMAL=1 SUZURI_REVERSE=1 ${pkgs.tsutsumi.suzuri}/bin/suzuri"; - "5ch" = "html2md -i 'https://ff5ch.syoboi.jp/' -s section | glow"; - shinobu = "curl --silent https://shinobu.fuwn.workers.dev/shinobu -o /tmp/shinobu && feh /tmp/shinobu"; - auto_subtitle = "source ${config.home.homeDirectory}/Documents/Code/Git/Random/auto-subtitle/venv/bin/activate && auto_subtitle --model medium --task translate --srt_only True"; - steamy = "mangohud gamemoderun steam-runtime"; - koix = "koi -f"; - seamonkey = "${config.home.homeDirectory}/.local/src/seamonkey/seamonkey-bin"; - doom = "${config.xdg.configHome}/emacs/bin/doom"; - epiphany-i2p = "${proxyEnvironment} epiphany"; - eolie-i2p = "${proxyEnvironment} eolie"; - notion = "notion-app ${import "${self}/lib/electron-flags.nix" { inherit lib; }}"; - }; - }; -} diff --git a/home/ebisu/kansai/fortune/system/shell/starship.nix b/home/ebisu/kansai/fortune/system/shell/starship.nix deleted file mode 100644 index 4daeefc..0000000 --- a/home/ebisu/kansai/fortune/system/shell/starship.nix +++ /dev/null @@ -1,304 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ starship ]; - - programs.starship = { - enable = true; - enableFishIntegration = true; - - # I CBA to update the formatting to match the rest of the expressions, since - # this is a one-off that I tend to import over directly from starship. - settings = { - format = "[term%](bold green) "; - right_format = "$character$all"; - add_newline = false; - - line_break = { - disabled = true; - }; - - character = { - success_symbol = "[i](bold green)"; - error_symbol = "[x](bold red)"; - vimcmd_symbol = "[n](bold green)"; - vimcmd_visual_symbol = "[v](bold green)"; - vimcmd_replace_symbol = "[R](bold green)"; - vimcmd_replace_one_symbol = "[r](bold green)"; - }; - - git_commit = { - tag_symbol = " tag "; - }; - - git_status = { - ahead = ">"; - behind = "<"; - diverged = "<>"; - renamed = "r"; - deleted = "x"; - }; - - aws = { - symbol = "aws "; - }; - - azure = { - symbol = "az "; - }; - - bun = { - symbol = "bun "; - }; - - c = { - symbol = "C "; - }; - - cobol = { - symbol = "cobol "; - }; - - conda = { - symbol = "conda "; - }; - - crystal = { - symbol = "cr "; - }; - - cmake = { - symbol = "cmake "; - }; - - daml = { - symbol = "daml "; - }; - - dart = { - symbol = "dart "; - }; - - deno = { - symbol = "deno "; - }; - - dotnet = { - symbol = ".NET "; - }; - - directory = { - read_only = " ro"; - }; - - docker_context = { - symbol = "docker "; - }; - - elixir = { - symbol = "exs "; - }; - - elm = { - symbol = "elm "; - }; - - fennel = { - symbol = "fnl "; - }; - - fossil_branch = { - symbol = "fossil "; - }; - - gcloud = { - symbol = "gcp "; - }; - - git_branch = { - symbol = "git "; - }; - - golang = { - symbol = "go "; - }; - - gradle = { - symbol = "gradle "; - }; - - guix_shell = { - symbol = "guix "; - }; - - hg_branch = { - symbol = "hg "; - }; - - java = { - symbol = "java "; - }; - - julia = { - symbol = "jl "; - }; - - kotlin = { - symbol = "kt "; - }; - - lua = { - symbol = "lua "; - }; - - nodejs = { - symbol = "nodejs "; - }; - - memory_usage = { - symbol = "memory "; - }; - - meson = { - symbol = "meson "; - }; - - nim = { - symbol = "nim "; - }; - - nix_shell = { - symbol = "nix "; - }; - - ocaml = { - symbol = "ml "; - }; - - opa = { - symbol = "opa "; - }; - - os = { - symbols = { - Alpaquita = "alq "; - Alpine = "alp "; - Amazon = "amz "; - Android = "andr "; - Arch = "rch "; - Artix = "atx "; - CentOS = "cent "; - Debian = "deb "; - DragonFly = "dfbsd "; - Emscripten = "emsc "; - EndeavourOS = "ndev "; - Fedora = "fed "; - FreeBSD = "fbsd "; - Garuda = "garu "; - Gentoo = "gent "; - HardenedBSD = "hbsd "; - Illumos = "lum "; - Linux = "lnx "; - Mabox = "mbox "; - Macos = "mac "; - Manjaro = "mjo "; - Mariner = "mrn "; - MidnightBSD = "mid "; - Mint = "mint "; - NetBSD = "nbsd "; - NixOS = "nix "; - OpenBSD = "obsd "; - OpenCloudOS = "ocos "; - openEuler = "oeul "; - openSUSE = "osuse "; - OracleLinux = "orac "; - Pop = "pop "; - Raspbian = "rasp "; - Redhat = "rhl "; - RedHatEnterprise = "rhel "; - Redox = "redox "; - Solus = "sol "; - SUSE = "suse "; - Ubuntu = "ubnt "; - Unknown = "unk "; - Windows = "win "; - }; - }; - - package = { - symbol = "pkg "; - }; - - perl = { - symbol = "pl "; - }; - - php = { - symbol = "php "; - }; - - pijul_channel = { - symbol = "pijul "; - }; - - pulumi = { - symbol = "pulumi "; - }; - - purescript = { - symbol = "purs "; - }; - - python = { - symbol = "py "; - }; - - raku = { - symbol = "raku "; - }; - - ruby = { - symbol = "rb "; - }; - - rust = { - symbol = "rs "; - }; - - scala = { - symbol = "scala "; - }; - - spack = { - symbol = "spack "; - }; - - solidity = { - symbol = "solidity "; - }; - - status = { - symbol = "[x](bold red) "; - }; - - sudo = { - symbol = "sudo "; - }; - - swift = { - symbol = "swift "; - }; - - typst = { - symbol = "typst "; - }; - - terraform = { - symbol = "terraform "; - }; - - zig = { - symbol = "zig "; - }; - }; - }; -} diff --git a/home/ebisu/kansai/fortune/system/sops.nix b/home/ebisu/kansai/fortune/system/sops.nix deleted file mode 100644 index e229626..0000000 --- a/home/ebisu/kansai/fortune/system/sops.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ config, self, ... }: -{ - sops = { - gnupg.sshKeyPaths = [ ]; - defaultSopsFile = "${self}/secrets/${config.home.username}.yaml"; - - age = { - sshKeyPaths = [ ]; - keyFile = "${config.xdg.configHome}/sops/age/keys.txt"; - generateKey = false; - }; - - secrets = { - openai_api_key = { }; - suzuri_token = { }; - bark_api_key = { }; - "proxy/i2p/http" = { }; - "proxy/i2p/https" = { }; - "proxy/i2p/socks5" = { }; - }; - }; -} diff --git a/home/ebisu/kansai/fortune/system/ssh.nix b/home/ebisu/kansai/fortune/system/ssh.nix deleted file mode 100644 index 6a47791..0000000 --- a/home/ebisu/kansai/fortune/system/ssh.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ config, secrets, ... }: -{ - programs.ssh = { - enable = true; - addKeysToAgent = "yes"; - serverAliveInterval = 60; - serverAliveCountMax = 10; - - extraConfig = '' - IgnoreUnknown UseKeychain - UseKeychain yes - IPQoS lowdelay throughput - ''; - - matchBlocks = { - "akashi" = { }; - "himeji".user = "root"; - "watson".user = "root"; - - "github.com" = { - user = "git"; - identityFile = "${config.home.homeDirectory}/.ssh/id_rsa"; - }; - - "aur.archlinux.org" = { - user = "aur"; - identityFile = "${config.home.homeDirectory}/.ssh/aur"; - }; - - "seti" = { - user = "root"; - port = 2222; - identityFile = "${config.home.homeDirectory}/.ssh/seti"; - }; - - "oit" = { - inherit (secrets.ssh.oit) hostname user; - }; - - "eu.nixbuild.net" = { - port = 2222; - identityFile = "${config.home.homeDirectory}/.ssh/id_ed25519.1"; - }; - }; - }; -} diff --git a/home/ebisu/kansai/fortune/system/terminal/default.nix b/home/ebisu/kansai/fortune/system/terminal/default.nix deleted file mode 100644 index 6cd5378..0000000 --- a/home/ebisu/kansai/fortune/system/terminal/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ pkgs, ... }: -{ - imports = [ - ./kitty.nix - ./foot.nix - ]; - - home.packages = with pkgs; [ - cool-retro-term - # warp-terminal - ]; -} diff --git a/home/ebisu/kansai/fortune/system/terminal/foot.nix b/home/ebisu/kansai/fortune/system/terminal/foot.nix deleted file mode 100644 index 36fd525..0000000 --- a/home/ebisu/kansai/fortune/system/terminal/foot.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ - programs.foot = { - enable = false; - - settings = { - main = { - font = "SF Mono:size=12"; - font-bold = "SF Mono:size=12:weight=medium"; - font-italic = "SF Mono:size=12:slant=italic"; - font-bold-italic = "SF Mono:size=12:slant=italic:weight=medium"; - - # Font Fine-tuning - # vertical-letter-offset = -1; - # line-height = 13; - # underline-thickness = 0.6; - # underline-offset = 2; - - # Styling - bold-text-in-bright = "palette-based"; - pad = "15x15"; # "24x24" - - # Misc. - resize-delay-ms = "0"; - term = "xterm"; - # locked-title = "yes"; - selection-target = "both"; - # workers = "0"; - # utmp-helper = "none"; - }; - - url.osc8-underline = "always"; - bell.urgent = "yes"; - # scrollback.lines = "1000"; - mouse.hide-when-typing = "yes"; - key-bindings.clipboard-paste = "Control+v Control+Shift+v"; - - tweak = { - scaling-filter = "none"; - # font-monospace-warn = "no"; - # grapheme-width-method = "wcswidth"; - # grapheme-shaping = "no"; - }; - - colors = { - alpha = "0.8"; - }; - }; - }; -} diff --git a/home/ebisu/kansai/fortune/system/terminal/kitty.nix b/home/ebisu/kansai/fortune/system/terminal/kitty.nix deleted file mode 100644 index bf20b17..0000000 --- a/home/ebisu/kansai/fortune/system/terminal/kitty.nix +++ /dev/null @@ -1,113 +0,0 @@ -{ config, ... }: -{ - programs.kitty = { - enable = true; - - settings = { - # Font - # MesloLGS NF - font_family = "SF Mono Light"; - bold_font = "SF Mono Medium"; - italic_font = "SF Mono Light Italic"; - bold_italic_font = "SF Mono Medium Italic"; - font_size = 12; # 13.5 - - # Optimisation - resize_debounce_time = 0; - sync_to_monitor = true; - repaint_delay = 0; - input_delay = 0; - - # Style - background_opacity = "0.8"; - window_border_width = 0; - window_margin_width = 15; - hide_window_decorations = "titlebar-only"; - include = "${config.xdg.cacheHome}/wal/colors-kitty.conf"; - - # Cursor - cursor_blink_interval = 0; # 0.5 - cursor_stop_blinking_after = 0; # 15 - - # Other - scrollback_pager = "less +G -R"; - wheel_scroll_multiplier = 5; - click_interval = "0.5"; - select_by_word_characters = ":@-./_~?&=%+#"; - mouse_hide_wait = 0; - enabled_layouts = "*"; - remember_window_size = false; - macos_option_as_alt = false; - allow_remote_control = true; - confirm_os_window_close = 0; - term = "xterm-kitty"; - - # Bell - visual_bell_duration = 0; - enable_audio_bell = false; - - # URL Handling - open_url_modifiers = "ctrl+shift"; - open_url_with = "default"; - }; - - extraConfig = '' - # Clipboard - map super+v paste_from_clipboard - map ctrl+shift+s paste_from_selection - map super+c copy_to_clipboard - map shift+insert paste_from_selection - - # Scrolling - map ctrl+shift+up scroll_line_up - map ctrl+shift+down scroll_line_down - map ctrl+shift+k scroll_line_up - map ctrl+shift+j scroll_line_down - map ctrl+shift+page_up scroll_page_up - map ctrl+shift+page_down scroll_page_down - map ctrl+shift+home scroll_home - map ctrl+shift+end scroll_end - map ctrl+shift+h show_scrollback - - # Window management - map super+n new_os_window - map super+w close_window - map ctrl+shift+enter new_window - map ctrl+shift+] next_window - map ctrl+shift+[ previous_window - map ctrl+shift+f move_window_forward - map ctrl+shift+b move_window_backward - map ctrl+shift+` move_window_to_top - map ctrl+shift+1 first_window - map ctrl+shift+2 second_window - map ctrl+shift+3 third_window - map ctrl+shift+4 fourth_window - map ctrl+shift+5 fifth_window - map ctrl+shift+6 sixth_window - map ctrl+shift+7 seventh_window - map ctrl+shift+8 eighth_window - map ctrl+shift+9 ninth_window - map ctrl+shift+0 tenth_window - - # Tab management - map ctrl+shift+right next_tab - map ctrl+shift+left previous_tab - map ctrl+shift+t new_tab - map ctrl+shift+q close_tab - map ctrl+shift+l next_layout - map ctrl+shift+. move_tab_forward - map ctrl+shift+, move_tab_backward - - # Miscellaneous - map ctrl+shift+up increase_font_size - map ctrl+shift+down decrease_font_size - map ctrl+shift+backspace restore_font_size - - map ctrl+/ launch --allow-remote-control kitty +kitten kitty_search/search.py @active-kitty-window-id - ''; - }; - - # read the file, but remove the line with shell_integration - # xdg.configFile."kitty/kitty.conf".text = - # builtins.map (line: if builtins.match "shell_integration" line then "" else line) (builtins.split "\n" (builtins.readFile ~/.config/kitty/kitty.conf)); -} diff --git a/home/ebisu/kansai/fortune/system/tracing.nix b/home/ebisu/kansai/fortune/system/tracing.nix deleted file mode 100644 index 9a96847..0000000 --- a/home/ebisu/kansai/fortune/system/tracing.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - strace - bpftrace - lsof - ]; -} diff --git a/home/ebisu/kansai/fortune/system/variables.nix b/home/ebisu/kansai/fortune/system/variables.nix deleted file mode 100644 index c958b85..0000000 --- a/home/ebisu/kansai/fortune/system/variables.nix +++ /dev/null @@ -1,102 +0,0 @@ -{ - pkgs, - config, - flakeDirectory, - lib, - ... -}: -{ - home.sessionVariables = { - # https://github.com/nix-community/home-manager/issues/354#issuecomment-475803163 - LOCALES_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive"; - FLAKE = flakeDirectory; - - # Default programs - EDITOR = "lvim"; - TERMINAL = "kitty"; - TERMINAL_PROG = "kitty"; - BROWSER = "zen"; - FLAKE_EDITOR = "${lib.getExe pkgs.zed-editor}"; - - # Home directory clean-up - # https://github.com/NixOS/nixpkgs/issues/224525#issuecomment-1945290961 - XDG_DATA_HOME = "${config.xdg.dataHome}"; - XDG_CONFIG_HOME = "${config.xdg.configHome}"; - XDG_STATE_HOME = "${config.xdg.stateHome}"; - XDG_CACHE_HOME = "${config.xdg.cacheHome}"; - NOTMUCH_CONFIG = "${config.xdg.configHome}/notmuch-config"; - # GTK2_RC_FILES = "${config.xdg.configHome}/gtk-2.0/gtkrc-2.0"; - WGETRC = "${config.xdg.configHome}/wget/wgetrc"; - INPUTRC = "${config.xdg.configHome}/shell/inputrc"; - ZDOTDIR = "${config.xdg.configHome}/zsh"; - # GNUPGHOME="${config.xdg.dataHome}/gnupg"; - WINEPREFIX = "${config.xdg.dataHome}/wineprefixes/default"; - KODI_DATA = "${config.xdg.dataHome}/kodi"; - PASSWORD_STORE_DIR = "${config.xdg.dataHome}/password-store"; - TMUX_TMPDIR = "$XDG_RUNTIME_DIR"; - ANDROID_SDK_HOME = "${config.xdg.configHome}/android"; - CARGO_HOME = "${config.xdg.dataHome}/cargo"; - GOPATH = "${config.xdg.dataHome}/go"; - GOMODCACHE = "${config.xdg.cacheHome}/go/mod"; - ANSIBLE_CONFIG = "${config.xdg.configHome}/ansible/ansible.cfg"; - UNISON = "${config.xdg.dataHome}/unison"; - HISTFILE = "${config.xdg.stateHome}/bash/history"; - MBSYNCRC = "${config.xdg.configHome}/mbsync/config"; - ELECTRUMDIR = "${config.xdg.dataHome}/electrum"; - PYTHONSTARTUP = "${config.xdg.configHome}/python/pythonrc"; - SQLITE_HISTORY = "${config.xdg.dataHome}/sqlite_history"; - WAKATIME_HOME = "${config.xdg.configHome}/wakatime"; - NVM_DIR = "${config.xdg.dataHome}/nvm"; - CUDA_CACHE_PATH = "${config.xdg.cacheHome}/nv"; - DOCKER_CONFIG = "${config.xdg.configHome}/docker"; - RUSTUP_HOME = "${config.xdg.dataHome}/rustup"; - NUGET_PACKAGES = "${config.xdg.cacheHome}/NuGetPackages"; - KERAS_HOME = "${config.xdg.stateHome}/keras"; - PARALLEL_HOME = "${config.xdg.configHome}/parallel"; - _JAVA_OPTIONS = "-Djava.util.prefs.userRoot=${config.xdg.configHome}/java"; - NPM_CONFIG_USERCONFIG = "${config.xdg.configHome}/npm/npmrc"; - NODE_REPL_HISTORY = "${config.xdg.dataHome}/node_repl_history"; - MPLAYER_HOME = "${config.xdg.configHome}/mplayer"; - BUNDLE_PATH = "${config.home.homeDirectory}/.gems"; - STEAM_APP_DIR = "${config.home.homeDirectory}/.steam"; - ANDROID_USER_HOME = "${config.xdg.dataHome}/android"; - ASDF_DATA_DIR = "${config.xdg.dataHome}/asdf"; - CABAL_CONFIG = "${config.xdg.configHome}/cabal/config"; - CABAL_DIR = "${config.xdg.dataHome}/cabal"; - DOTNET_CLI_HOME = "${config.xdg.dataHome}/dotnet"; - GRADLE_USER_HOME = "${config.xdg.dataHome}/gradle"; - NIMBLE_DIR = "${config.xdg.dataHome}/nimble"; - REDISCLI_HISTFILE = "${config.xdg.dataHome}/redis/rediscli_history"; - STACK_ROOT = "${config.xdg.dataHome}/stack"; - STACK_XDG = 1; - PYHTHON_HISTORY = "${config.xdg.stateHome}/python_history"; - - # Other program settings - FZF_DEFAULT_OPTS = "--layout=reverse --height 40%"; - LESS = "R"; - LESS_TERMCAP_mb = "$(printf '%b' '')"; - LESS_TERMCAP_md = "$(printf '%b' '')"; - LESS_TERMCAP_me = "$(printf '%b' '')"; - LESS_TERMCAP_so = "$(printf '%b' '')"; - LESS_TERMCAP_se = "$(printf '%b' '')"; - LESS_TERMCAP_us = "$(printf '%b' '')"; - LESS_TERMCAP_ue = "$(printf '%b' '')"; - LESSOPEN = "| highlight -O ansi %s 2>/dev/null"; - QT_QPA_PLATFORMTHEME = "gtk2"; - MOZ_USE_XINPUT2 = "1"; - AWT_TOOLKIT = "MToolkit wmname LG3D"; - _JAVA_AWT_WM_NONREPARENTING = 1; - OPENAI_API_KEY = "$(cat ${config.sops.secrets.openai_api_key.path})"; - NNN_FIFO = "/tmp/nnn.fifo"; - _Z_DATA = "${config.xdg.dataHome}/z"; - W3M_DIR = "${config.xdg.dataHome}/w3m"; - VMODULES = "${config.xdg.dataHome}/vmodules"; - TEXMFVAR = "${config.xdg.cacheHome}/texlive/texmf-var"; - BUNDLE_USER_CONFIG = "${config.xdg.configHome}/bundle"; - BUNDLE_USER_CACHE = "${config.xdg.cacheHome}/bundle"; - BUNDLE_USER_PLUGIN = "${config.xdg.dataHome}/bundle"; - PSQL_HISTORY = "${config.xdg.dataHome}/psql_history"; - PKG_CACHE_PATH = "${config.xdg.cacheHome}/pkg-cache"; - SUZURI_TOKEN = "$(cat ${config.sops.secrets.suzuri_token.path})"; - }; -} diff --git a/home/ebisu/kansai/fortune/system/virtualisation/default.nix b/home/ebisu/kansai/fortune/system/virtualisation/default.nix deleted file mode 100644 index 3a8591d..0000000 --- a/home/ebisu/kansai/fortune/system/virtualisation/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ pkgs, ... }: -{ - imports = [ ./docker.nix ]; - - home.packages = with pkgs; [ - bottles - wine - wine-staging - tsutsumi.lilipod - distrobox - ]; -} diff --git a/home/ebisu/kansai/fortune/system/virtualisation/docker.nix b/home/ebisu/kansai/fortune/system/virtualisation/docker.nix deleted file mode 100644 index 737ef3d..0000000 --- a/home/ebisu/kansai/fortune/system/virtualisation/docker.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = with pkgs; [ - act - earthly - dive - docker-slim - docker-credential-helpers - ]; -} diff --git a/home/ebisu/kansai/gaming.nix b/home/ebisu/kansai/gaming.nix new file mode 100644 index 0000000..33d89db --- /dev/null +++ b/home/ebisu/kansai/gaming.nix @@ -0,0 +1,13 @@ +{ inputs, pkgs, ... }: +{ + home.packages = with pkgs; [ + lutris + # xivlauncher + ttyper + # runelite + # sidequest + steam-tui + steamcmd + inputs.nix-gaming.packages.${pkgs.system}.osu-stable + ]; +} diff --git a/home/ebisu/kansai/multimedia/audio/default.nix b/home/ebisu/kansai/multimedia/audio/default.nix new file mode 100644 index 0000000..635d449 --- /dev/null +++ b/home/ebisu/kansai/multimedia/audio/default.nix @@ -0,0 +1,18 @@ +{ pkgs, ... }: +{ + imports = [ ./spotify.nix ]; + + home.packages = with pkgs; [ + alsa-plugins + # blanket + blueberry + cava + cmus + easyeffects + pavucontrol + pulsemixer + jamesdsp + # lsp-plugins + playerctl + ]; +} diff --git a/home/ebisu/kansai/multimedia/audio/spotify.nix b/home/ebisu/kansai/multimedia/audio/spotify.nix new file mode 100644 index 0000000..ad0b0b4 --- /dev/null +++ b/home/ebisu/kansai/multimedia/audio/spotify.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + spotify + spotify-player + spicetify-cli + ncspot + psst + playerctl + ]; +} diff --git a/home/ebisu/kansai/multimedia/browser.nix b/home/ebisu/kansai/multimedia/browser.nix new file mode 100644 index 0000000..466bb7b --- /dev/null +++ b/home/ebisu/kansai/multimedia/browser.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + elinks + geckodriver + chromedriver + lynx + # vieb + # ladybird + web-ext + eolie + ]; +} diff --git a/home/ebisu/kansai/multimedia/default.nix b/home/ebisu/kansai/multimedia/default.nix new file mode 100644 index 0000000..84c4bc4 --- /dev/null +++ b/home/ebisu/kansai/multimedia/default.nix @@ -0,0 +1,20 @@ +{ pkgs, ... }: +{ + imports = [ + ./audio + ./video + ./browser.nix + ./document.nix + ./image.nix + ./reddit.nix + ]; + + home.packages = with pkgs; [ + blender + epr + nicotine-plus + qbittorrent + transmission_4-gtk + deluge + ]; +} diff --git a/home/ebisu/kansai/multimedia/document.nix b/home/ebisu/kansai/multimedia/document.nix new file mode 100644 index 0000000..b306b62 --- /dev/null +++ b/home/ebisu/kansai/multimedia/document.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + libreoffice-fresh + manga-cli + zathura + thunderbird + rfc + tdf + tsutsumi.t + xournalpp + ]; +} diff --git a/home/ebisu/kansai/multimedia/image.nix b/home/ebisu/kansai/multimedia/image.nix new file mode 100644 index 0000000..6e788cb --- /dev/null +++ b/home/ebisu/kansai/multimedia/image.nix @@ -0,0 +1,15 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + tsutsumi.ahoviewer + emulsion + feh + imv + gallery-dl + gthumb + pngcrush + viu + optipng + tsutsumi.chan-downloader + ]; +} diff --git a/home/ebisu/kansai/multimedia/reddit.nix b/home/ebisu/kansai/multimedia/reddit.nix new file mode 100644 index 0000000..009bf65 --- /dev/null +++ b/home/ebisu/kansai/multimedia/reddit.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs.tsutsumi; [ + ripper + parse-ripper-output + ]; +} diff --git a/home/ebisu/kansai/multimedia/video/anime.nix b/home/ebisu/kansai/multimedia/video/anime.nix new file mode 100644 index 0000000..471bb7a --- /dev/null +++ b/home/ebisu/kansai/multimedia/video/anime.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + ani-cli + # miru + ]; +} diff --git a/home/ebisu/kansai/multimedia/video/default.nix b/home/ebisu/kansai/multimedia/video/default.nix new file mode 100644 index 0000000..da366ab --- /dev/null +++ b/home/ebisu/kansai/multimedia/video/default.nix @@ -0,0 +1,19 @@ +{ pkgs, ... }: +{ + imports = [ ./anime.nix ]; + + home.packages = with pkgs; [ + mplayer + mpv + yt-dlp_git + ytfzf + clapper + streamlink-twitch-gui-bin + uxplay + ffmpeg + streamlink + streamlink-twitch-gui-bin + obs-studio + pkgs.tsutsumi.peerflix + ]; +} diff --git a/home/ebisu/kansai/networking/default.nix b/home/ebisu/kansai/networking/default.nix new file mode 100644 index 0000000..d5a14ca --- /dev/null +++ b/home/ebisu/kansai/networking/default.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: +{ + imports = [ + ./smolnet + ./tools + ./glance.nix + ./i2p.nix + ]; + + home.packages = [ pkgs.i2p ]; +} diff --git a/home/ebisu/kansai/networking/glance.nix b/home/ebisu/kansai/networking/glance.nix new file mode 100644 index 0000000..80fa419 --- /dev/null +++ b/home/ebisu/kansai/networking/glance.nix @@ -0,0 +1,388 @@ +{ + services.glance = { + enable = true; + + settings = { + pages = [ + { + name = "Startpage"; + width = "slim"; + center-vertically = true; + + columns = [ + { + size = "full"; + + widgets = [ + { + type = "search"; + autofocus = true; + } + { + type = "monitor"; + cache = "1m"; + title = "Services"; + + sites = [ + { + title = "Fuwn.me"; + url = "https://fuwn.me"; + } + { + title = "due.moe"; + url = "https://due.moe"; + } + { + title = "Mayu"; + url = "https://mayu.due.moe"; + } + { + title = "bin"; + url = "https://bin.fuwn.me"; + } + { + title = "Analytics"; + url = "https://analytics.fuwn.me/"; + } + ]; + } + { + type = "bookmarks"; + + groups = [ + { + title = "General"; + links = [ + { + title = "Gmail"; + url = "https://mail.google.com/mail/u/0/"; + same-tab = true; + } + { + title = "Misskey.io"; + url = "https://misskey.io/"; + same-tab = true; + } + { + title = "Canvas"; + url = "https://oit.instructure.com/"; + same-tab = true; + } + { + title = "Blackboard"; + url = "https://mhcc.blackboard.com/"; + same-tab = true; + } + ]; + } + { + title = "Upkeep"; + links = [ + { + title = "GitHub"; + url = "https://github.com/"; + same-tab = true; + } + { + title = "MyNixOS"; + url = "https://mynixos.com/"; + same-tab = true; + } + { + title = "NixOS Search"; + url = "https://search.nixos.org/packages"; + same-tab = true; + } + { + title = "NextDNS"; + url = "https://my.nextdns.io/eb9d92/analytics"; + same-tab = true; + } + { + title = "Tailscale"; + url = "https://login.tailscale.com/admin"; + same-tab = true; + } + { + title = "Hetzner"; + url = "https://console.hetzner.cloud/projects"; + same-tab = true; + } + ]; + } + { + title = "Entertainment"; + links = [ + { + title = "YouTube"; + url = "https://www.youtube.com/"; + same-tab = true; + } + { + title = "AniList"; + url = "https://anilist.co/"; + same-tab = true; + } + { + title = "due.moe"; + url = "https://due.moe/"; + same-tab = true; + } + { + title = "MangaDex"; + url = "https://mangadex.org/"; + same-tab = true; + } + { + title = "Rawkuma"; + url = "https://rawkuma.com/"; + same-tab = true; + } + ]; + } + ]; + } + ]; + } + ]; + } + { + name = "Markets"; + + columns = [ + { + size = "small"; + + widgets = [ + { + type = "markets"; + title = "Indices"; + + markets = [ + { + symbol = "SPY"; + name = "S&P 500"; + } + { + symbol = "DX-Y.NYB"; + name = "Dollar Index"; + } + ]; + } + { + type = "markets"; + title = "Crypto"; + + markets = [ + { + symbol = "BTC-USD"; + name = "Bitcoin"; + } + { + symbol = "ETH-USD"; + name = "Ethereum"; + } + ]; + } + { + type = "markets"; + title = "Stocks"; + sort-by = "absolute-change"; + + markets = [ + { + symbol = "NVDA"; + name = "NVIDIA"; + } + { + symbol = "AAPL"; + name = "Apple"; + } + { + symbol = "MSFT"; + name = "Microsoft"; + } + { + symbol = "GOOGL"; + name = "Google"; + } + { + symbol = "AMD"; + name = "AMD"; + } + { + symbol = "RDDT"; + name = "Reddit"; + } + { + symbol = "AMZN"; + name = "Amazon"; + } + { + symbol = "TSLA"; + name = "Tesla"; + } + { + symbol = "INTC"; + name = "Intel"; + } + { + symbol = "META"; + name = "Meta"; + } + ]; + } + ]; + } + { + size = "full"; + + widgets = [ + { + type = "rss"; + title = "News"; + style = "horizontal-cards"; + + feeds = [ + { + url = "https://feeds.bloomberg.com/markets/news.rss"; + title = "Bloomberg"; + } + { + url = "https://moxie.foxbusiness.com/google-publisher/markets.xml"; + title = "Fox Business"; + } + { + url = "https://moxie.foxbusiness.com/google-publisher/technology.xml"; + title = "Fox Business"; + } + ]; + } + { + type = "group"; + + widgets = [ + { + type = "reddit"; + show-thumbnails = true; + subreddit = "technology"; + } + { + type = "reddit"; + show-thumbnails = true; + subreddit = "wallstreetbets"; + } + ]; + } + { + type = "videos"; + style = "grid-cards"; + collapse-after-rows = 3; + + channels = [ + "UCvSXMi2LebwJEM1s4bz5IBA" + "UCV6KDgJskWaEckne5aPA0aQ" + "UCAzhpt9DmG6PnHXjmJTvRGQ" + ]; + } + ]; + } + { + size = "small"; + + widgets = [ + { + type = "rss"; + title = "News"; + limit = 30; + collapse-after = 13; + + feeds = [ + { + url = "https://www.ft.com/technology?format=rss"; + title = "Financial Times"; + } + { + url = "https://feeds.a.dj.com/rss/RSSMarketsMain.xml"; + title = "Wall Street Journal"; + } + ]; + } + ]; + } + ]; + } + { + name = "Gaming"; + + columns = [ + { + size = "small"; + + widgets = [ + { + type = "twitch-top-games"; + limit = 20; + collapse-after = 13; + + exclude = [ + "just-chatting" + "pools-hot-tubs-and-beaches" + "music" + "art" + "asmr" + ]; + } + ]; + } + { + size = "full"; + + widgets = [ + { + type = "group"; + + widgets = [ + { + type = "reddit"; + show-thumbnails = true; + subreddit = "pcgaming"; + } + { + type = "reddit"; + subreddit = "games"; + } + ]; + } + { + type = "videos"; + style = "grid-cards"; + collapse-after-rows = 3; + + channels = [ + "UCNvzD7Z-g64bPXxGzaQaa4g" + "UCZ7AeeVbyslLM_8-nVy2B8Q" + "UCHDxYLv8iovIbhrfl16CNyg" + "UC9PBzalIcEQCsiIkq36PyUA" + ]; + } + ]; + } + { + size = "small"; + + widgets = [ + { + type = "reddit"; + subreddit = "gamingnews"; + limit = 7; + style = "vertical-cards"; + } + ]; + } + ]; + } + ]; + }; + }; +} diff --git a/home/ebisu/kansai/networking/i2p.nix b/home/ebisu/kansai/networking/i2p.nix new file mode 100644 index 0000000..77b72cc --- /dev/null +++ b/home/ebisu/kansai/networking/i2p.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + # biglybt + xd + ]; +} diff --git a/home/ebisu/kansai/networking/smolnet/bollux.nix b/home/ebisu/kansai/networking/smolnet/bollux.nix new file mode 100644 index 0000000..f0f05f9 --- /dev/null +++ b/home/ebisu/kansai/networking/smolnet/bollux.nix @@ -0,0 +1,5 @@ +{ pkgs, ... }: +{ + home.packages = [ pkgs.tsutsumi.bollux ]; + xdg.configFile."bollux/bollux.conf".text = ''''; +} diff --git a/home/ebisu/kansai/networking/smolnet/default.nix b/home/ebisu/kansai/networking/smolnet/default.nix new file mode 100644 index 0000000..fe69274 --- /dev/null +++ b/home/ebisu/kansai/networking/smolnet/default.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: +{ + imports = [ ./bollux.nix ]; + + home.packages = with pkgs; [ + amfora + geopard + gmni + phetch + lagrange + ]; +} diff --git a/home/ebisu/kansai/networking/tools/default.nix b/home/ebisu/kansai/networking/tools/default.nix new file mode 100644 index 0000000..7081ac3 --- /dev/null +++ b/home/ebisu/kansai/networking/tools/default.nix @@ -0,0 +1,28 @@ +{ pkgs, ... }: +{ + imports = [ + ./http + ./dns.nix + ./scanning.nix + ./shark.nix + ]; + + home.packages = with pkgs; [ + lftp + pwru + bmon + netcat-openbsd + nethogs + inetutils + speedtest-cli + traceroute + iptraf-ng + tcpdump + tsutsumi.bindtointerface + trayscale + bandwhich + bore-cli + hcloud + gping + ]; +} diff --git a/home/ebisu/kansai/networking/tools/dns.nix b/home/ebisu/kansai/networking/tools/dns.nix new file mode 100644 index 0000000..f7e487a --- /dev/null +++ b/home/ebisu/kansai/networking/tools/dns.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + dnsutils + whois + dogdns + doggo + ]; +} diff --git a/home/ebisu/kansai/networking/tools/http/default.nix b/home/ebisu/kansai/networking/tools/http/default.nix new file mode 100644 index 0000000..b763a1f --- /dev/null +++ b/home/ebisu/kansai/networking/tools/http/default.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: +{ + imports = [ + ./httpie.nix + ./wget.nix + ]; + + home.packages = with pkgs; [ + tsutsumi.yaak + curlie + xh + ]; +} diff --git a/home/ebisu/kansai/networking/tools/http/httpie.nix b/home/ebisu/kansai/networking/tools/http/httpie.nix new file mode 100644 index 0000000..f27ef26 --- /dev/null +++ b/home/ebisu/kansai/networking/tools/http/httpie.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + httpie + httpie-desktop + ]; +} diff --git a/home/ebisu/kansai/networking/tools/http/wget.nix b/home/ebisu/kansai/networking/tools/http/wget.nix new file mode 100644 index 0000000..c5d2936 --- /dev/null +++ b/home/ebisu/kansai/networking/tools/http/wget.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + home.packages = [ pkgs.wget ]; + + xdg.configFile."wget/wgetrc".text = '' + hsts-file=~/.cache/wget-hsts + ''; +} diff --git a/home/ebisu/kansai/networking/tools/scanning.nix b/home/ebisu/kansai/networking/tools/scanning.nix new file mode 100644 index 0000000..fe9c1fa --- /dev/null +++ b/home/ebisu/kansai/networking/tools/scanning.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + nmap + rustscan + arp-scan + ]; +} diff --git a/home/ebisu/kansai/networking/tools/shark.nix b/home/ebisu/kansai/networking/tools/shark.nix new file mode 100644 index 0000000..d4b8c51 --- /dev/null +++ b/home/ebisu/kansai/networking/tools/shark.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + termshark + wireshark + ]; +} diff --git a/home/ebisu/kansai/scripts/default.nix b/home/ebisu/kansai/scripts/default.nix new file mode 100644 index 0000000..26a1231 --- /dev/null +++ b/home/ebisu/kansai/scripts/default.nix @@ -0,0 +1,16 @@ +{ pkgs, ... }: +{ + home.packages = + let + scriptsDirectory = ./scripts; + in + builtins.attrValues ( + builtins.listToAttrs ( + builtins.map (name: { + inherit name; + + value = pkgs.writeShellScriptBin name (builtins.readFile "${scriptsDirectory}/${name}"); + }) (builtins.attrNames (builtins.readDir scriptsDirectory)) + ) + ); +} diff --git a/home/ebisu/kansai/scripts/scripts/.gitignore b/home/ebisu/kansai/scripts/scripts/.gitignore new file mode 100644 index 0000000..9f4e1cb --- /dev/null +++ b/home/ebisu/kansai/scripts/scripts/.gitignore @@ -0,0 +1,5 @@ +know +hime +pok +counter +rinny diff --git a/home/ebisu/kansai/scripts/scripts/altserver b/home/ebisu/kansai/scripts/scripts/altserver new file mode 100755 index 0000000..0a0d5f9 --- /dev/null +++ b/home/ebisu/kansai/scripts/scripts/altserver @@ -0,0 +1,12 @@ +# Wrapper around AltServer for usage on *nix + +# doas usbmuxd & + +# export USBMUXD_SOCKET_ADDRESS=127.0.0.1:27015 + +# doas netmuxd --disable-unix --host 127.0.0.1 & + +docker run -d -v lib_cache:/opt/lib/ --restart=always -p 6969:6969 --name anisette dadoum/anisette-server:latest + +# Not very Nix .... +ALTSERVER_ANISETTE_SERVER=http://127.0.0.1:6969 python3 ~/.local/src/AltServer-Linux/main.py diff --git a/home/ebisu/kansai/scripts/scripts/anidub b/home/ebisu/kansai/scripts/scripts/anidub new file mode 100755 index 0000000..aacf84f --- /dev/null +++ b/home/ebisu/kansai/scripts/scripts/anidub @@ -0,0 +1,3 @@ +# Wrapper around ani-cli (dubbed) for Rofi + +ANI_CLI_PLAYER=clapper ani-cli --dub --rofi "${1}" diff --git a/home/ebisu/kansai/scripts/scripts/anime b/home/ebisu/kansai/scripts/scripts/anime new file mode 100755 index 0000000..60b143b --- /dev/null +++ b/home/ebisu/kansai/scripts/scripts/anime @@ -0,0 +1,3 @@ +# Wrapper around ani-cli for Rofi + +ANI_CLI_PLAYER=mpv ani-cli --rofi "${1}" diff --git a/home/ebisu/kansai/scripts/scripts/apod b/home/ebisu/kansai/scripts/scripts/apod new file mode 100755 index 0000000..a8814a9 --- /dev/null +++ b/home/ebisu/kansai/scripts/scripts/apod @@ -0,0 +1,6 @@ +# Get today's Astronomy Picture of the Day (APOD) from NASA + +printf \ + "https://apod.nasa.gov/apod/%s\\n" \ + "$(curl --silent "https://apod.nasa.gov/apod/" | + grep -Po 'SRC="\K[^"]+')" diff --git a/home/ebisu/kansai/scripts/scripts/catboy b/home/ebisu/kansai/scripts/scripts/catboy new file mode 100755 index 0000000..cc75e52 --- /dev/null +++ b/home/ebisu/kansai/scripts/scripts/catboy @@ -0,0 +1,8 @@ +# VPN wrapper around catgirl + +vpn_ip="$(piactl get vpnip)" + +BIND_INTERFACE=wgpia0 \ + LD_PRELOAD=/usr/lib/bindtointerface.so \ + BIND_SOURCE_IP=${vpn_ip} \ + catgirl "${1}" diff --git a/home/ebisu/kansai/scripts/scripts/chan2 b/home/ebisu/kansai/scripts/scripts/chan2 new file mode 100755 index 0000000..525d5f1 --- /dev/null +++ b/home/ebisu/kansai/scripts/scripts/chan2 @@ -0,0 +1,3 @@ +# Tiny wrapper around chan-downloader + +chan-downloader -c 10 --thread "${1}" -o "${2}" diff --git a/home/ebisu/kansai/scripts/scripts/fim b/home/ebisu/kansai/scripts/scripts/fim new file mode 100755 index 0000000..51898ab --- /dev/null +++ b/home/ebisu/kansai/scripts/scripts/fim @@ -0,0 +1,20 @@ +# Finger "blog" updater + +HOST="seti" + +while getopts "f" opt; do + case ${opt} in + f) FORMAT=true ;; + *) FORMAT=false ;; + esac +done + +shift $((OPTIND - 1)) + +PROFILE="/var/lib/docker/volumes/gigi-data/_data/${1:-fuwn}" + +if [ -n "${FORMAT}" ]; then + ssh -t "${HOST}" "vim -c 'autocmd BufWritePost * !fmt -w 80 % > %.tmp && mv %.tmp %' '${PROFILE}'" +else + ssh -t "${HOST}" "vim '${PROFILE}'" +fi diff --git a/home/ebisu/kansai/scripts/scripts/gmiwatch b/home/ebisu/kansai/scripts/scripts/gmiwatch new file mode 100755 index 0000000..cf3e52a --- /dev/null +++ b/home/ebisu/kansai/scripts/scripts/gmiwatch @@ -0,0 +1,24 @@ +# Gemini capsule watcher, used for development + +usage() { + echo "usage: ${0} [-n interval] " + + exit 1 +} + +while getopts "n:" opt; do + case ${opt} in + n) + interval=${OPTARG} + + shift 2 + ;; + *) usage ;; + esac +done + +if [ -z "${1}" ]; then + usage +fi + +watch -n "${interval:-5}" -t gmni -j always "gemini://${1}" diff --git a/home/ebisu/kansai/scripts/scripts/hon b/home/ebisu/kansai/scripts/scripts/hon new file mode 100755 index 0000000..b4436ec --- /dev/null +++ b/home/ebisu/kansai/scripts/scripts/hon @@ -0,0 +1,11 @@ +# Personal manga feed wrapper around Suzuri + +SUZURI_MINIMAL=1 \ + SUZURI_REVERSE=1 \ + suzuri \ + AXHJex1ZiWcQFSzUKhQ5uW \ + Anime | + grep -iF manga | + sed -E 's|http[s]?://[^ ]+||g' | + sed 's/^/* /' | + tac # | glow -w 2048 diff --git a/home/ebisu/kansai/scripts/scripts/locs b/home/ebisu/kansai/scripts/scripts/locs new file mode 100755 index 0000000..7b0ea19 --- /dev/null +++ b/home/ebisu/kansai/scripts/scripts/locs @@ -0,0 +1,102 @@ +# Silly lines-of-code counter + +DEFAULT_COMMENT_STYLES='(//|#|/\*|\*|)' +FILE_MAX_LENGTH=5 + +count_non_empty_lines() { + local file="${1}" + grep -cve '^\s*$' "${file}" +} + +process_files() { + for file in "$@"; do + if [ -f "${file}" ]; then + if [ ${#file} -gt "${longest_filename}" ]; then + longest_filename=${#file} + fi + fi + done + + for file in "$@"; do + if [ -f "${file}" ]; then + lines=$(count_non_empty_lines "${file}") + total_lines=$((total_lines + lines)) + + case "${file}" in + *.gleam) COMMENT_STYLE='(//)' ;; + *.cc | *.hh | *.cpp | *.hpp | *.c | *.h) COMMENT_STYLE='(//|/\*)' ;; + *) COMMENT_STYLE=${DEFAULT_COMMENT_STYLES} ;; + esac + + comments=$(grep -E "^\s*${COMMENT_STYLE}\s*.*\s*$" "${file}" | grep -v '^\s*$' | wc -l) + total_comments=$((total_comments + comments)) + + printf "%-${longest_filename}s %-${FILE_MAX_LENGTH}s %s\n" "${file}" "$((lines - comments))" "${comments}" + + if [ "${LOCS_PRINT_COMMENTS:-0}" = 1 ]; then + grep -n -E "^\s*${COMMENT_STYLE}\s*.*\s*$" "${file}" | grep -v '^\s*$' | sed 's/^/ /' | sed 's/\s*\/\///' | sed 's/\([0-9]\+\): /\1 | /' + + if [ "${comments}" -gt 0 ]; then + echo + fi + fi + fi + done +} + +main() { + local total_lines=0 + local total_comments=0 + local longest_filename=0 + + if [ -z "$1" ]; then + cat < + +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢲⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠄⠂⢉⠤⠐⠋⠈⠡⡈⠉⠐⠠⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⢀⡀⢠⣤⠔⠁⢀⠀⠀⠀⠀⠀⠀⠀⠈⢢⠀⠀⠈⠱⡤⣤⠄⣀⠀⠀⠀⠀⠀ +⠀⠀⠰⠁⠀⣰⣿⠃⠀⢠⠃⢸⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠈⢞⣦⡀⠈⡇⠀⠀⠀ +⠀⠀⠀⢇⣠⡿⠁⠀⢀⡃⠀⣈⠀⠀⠀⠀⢰⡀⠀⠀⠀⠀⢢⠰⠀⠀⢺⣧⢰⠀⠀⠀⠀ +⠀⠀⠀⠈⣿⠁⡘⠀⡌⡇⠀⡿⠸⠀⠀⠀⠈⡕⡄⠀⠐⡀⠈⠀⢃⠀⠀⠾⠇⠀⠀⠀⠀ +⠀⠀⠀⠀⠇⡇⠃⢠⠀⠶⡀⡇⢃⠡⡀⠀⠀⠡⠈⢂⡀⢁⠀⡁⠸⠀⡆⠘⡀⠀⠀⠀⠀ +⠀⠀⠀⠸⠀⢸⠀⠘⡜⠀⣑⢴⣀⠑⠯⡂⠄⣀⣣⢀⣈⢺⡜⢣⠀⡆⡇⠀⢣⠀⠀⠀⠀ +⠀⠀⠀⠇⠀⢸⠀⡗⣰⡿⡻⠿⡳⡅⠀⠀⠀⠀⠈⡵⠿⠿⡻⣷⡡⡇⡇⠀⢸⣇⠀⠀⠀ +⠀⠀⢰⠀⠀⡆⡄⣧⡏⠸⢠⢲⢸⠁⠀⠀⠀⠀⠐⢙⢰⠂⢡⠘⣇⡇⠃⠀⠀⢹⡄⠀⠀ +⠀⠀⠟⠀⠀⢰⢁⡇⠇⠰⣀⢁⡜⠀⠀⠀⠀⠀⠀⠘⣀⣁⠌⠀⠃⠰⠀⠀⠀⠈⠰⠀⠀ +⠀⡘⠀⠀⠀⠀⢊⣤⠀⠀⠤⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠄⠀⢸⠃⠀⠀⠀⠀⠀⠃⠀ +⢠⠁⢀⠀⠀⠀⠈⢿⡀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⢀⠏⠀⠀⠀⠀⠀⠀⠸⠀ +⠘⠸⠘⡀⠀⠀⠀⠀⢣⠀⠀⠀⠀⠀⠀⠁⠀⠃⠀⠀⠀⠀⢀⠎⠀⠀⠀⠀⠀⢠⠀⠀⡇ +⠀⠇⢆⢃⠀⠀⠀⠀⠀⡏⢲⢤⢀⡀⠀⠀⠀⠀⠀⢀⣠⠄⡚⠀⠀⠀⠀⠀⠀⣾⠀⠀⠀ +⢰⠈⢌⢎⢆⠀⠀⠀⠀⠁⣌⠆⡰⡁⠉⠉⠀⠉⠁⡱⡘⡼⠇⠀⠀⠀⠀⢀⢬⠃⢠⠀⡆ +⠀⢢⠀⠑⢵⣧⡀⠀⠀⡿⠳⠂⠉⠀⠀⠀⠀⠀⠀⠀⠁⢺⡀⠀⠀⢀⢠⣮⠃⢀⠆⡰⠀ +⠀⠀⠑⠄⣀⠙⡭⠢⢀⡀⠀⠁⠄⣀⣀⠀⢀⣀⣀⣀⡠⠂⢃⡀⠔⠱⡞⢁⠄⣁⠔⠁⠀ +⠀⠀⠀⠀⠀⢠⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠉⠁⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀ + +EOF + + exit 1 + fi + + local files + + files=$(find "${@}" -type f) + + process_files ${files} >/tmp/lines + + if [ "${LOCS_HEADER:-1}" = 1 ]; then + printf "%-${longest_filename}s %-${FILE_MAX_LENGTH}s %s\n" "filename" "lines" "comments" + fi + + if [ "${LOCS_PRINT_COMMENTS:-0}" = 1 ] || [ "${LOCS_SORT:-1}" = 0 ]; then + cat /tmp/lines + else + sort -k2nr "${tmpfile1}" + +# awk '{ +# print substr($0, 1, 74) sprintf("%06d", NR) substr($0, 81); +# }' "${tmpfile1}" >"${tmpfile2}" + +# mv "${tmpfile2}" "${filename}" +mv "${tmpfile1}" "${filename}" diff --git a/home/ebisu/kansai/scripts/scripts/setbg b/home/ebisu/kansai/scripts/scripts/setbg new file mode 100755 index 0000000..a399344 --- /dev/null +++ b/home/ebisu/kansai/scripts/scripts/setbg @@ -0,0 +1,75 @@ +background_location="${XDG_DATA_HOME:-${HOME}/.local/share}/bg" +dunst_configuration_file="${XDG_CONFIG_HOME:-${HOME}/.config}/dunst/dunstrc" +zathura_configuration_file="${XDG_CONFIG_HOME:-${HOME}/.config}/zathura/zathurarc" + +while getopts "s" o; do case "${o}" in + s) silent='1' ;; + *) ;; + esac done + +shift $((OPTIND - 1)) + +true_background_location="$(readlink -f "$1")" && + case "$(file --mime-type -b "${true_background_location}")" in + image/*) + ln -sf "${true_background_location}" "${background_location}" && + [ -z "${silent}" ] && + notify-send -i "${background_location}" "Changing wallpaper ..." + ;; + inode/directory) + link=$(find "${true_background_location}" -iregex '.*.\(jpg\|jpeg\|png\|gif\)' -type f | shuf -n 1) + + ln -sf "${link}" "${background_location}" && [ -z "${silent}" ] && notify-send -i "${background_location}" "Random wallpaper chosen." + ;; + *) + [ -z "${silent}" ] && + notify-send "Error" "Invalid image or directory found." + + exit 1 + ;; + esac + +if command -v wal >/dev/null 2>&1; then + link=$(readlink -f "${background_location}") + + wal -n -i "${link}" -o "${XDG_CONFIG_HOME:-${HOME}/.config}/wal/postrun" >/dev/null 2>&1 +else + [ -f "${dunst_configuration_file}.bak" ] && + unlink "${dunst_configuration_file}" && + mv "${dunst_configuration_file}.bak" "${dunst_configuration_file}" + + [ -f "${zathura_configuration_file}.bak" ] && + unlink "${zathura_configuration_file}" && + mv "${zathura_configuration_file}.bak" "${zathura_configuration_file}" +fi + +case "$(loginctl show-session 1 -p Type)" in +*"wayland") + hyprpaper_configuration_file="${HOME}/.config/hypr/hyprpaper.conf" + + cp "${HOME}/.cache/wal/colors-waybar.css" "${HOME}/.config/waybar/colors-waybar.css" + cp "${hyprpaper_configuration_file}" "${hyprpaper_configuration_file}.bak" + + if pidof hyprpaper >/dev/null; then + awk -v newpath="${true_background_location}" ' +BEGIN { FS = OFS = "=" } +/^preload/ { + $2 = " " newpath +} +/^wallpaper/ { + split($2, a, ","); + $2 = a[1] "," newpath +} +{ print } +' "${hyprpaper_configuration_file}.bak" >"${hyprpaper_configuration_file}" + killall -9 hyprpaper >/dev/null + hyprpaper >/dev/null & + elif pidof swww-daemon >/dev/null; then + swww img "${true_background_location}" & + fi + ;; +*) + xwallpaper --zoom "${background_location}" + pidof sei >/dev/null && xdotool key super+F5 + ;; +esac diff --git a/home/ebisu/kansai/scripts/scripts/shiori b/home/ebisu/kansai/scripts/scripts/shiori new file mode 100755 index 0000000..5f825e7 --- /dev/null +++ b/home/ebisu/kansai/scripts/scripts/shiori @@ -0,0 +1,49 @@ +# Random ASCII art + +# https://zh.moegirl.org.cn/Shift_JIS%E8%89%BA%E6%9C%AF +art=() + +# http://aa.en.utf8art.com/node/52/txtcaa +read -r -d '' art['0'] <:)" >&2 + + exit 1 +fi + +# if [ "${SUDO_USER}" ]; then +# real_user=$SUDO_USER +# else +# real_user=$(whoami) +# fi + +systemctl start libvirtd >/dev/null && echo "libvirtd started" + +virsh net-start default >/dev/null && echo "default network started" diff --git a/home/ebisu/kansai/scripts/scripts/tup-init b/home/ebisu/kansai/scripts/scripts/tup-init new file mode 100644 index 0000000..387fa53 --- /dev/null +++ b/home/ebisu/kansai/scripts/scripts/tup-init @@ -0,0 +1,25 @@ +tup init >/dev/null + +cat <Tupfile +# Input & Output Directories +SOURCE_DIRECTORY = . +INCLUDE_DIRECTORY = . +BUILD_DIRECTORY = build + +# Compiler Configuration +CC = clang++ +CC_EXTENSION = cc +CC_FLAGS = -std=c++23 -I \$(INCLUDE_DIRECTORY) -Weverything -Wno-padded -Wno-c++98-compat -MMD -Wno-c++98-compat-pedantic + +# Clang-tidy Configuration +CLANG_TIDY_CHECKS = '-*,bugprone-*,clang-analyzer-*,concurrency-*,cppcoreguildelines-*,llvm-*,misc-*,modernize-*,performance-*,portability-*,readability-*,-readability-magic-numbers,-llvm-header-guard,-bugprone-suspicious-include,-readability-function-cognitive-complexity,-bugprone-exception-escape' +CLANG_TIDY_FLAGS = -checks=\$(CLANG_TIDY_CHECKS) -warnings-as-errors=* -quiet + +NAME = $(basename "$(pwd)") + +: foreach \$(SOURCE_DIRECTORY)/*.\$(CC_EXTENSION) \$(INCLUDE_DIRECTORY)/*.hh |> clang-format -i %f |> +: foreach \$(SOURCE_DIRECTORY)/*.\$(CC_EXTENSION) |> clang-tidy \$(CLANG_TIDY_FLAGS) %f -- \$(CC_FLAGS) |> +: foreach \$(SOURCE_DIRECTORY)/*.\$(CC_EXTENSION) |> ^j^ \$(CC) \$(CC_FLAGS) -MF \$(BUILD_DIRECTORY)/%B.d -c %f -o %o |> \$(BUILD_DIRECTORY)/%B.o | \$(BUILD_DIRECTORY)/%B.d +: \$(BUILD_DIRECTORY)/*.o ^test.o |> \$(CC) %f -o %o |> \$(BUILD_DIRECTORY)/\$(NAME) +: \$(BUILD_DIRECTORY)/*.o ^main.o |> \$(CC) %f -o %o |> \$(BUILD_DIRECTORY)/\$(NAME)_test +EOF diff --git a/home/ebisu/kansai/scripts/scripts/vivwal b/home/ebisu/kansai/scripts/scripts/vivwal new file mode 100755 index 0000000..995359e --- /dev/null +++ b/home/ebisu/kansai/scripts/scripts/vivwal @@ -0,0 +1,59 @@ +# Sets Vivaldi's theme colors to those generated by Wal. +# Source: https://forum.vivaldi.net/topic/34521/linux-changing-theme-via-command-line/22?_=1597433612704 +# Author: Vivaldi Forum user Wismut + +logfile=~/.log/vivwal.log + +text_color="#eeeeee" +if [[ "$1" && "$1" == "-l" ]]; then + text_color="#111111" +fi + +# Source Wal colors (replace this path with the path where the colors generated by wal are stored) +source ~/.cache/wal/colors.sh + +# testing if vivaldi is running +PROCESS1=vivaldi +PROCESS2=crconsole +PIDS_Vivaldi=$(ps cax | grep $PROCESS1 | grep -o '^[ ]*[0-9]*') +PIDS_crconsole=$(ps cax | grep $PROCESS2 | grep -o '^[ ]*[0-9]*') +if [ -z "$PIDS_Vivaldi" ]; then + # Vivaldi is not running + if [ -z "$PIDS_crconsole" ]; then + echo "All is fine. Neither Vivaldi nor crconsole are running." 1>&2 + else + # kill crconsole + pkill -f "node /usr/bin/crconsole" + fi +else + # Vivaldi is running + # let's start using crconsole + # find all open tabs + tablist=$( + echo .tabs | crconsole & + sleep 1 + pkill -f "node /usr/bin/crconsole" + ) + # read each tab + while read -r line; do + echo "... $line ..." + # find /browser.html tab + if [[ $line == *"/browser.html"* ]]; then + tabnumber=$(echo "$line" | grep -o '[0-9]\+') + # change Vivaldi accent background colors + var=$( + ( + echo ".switch $tabnumber" + sleep 1 + echo "chrome.storage.local.set({'BROWSER_COLOR_BG':'$background', 'BROWSER_COLOR_FG':'$text_color', 'BROWSER_COLOR_ACCENT_BG':'$color5', 'BROWSER_COLOR_HIGHLIGHT_BG':'$color1'})" + ) | crconsole & + sleep 1 + pkill -f "node /usr/bin/crconsole" + ) + echo "$var" >$logfile + fi + done <<<"$tablist" + sleep 1 + pkill -f "node /usr/bin/crconsole" +fi +exit diff --git a/home/ebisu/kansai/scripts/scripts/worlds b/home/ebisu/kansai/scripts/scripts/worlds new file mode 100755 index 0000000..834079a --- /dev/null +++ b/home/ebisu/kansai/scripts/scripts/worlds @@ -0,0 +1,15 @@ +# WorldsPlayer runner for use in Bottles + +NAMESPACE=worlds + +# kitty -e doas termshark -i worlds_vo & +wireshark -k -i "${NAMESPACE}_vo" & + +doas runnet \ + --publish-all-ports \ + --user=fuwn \ + --netns=${NAMESPACE} \ + --internet \ + bottles-cli run \ + -p WorldsPlayer \ + -b 'WorldsPlayer' diff --git a/home/ebisu/kansai/system/default.nix b/home/ebisu/kansai/system/default.nix new file mode 100644 index 0000000..6a2babd --- /dev/null +++ b/home/ebisu/kansai/system/default.nix @@ -0,0 +1,15 @@ +{ pkgs, ... }: +{ + imports = [ + ./shell + ./terminal + ./virtualisation + ./peripheral.nix + ./sops.nix + ./ssh.nix + ./tracing.nix + ./variables.nix + ]; + + home.packages = [ pkgs.nerdfonts ]; +} diff --git a/home/ebisu/kansai/system/peripheral.nix b/home/ebisu/kansai/system/peripheral.nix new file mode 100644 index 0000000..7b91dfe --- /dev/null +++ b/home/ebisu/kansai/system/peripheral.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + # openrgb + solaar + ]; +} diff --git a/home/ebisu/kansai/system/shell/default.nix b/home/ebisu/kansai/system/shell/default.nix new file mode 100644 index 0000000..82c4a71 --- /dev/null +++ b/home/ebisu/kansai/system/shell/default.nix @@ -0,0 +1,20 @@ +{ pkgs, ... }: +{ + imports = [ + ./fish.nix + ./starship.nix + ]; + + home.packages = with pkgs; [ + asciinema + navi + shellclear + watchexec + zoxide + shellcheck + termius + dash + mosh + killall + ]; +} diff --git a/home/ebisu/kansai/system/shell/fish.nix b/home/ebisu/kansai/system/shell/fish.nix new file mode 100644 index 0000000..d7ff424 --- /dev/null +++ b/home/ebisu/kansai/system/shell/fish.nix @@ -0,0 +1,184 @@ +{ + pkgs, + config, + secrets, + self, + lib, + ... +}: +{ + programs.fish = { + enable = true; + + shellInit = '' + if status is-interactive + set fish_greeting + + fish_vi_key_bindings + + function fish_postexec --on-event fish_postexec + if test "$argv" != "clear" + echo + end + end + + function vpn + env BIND_INTERFACE=wgpia0 LD_PRELOAD=/usr/lib/bindToInterface.so $argv + end + + function nh + if test "$argv[1]" = "home" -a "$argv[2]" = "switch" + command nh $argv -- --impure + else + command nh $argv + end + end + + function nix-find + doas find $argv -type f -exec test ! -L {} \; -exec realpath {} \; | grep -v "^/nix/store" + end + + function code + command code $argv --wait + end + + function code! + command code $argv + end + end + + set -l config_home (set -q XDG_CONFIG_HOME; and echo $XDG_CONFIG_HOME; or echo ${config.xdg.configHome}) + set HISTSIZE -1 + set HISTFILESIZE -1 + set SAVEHIST -1 + set GPG_TTY (tty) + + bind \ce edit_command_buffer + + cat ${config.xdg.cacheHome}/wal/sequences + + zoxide init fish | source + ''; + + plugins = [ + { + name = "fzf.fish"; + + src = pkgs.fetchFromGitHub { + owner = "patrickf1"; + repo = "fzf.fish"; + rev = "8920367cf85eee5218cc25a11e209d46e2591e7a"; + sha256 = "sha256-T8KYLA/r/gOKvAivKRoeqIwE2pINlxFQtZJHpOy9GMM="; + }; + } + { + name = "bass"; + + src = pkgs.fetchFromGitHub { + owner = "edc"; + repo = "bass"; + rev = "79b62958ecf4e87334f24d6743e5766475bcf4d0"; + sha256 = "sha256-3d/qL+hovNA4VMWZ0n1L+dSM1lcz7P5CQJyy+/8exTc="; + }; + } + { + name = "nvm.fish"; + + src = pkgs.fetchFromGitHub { + owner = "jorgebucaran"; + repo = "nvm.fish"; + rev = "b8edb1ee24cbbf7259196b0cb3c6c4ab65b07929"; + sha256 = "sha256-7JxIQSseBv81SSpWH1pufx8fh9EQhbo3r2nVVREwc58="; + }; + } + { + name = "sponge"; + + src = pkgs.fetchFromGitHub { + owner = "meaningful-ooo"; + repo = "sponge"; + rev = "384299545104d5256648cee9d8b117aaa9a6d7be"; + sha256 = "sha256-MdcZUDRtNJdiyo2l9o5ma7nAX84xEJbGFhAVhK+Zm1w="; + }; + } + { + name = "autopair.fish"; + + src = pkgs.fetchFromGitHub { + owner = "jorgebucaran"; + repo = "autopair.fish"; + rev = "4d1752ff5b39819ab58d7337c69220342e9de0e2"; + sha256 = "sha256-qt3t1iKRRNuiLWiVoiAYOu+9E7jsyECyIqZJ/oRIT1A="; + }; + } + ]; + + shellAliases = + let + proxyEnvironment = "http_proxy=$(cat ${ + config.sops.secrets."proxy/i2p/http".path + }) HTTP_PROXY=$(cat ${config.sops.secrets."proxy/i2p/http".path}) https_proxy=$(cat ${ + config.sops.secrets."proxy/i2p/https".path + }) HTTPS_PROXY=$(cat ${config.sops.secrets."proxy/i2p/https".path}) socks_proxy=$(cat ${ + config.sops.secrets."proxy/i2p/socks5".path + }) SOCKS_PROXY=$(cat ${config.sops.secrets."proxy/i2p/socks5".path})"; + in + { + # Verbosity + cp = "cp -iv"; + mv = "mv -iv"; + # rm = "rm -vI"; + bc = "bc -ql"; + rsync = "rsync -vrPlu"; + mkd = "mkdir -pv"; + yt = "yt-dlp --embed-metadata -i"; + yta = "yt -x -f bestaudio/best"; + ytt = "yt --skip-download --write-thumbnail"; + ffmpeg = "ffmpeg -hide_banner"; + wdic = "wdic --homophones --kanji --color --pager"; + hakuneko = "hakuneko-desktop --no-sandbox"; + fastfetch = "clear && /usr/bin/env fastfetch"; + wget = "wget --hsts-file=${config.xdg.dataHome}/wget-hsts"; + mosh = "mosh --predict=experimental"; + + # Modern Alternatives & Alias Rewrites + unzip = "ripunzip unzip-file"; + nvim = "lvim"; + vim = "lvim"; + vimdiff = "lvim -d"; + rm = "rip"; + + # Colourise + ls = "exa -h --no-quotes --color=auto --group-directories-first"; + grep = "grep --color=auto"; + diff = "diff --color=auto"; + ccat = "highlight --out-format=ansi"; + ip = "ip -color=auto"; + + # Abbreviations + ka = "killall"; + g = "git"; + sdn = "shutdown -h now"; + e = "$EDITOR"; + v = "$EDITOR"; + ff = "fastfetch"; + + # Other + chan = "chan-downloader -c 10"; + rotd = "systemctl --user restart opentabledriver.service"; + ks = "kaguya stream --user-agent 'Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0'"; + def = "myougiden"; + suzuri = "SUZURI_MINIMAL=1 SUZURI_REVERSE=1 ${pkgs.tsutsumi.suzuri}/bin/suzuri"; + "5ch" = "html2md -i 'https://ff5ch.syoboi.jp/' -s section | glow"; + shinobu = "curl --silent https://shinobu.fuwn.workers.dev/shinobu -o /tmp/shinobu && feh /tmp/shinobu"; + auto_subtitle = "source ${config.home.homeDirectory}/Documents/Code/Git/Random/auto-subtitle/venv/bin/activate && auto_subtitle --model medium --task translate --srt_only True"; + steamy = "mangohud gamemoderun steam-runtime"; + koix = "koi -f"; + seamonkey = "${config.home.homeDirectory}/.local/src/seamonkey/seamonkey-bin"; + doom = "${config.xdg.configHome}/emacs/bin/doom"; + epiphany-i2p = "${proxyEnvironment} epiphany"; + eolie-i2p = "${proxyEnvironment} eolie"; + notion = "notion-app ${import "${self}/lib/electron-flags.nix" { inherit lib; }}"; + }; + }; +} diff --git a/home/ebisu/kansai/system/shell/starship.nix b/home/ebisu/kansai/system/shell/starship.nix new file mode 100644 index 0000000..4daeefc --- /dev/null +++ b/home/ebisu/kansai/system/shell/starship.nix @@ -0,0 +1,304 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ starship ]; + + programs.starship = { + enable = true; + enableFishIntegration = true; + + # I CBA to update the formatting to match the rest of the expressions, since + # this is a one-off that I tend to import over directly from starship. + settings = { + format = "[term%](bold green) "; + right_format = "$character$all"; + add_newline = false; + + line_break = { + disabled = true; + }; + + character = { + success_symbol = "[i](bold green)"; + error_symbol = "[x](bold red)"; + vimcmd_symbol = "[n](bold green)"; + vimcmd_visual_symbol = "[v](bold green)"; + vimcmd_replace_symbol = "[R](bold green)"; + vimcmd_replace_one_symbol = "[r](bold green)"; + }; + + git_commit = { + tag_symbol = " tag "; + }; + + git_status = { + ahead = ">"; + behind = "<"; + diverged = "<>"; + renamed = "r"; + deleted = "x"; + }; + + aws = { + symbol = "aws "; + }; + + azure = { + symbol = "az "; + }; + + bun = { + symbol = "bun "; + }; + + c = { + symbol = "C "; + }; + + cobol = { + symbol = "cobol "; + }; + + conda = { + symbol = "conda "; + }; + + crystal = { + symbol = "cr "; + }; + + cmake = { + symbol = "cmake "; + }; + + daml = { + symbol = "daml "; + }; + + dart = { + symbol = "dart "; + }; + + deno = { + symbol = "deno "; + }; + + dotnet = { + symbol = ".NET "; + }; + + directory = { + read_only = " ro"; + }; + + docker_context = { + symbol = "docker "; + }; + + elixir = { + symbol = "exs "; + }; + + elm = { + symbol = "elm "; + }; + + fennel = { + symbol = "fnl "; + }; + + fossil_branch = { + symbol = "fossil "; + }; + + gcloud = { + symbol = "gcp "; + }; + + git_branch = { + symbol = "git "; + }; + + golang = { + symbol = "go "; + }; + + gradle = { + symbol = "gradle "; + }; + + guix_shell = { + symbol = "guix "; + }; + + hg_branch = { + symbol = "hg "; + }; + + java = { + symbol = "java "; + }; + + julia = { + symbol = "jl "; + }; + + kotlin = { + symbol = "kt "; + }; + + lua = { + symbol = "lua "; + }; + + nodejs = { + symbol = "nodejs "; + }; + + memory_usage = { + symbol = "memory "; + }; + + meson = { + symbol = "meson "; + }; + + nim = { + symbol = "nim "; + }; + + nix_shell = { + symbol = "nix "; + }; + + ocaml = { + symbol = "ml "; + }; + + opa = { + symbol = "opa "; + }; + + os = { + symbols = { + Alpaquita = "alq "; + Alpine = "alp "; + Amazon = "amz "; + Android = "andr "; + Arch = "rch "; + Artix = "atx "; + CentOS = "cent "; + Debian = "deb "; + DragonFly = "dfbsd "; + Emscripten = "emsc "; + EndeavourOS = "ndev "; + Fedora = "fed "; + FreeBSD = "fbsd "; + Garuda = "garu "; + Gentoo = "gent "; + HardenedBSD = "hbsd "; + Illumos = "lum "; + Linux = "lnx "; + Mabox = "mbox "; + Macos = "mac "; + Manjaro = "mjo "; + Mariner = "mrn "; + MidnightBSD = "mid "; + Mint = "mint "; + NetBSD = "nbsd "; + NixOS = "nix "; + OpenBSD = "obsd "; + OpenCloudOS = "ocos "; + openEuler = "oeul "; + openSUSE = "osuse "; + OracleLinux = "orac "; + Pop = "pop "; + Raspbian = "rasp "; + Redhat = "rhl "; + RedHatEnterprise = "rhel "; + Redox = "redox "; + Solus = "sol "; + SUSE = "suse "; + Ubuntu = "ubnt "; + Unknown = "unk "; + Windows = "win "; + }; + }; + + package = { + symbol = "pkg "; + }; + + perl = { + symbol = "pl "; + }; + + php = { + symbol = "php "; + }; + + pijul_channel = { + symbol = "pijul "; + }; + + pulumi = { + symbol = "pulumi "; + }; + + purescript = { + symbol = "purs "; + }; + + python = { + symbol = "py "; + }; + + raku = { + symbol = "raku "; + }; + + ruby = { + symbol = "rb "; + }; + + rust = { + symbol = "rs "; + }; + + scala = { + symbol = "scala "; + }; + + spack = { + symbol = "spack "; + }; + + solidity = { + symbol = "solidity "; + }; + + status = { + symbol = "[x](bold red) "; + }; + + sudo = { + symbol = "sudo "; + }; + + swift = { + symbol = "swift "; + }; + + typst = { + symbol = "typst "; + }; + + terraform = { + symbol = "terraform "; + }; + + zig = { + symbol = "zig "; + }; + }; + }; +} diff --git a/home/ebisu/kansai/system/sops.nix b/home/ebisu/kansai/system/sops.nix new file mode 100644 index 0000000..e229626 --- /dev/null +++ b/home/ebisu/kansai/system/sops.nix @@ -0,0 +1,22 @@ +{ config, self, ... }: +{ + sops = { + gnupg.sshKeyPaths = [ ]; + defaultSopsFile = "${self}/secrets/${config.home.username}.yaml"; + + age = { + sshKeyPaths = [ ]; + keyFile = "${config.xdg.configHome}/sops/age/keys.txt"; + generateKey = false; + }; + + secrets = { + openai_api_key = { }; + suzuri_token = { }; + bark_api_key = { }; + "proxy/i2p/http" = { }; + "proxy/i2p/https" = { }; + "proxy/i2p/socks5" = { }; + }; + }; +} diff --git a/home/ebisu/kansai/system/ssh.nix b/home/ebisu/kansai/system/ssh.nix new file mode 100644 index 0000000..6a47791 --- /dev/null +++ b/home/ebisu/kansai/system/ssh.nix @@ -0,0 +1,46 @@ +{ config, secrets, ... }: +{ + programs.ssh = { + enable = true; + addKeysToAgent = "yes"; + serverAliveInterval = 60; + serverAliveCountMax = 10; + + extraConfig = '' + IgnoreUnknown UseKeychain + UseKeychain yes + IPQoS lowdelay throughput + ''; + + matchBlocks = { + "akashi" = { }; + "himeji".user = "root"; + "watson".user = "root"; + + "github.com" = { + user = "git"; + identityFile = "${config.home.homeDirectory}/.ssh/id_rsa"; + }; + + "aur.archlinux.org" = { + user = "aur"; + identityFile = "${config.home.homeDirectory}/.ssh/aur"; + }; + + "seti" = { + user = "root"; + port = 2222; + identityFile = "${config.home.homeDirectory}/.ssh/seti"; + }; + + "oit" = { + inherit (secrets.ssh.oit) hostname user; + }; + + "eu.nixbuild.net" = { + port = 2222; + identityFile = "${config.home.homeDirectory}/.ssh/id_ed25519.1"; + }; + }; + }; +} diff --git a/home/ebisu/kansai/system/terminal/default.nix b/home/ebisu/kansai/system/terminal/default.nix new file mode 100644 index 0000000..6cd5378 --- /dev/null +++ b/home/ebisu/kansai/system/terminal/default.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: +{ + imports = [ + ./kitty.nix + ./foot.nix + ]; + + home.packages = with pkgs; [ + cool-retro-term + # warp-terminal + ]; +} diff --git a/home/ebisu/kansai/system/terminal/foot.nix b/home/ebisu/kansai/system/terminal/foot.nix new file mode 100644 index 0000000..36fd525 --- /dev/null +++ b/home/ebisu/kansai/system/terminal/foot.nix @@ -0,0 +1,49 @@ +{ + programs.foot = { + enable = false; + + settings = { + main = { + font = "SF Mono:size=12"; + font-bold = "SF Mono:size=12:weight=medium"; + font-italic = "SF Mono:size=12:slant=italic"; + font-bold-italic = "SF Mono:size=12:slant=italic:weight=medium"; + + # Font Fine-tuning + # vertical-letter-offset = -1; + # line-height = 13; + # underline-thickness = 0.6; + # underline-offset = 2; + + # Styling + bold-text-in-bright = "palette-based"; + pad = "15x15"; # "24x24" + + # Misc. + resize-delay-ms = "0"; + term = "xterm"; + # locked-title = "yes"; + selection-target = "both"; + # workers = "0"; + # utmp-helper = "none"; + }; + + url.osc8-underline = "always"; + bell.urgent = "yes"; + # scrollback.lines = "1000"; + mouse.hide-when-typing = "yes"; + key-bindings.clipboard-paste = "Control+v Control+Shift+v"; + + tweak = { + scaling-filter = "none"; + # font-monospace-warn = "no"; + # grapheme-width-method = "wcswidth"; + # grapheme-shaping = "no"; + }; + + colors = { + alpha = "0.8"; + }; + }; + }; +} diff --git a/home/ebisu/kansai/system/terminal/kitty.nix b/home/ebisu/kansai/system/terminal/kitty.nix new file mode 100644 index 0000000..bf20b17 --- /dev/null +++ b/home/ebisu/kansai/system/terminal/kitty.nix @@ -0,0 +1,113 @@ +{ config, ... }: +{ + programs.kitty = { + enable = true; + + settings = { + # Font + # MesloLGS NF + font_family = "SF Mono Light"; + bold_font = "SF Mono Medium"; + italic_font = "SF Mono Light Italic"; + bold_italic_font = "SF Mono Medium Italic"; + font_size = 12; # 13.5 + + # Optimisation + resize_debounce_time = 0; + sync_to_monitor = true; + repaint_delay = 0; + input_delay = 0; + + # Style + background_opacity = "0.8"; + window_border_width = 0; + window_margin_width = 15; + hide_window_decorations = "titlebar-only"; + include = "${config.xdg.cacheHome}/wal/colors-kitty.conf"; + + # Cursor + cursor_blink_interval = 0; # 0.5 + cursor_stop_blinking_after = 0; # 15 + + # Other + scrollback_pager = "less +G -R"; + wheel_scroll_multiplier = 5; + click_interval = "0.5"; + select_by_word_characters = ":@-./_~?&=%+#"; + mouse_hide_wait = 0; + enabled_layouts = "*"; + remember_window_size = false; + macos_option_as_alt = false; + allow_remote_control = true; + confirm_os_window_close = 0; + term = "xterm-kitty"; + + # Bell + visual_bell_duration = 0; + enable_audio_bell = false; + + # URL Handling + open_url_modifiers = "ctrl+shift"; + open_url_with = "default"; + }; + + extraConfig = '' + # Clipboard + map super+v paste_from_clipboard + map ctrl+shift+s paste_from_selection + map super+c copy_to_clipboard + map shift+insert paste_from_selection + + # Scrolling + map ctrl+shift+up scroll_line_up + map ctrl+shift+down scroll_line_down + map ctrl+shift+k scroll_line_up + map ctrl+shift+j scroll_line_down + map ctrl+shift+page_up scroll_page_up + map ctrl+shift+page_down scroll_page_down + map ctrl+shift+home scroll_home + map ctrl+shift+end scroll_end + map ctrl+shift+h show_scrollback + + # Window management + map super+n new_os_window + map super+w close_window + map ctrl+shift+enter new_window + map ctrl+shift+] next_window + map ctrl+shift+[ previous_window + map ctrl+shift+f move_window_forward + map ctrl+shift+b move_window_backward + map ctrl+shift+` move_window_to_top + map ctrl+shift+1 first_window + map ctrl+shift+2 second_window + map ctrl+shift+3 third_window + map ctrl+shift+4 fourth_window + map ctrl+shift+5 fifth_window + map ctrl+shift+6 sixth_window + map ctrl+shift+7 seventh_window + map ctrl+shift+8 eighth_window + map ctrl+shift+9 ninth_window + map ctrl+shift+0 tenth_window + + # Tab management + map ctrl+shift+right next_tab + map ctrl+shift+left previous_tab + map ctrl+shift+t new_tab + map ctrl+shift+q close_tab + map ctrl+shift+l next_layout + map ctrl+shift+. move_tab_forward + map ctrl+shift+, move_tab_backward + + # Miscellaneous + map ctrl+shift+up increase_font_size + map ctrl+shift+down decrease_font_size + map ctrl+shift+backspace restore_font_size + + map ctrl+/ launch --allow-remote-control kitty +kitten kitty_search/search.py @active-kitty-window-id + ''; + }; + + # read the file, but remove the line with shell_integration + # xdg.configFile."kitty/kitty.conf".text = + # builtins.map (line: if builtins.match "shell_integration" line then "" else line) (builtins.split "\n" (builtins.readFile ~/.config/kitty/kitty.conf)); +} diff --git a/home/ebisu/kansai/system/tracing.nix b/home/ebisu/kansai/system/tracing.nix new file mode 100644 index 0000000..9a96847 --- /dev/null +++ b/home/ebisu/kansai/system/tracing.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + strace + bpftrace + lsof + ]; +} diff --git a/home/ebisu/kansai/system/variables.nix b/home/ebisu/kansai/system/variables.nix new file mode 100644 index 0000000..c958b85 --- /dev/null +++ b/home/ebisu/kansai/system/variables.nix @@ -0,0 +1,102 @@ +{ + pkgs, + config, + flakeDirectory, + lib, + ... +}: +{ + home.sessionVariables = { + # https://github.com/nix-community/home-manager/issues/354#issuecomment-475803163 + LOCALES_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive"; + FLAKE = flakeDirectory; + + # Default programs + EDITOR = "lvim"; + TERMINAL = "kitty"; + TERMINAL_PROG = "kitty"; + BROWSER = "zen"; + FLAKE_EDITOR = "${lib.getExe pkgs.zed-editor}"; + + # Home directory clean-up + # https://github.com/NixOS/nixpkgs/issues/224525#issuecomment-1945290961 + XDG_DATA_HOME = "${config.xdg.dataHome}"; + XDG_CONFIG_HOME = "${config.xdg.configHome}"; + XDG_STATE_HOME = "${config.xdg.stateHome}"; + XDG_CACHE_HOME = "${config.xdg.cacheHome}"; + NOTMUCH_CONFIG = "${config.xdg.configHome}/notmuch-config"; + # GTK2_RC_FILES = "${config.xdg.configHome}/gtk-2.0/gtkrc-2.0"; + WGETRC = "${config.xdg.configHome}/wget/wgetrc"; + INPUTRC = "${config.xdg.configHome}/shell/inputrc"; + ZDOTDIR = "${config.xdg.configHome}/zsh"; + # GNUPGHOME="${config.xdg.dataHome}/gnupg"; + WINEPREFIX = "${config.xdg.dataHome}/wineprefixes/default"; + KODI_DATA = "${config.xdg.dataHome}/kodi"; + PASSWORD_STORE_DIR = "${config.xdg.dataHome}/password-store"; + TMUX_TMPDIR = "$XDG_RUNTIME_DIR"; + ANDROID_SDK_HOME = "${config.xdg.configHome}/android"; + CARGO_HOME = "${config.xdg.dataHome}/cargo"; + GOPATH = "${config.xdg.dataHome}/go"; + GOMODCACHE = "${config.xdg.cacheHome}/go/mod"; + ANSIBLE_CONFIG = "${config.xdg.configHome}/ansible/ansible.cfg"; + UNISON = "${config.xdg.dataHome}/unison"; + HISTFILE = "${config.xdg.stateHome}/bash/history"; + MBSYNCRC = "${config.xdg.configHome}/mbsync/config"; + ELECTRUMDIR = "${config.xdg.dataHome}/electrum"; + PYTHONSTARTUP = "${config.xdg.configHome}/python/pythonrc"; + SQLITE_HISTORY = "${config.xdg.dataHome}/sqlite_history"; + WAKATIME_HOME = "${config.xdg.configHome}/wakatime"; + NVM_DIR = "${config.xdg.dataHome}/nvm"; + CUDA_CACHE_PATH = "${config.xdg.cacheHome}/nv"; + DOCKER_CONFIG = "${config.xdg.configHome}/docker"; + RUSTUP_HOME = "${config.xdg.dataHome}/rustup"; + NUGET_PACKAGES = "${config.xdg.cacheHome}/NuGetPackages"; + KERAS_HOME = "${config.xdg.stateHome}/keras"; + PARALLEL_HOME = "${config.xdg.configHome}/parallel"; + _JAVA_OPTIONS = "-Djava.util.prefs.userRoot=${config.xdg.configHome}/java"; + NPM_CONFIG_USERCONFIG = "${config.xdg.configHome}/npm/npmrc"; + NODE_REPL_HISTORY = "${config.xdg.dataHome}/node_repl_history"; + MPLAYER_HOME = "${config.xdg.configHome}/mplayer"; + BUNDLE_PATH = "${config.home.homeDirectory}/.gems"; + STEAM_APP_DIR = "${config.home.homeDirectory}/.steam"; + ANDROID_USER_HOME = "${config.xdg.dataHome}/android"; + ASDF_DATA_DIR = "${config.xdg.dataHome}/asdf"; + CABAL_CONFIG = "${config.xdg.configHome}/cabal/config"; + CABAL_DIR = "${config.xdg.dataHome}/cabal"; + DOTNET_CLI_HOME = "${config.xdg.dataHome}/dotnet"; + GRADLE_USER_HOME = "${config.xdg.dataHome}/gradle"; + NIMBLE_DIR = "${config.xdg.dataHome}/nimble"; + REDISCLI_HISTFILE = "${config.xdg.dataHome}/redis/rediscli_history"; + STACK_ROOT = "${config.xdg.dataHome}/stack"; + STACK_XDG = 1; + PYHTHON_HISTORY = "${config.xdg.stateHome}/python_history"; + + # Other program settings + FZF_DEFAULT_OPTS = "--layout=reverse --height 40%"; + LESS = "R"; + LESS_TERMCAP_mb = "$(printf '%b' '')"; + LESS_TERMCAP_md = "$(printf '%b' '')"; + LESS_TERMCAP_me = "$(printf '%b' '')"; + LESS_TERMCAP_so = "$(printf '%b' '')"; + LESS_TERMCAP_se = "$(printf '%b' '')"; + LESS_TERMCAP_us = "$(printf '%b' '')"; + LESS_TERMCAP_ue = "$(printf '%b' '')"; + LESSOPEN = "| highlight -O ansi %s 2>/dev/null"; + QT_QPA_PLATFORMTHEME = "gtk2"; + MOZ_USE_XINPUT2 = "1"; + AWT_TOOLKIT = "MToolkit wmname LG3D"; + _JAVA_AWT_WM_NONREPARENTING = 1; + OPENAI_API_KEY = "$(cat ${config.sops.secrets.openai_api_key.path})"; + NNN_FIFO = "/tmp/nnn.fifo"; + _Z_DATA = "${config.xdg.dataHome}/z"; + W3M_DIR = "${config.xdg.dataHome}/w3m"; + VMODULES = "${config.xdg.dataHome}/vmodules"; + TEXMFVAR = "${config.xdg.cacheHome}/texlive/texmf-var"; + BUNDLE_USER_CONFIG = "${config.xdg.configHome}/bundle"; + BUNDLE_USER_CACHE = "${config.xdg.cacheHome}/bundle"; + BUNDLE_USER_PLUGIN = "${config.xdg.dataHome}/bundle"; + PSQL_HISTORY = "${config.xdg.dataHome}/psql_history"; + PKG_CACHE_PATH = "${config.xdg.cacheHome}/pkg-cache"; + SUZURI_TOKEN = "$(cat ${config.sops.secrets.suzuri_token.path})"; + }; +} diff --git a/home/ebisu/kansai/system/virtualisation/default.nix b/home/ebisu/kansai/system/virtualisation/default.nix new file mode 100644 index 0000000..3a8591d --- /dev/null +++ b/home/ebisu/kansai/system/virtualisation/default.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: +{ + imports = [ ./docker.nix ]; + + home.packages = with pkgs; [ + bottles + wine + wine-staging + tsutsumi.lilipod + distrobox + ]; +} diff --git a/home/ebisu/kansai/system/virtualisation/docker.nix b/home/ebisu/kansai/system/virtualisation/docker.nix new file mode 100644 index 0000000..737ef3d --- /dev/null +++ b/home/ebisu/kansai/system/virtualisation/docker.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + act + earthly + dive + docker-slim + docker-credential-helpers + ]; +} -- cgit v1.2.3