12 Commits

13 changed files with 89 additions and 75 deletions

View File

@@ -22,6 +22,7 @@ dotfiles-modules = {
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.zen-browser.follows = "zen-browser"; inputs.zen-browser.follows = "zen-browser";
inputs.walker.follows = "walker"; inputs.walker.follows = "walker";
inputs.elephant.follows = "elephant";
}; };
zen-browser = { zen-browser = {
@@ -32,6 +33,12 @@ zen-browser = {
walker = { walker = {
url = "github:abenz1267/walker"; url = "github:abenz1267/walker";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.elephant.follows = "elephant";
};
elephant = {
url = "github:abenz1267/elephant";
inputs.nixpkgs.follows = "nixpkgs";
}; };
``` ```

View File

@@ -11,9 +11,15 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
elephant = {
url = "github:abenz1267/elephant";
inputs.nixpkgs.follows = "nixpkgs";
};
walker = { walker = {
url = "github:abenz1267/walker"; url = "github:abenz1267/walker";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.elephant.follows = "elephant";
}; };
nix-options-doc = { nix-options-doc = {

View File

@@ -14,11 +14,13 @@ in
config = lib.mkIf config.modules.default_apps.enable { config = lib.mkIf config.modules.default_apps.enable {
xdg.mimeApps.enable = true; xdg.mimeApps.enable = true;
xdg.mimeApps.defaultApplications = { xdg.mimeApps.defaultApplications = {
# Future Reference: use `xdg-mime query filetype <file>` to get the mime tyep of a given file
"text/html" = "${defaultBrowser}.desktop"; "text/html" = "${defaultBrowser}.desktop";
"x-scheme-handler/http" = "${defaultBrowser}.desktop"; "x-scheme-handler/http" = "${defaultBrowser}.desktop";
"x-scheme-handler/https" = "${defaultBrowser}.desktop"; "x-scheme-handler/https" = "${defaultBrowser}.desktop";
"x-scheme-handler/about" = "${defaultBrowser}.desktop"; "x-scheme-handler/about" = "${defaultBrowser}.desktop";
"inode/directory" = "org.gnome.Nautilus.desktop"; "inode/directory" = "org.gnome.Nautilus.desktop";
"application/pdf" = "${defaultBrowser}.desktop";
}; };
xdg.terminal-exec.enable = true; xdg.terminal-exec.enable = true;

View File

@@ -27,6 +27,11 @@ in
"hypr/nix.conf".text = '' "hypr/nix.conf".text = ''
$defaultBrowser=${defaultBrowser} $defaultBrowser=${defaultBrowser}
''; '';
"hypr/scripts/gpu-screen-recorder/save-replay.sh".source =
config.lib.file.mkOutOfStoreSymlink ./hyprland/scripts/gpu-screen-recorder/save-replay.sh;
"hypr/scripts/gpu-screen-recorder/start-replay.sh".source =
config.lib.file.mkOutOfStoreSymlink ./hyprland/scripts/gpu-screen-recorder/start-replay.sh;
}; };
}; };
} }

View File

@@ -39,16 +39,20 @@ exec-once = hyprpanel & hyprpaper & hypridle & elephant & walker --gapplication-
exec-once = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Classic' exec-once = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Classic'
exec-once = gsettings set org.gnome.desktop.interface cursor-size 24 exec-once = gsettings set org.gnome.desktop.interface cursor-size 24
# This requires gpu-screen-recorder to be installed. I installed it with this https://wiki.nixos.org/wiki/Gpu-screen-recorder.
exec-once = ~/.config/hypr/scripts/gpu-screen-recorder/start-replay.sh
exec-once = spotify && signal-desktop && thunderbird && gnome-calendar && bitwarden && $browser
exec-once = [workspace 4 silent] signal-desktop
exec-once = [workspace 4 silent] spotify
exec-once = [workspace 4 silent] thunderbird
exec-once = [workspace 3 silent] gnome-calendar
exec-once = [workspace 3 silent] bitwarden
exec-once = [workspace 2 silent] $browser
exec-once = [workspace 1 silent] $terminal exec-once = [workspace 1 silent] $terminal
# exec-once = [workspace 4 silent] discord
# windowrulev2 = workspace 4 silent once, class:^(discord)$ windowrule = match:class ^(zen-beta)$, workspace 2 silent
windowrule = match:class ^(org.gnome.Calendar)$, workspace 3 silent
windowrule = match:class ^(Bitwarden)$, workspace 3 silent
windowrule = match:class ^(discord)$, workspace 4 silent
windowrule = match:class ^(thunderbird)$, workspace 4 silent
windowrule = match:class ^(signal)$, workspace 4 silent
windowrule = match:class ^(Spotify)$, workspace 4 silent
env = HYPRCURSOR_SIZE,28 env = HYPRCURSOR_SIZE,28
@@ -224,7 +228,9 @@ bind = $mainMod SHIFT, D, exec, discord
bind = SUPER_ALT,L, exec, hyprlock bind = SUPER_ALT,L, exec, hyprlock
bind = ,F10, exec, hyprlock bind = ,F10, exec, hyprlock
bind = $mainMod ALT, Space, exec, hyprctl switchxkblayout current next bind = $mainMod ALT, Space, exec, hyprctl switchxkblayout current next
bind = $mainMod SHIFT, S, exec, hyprshot -m region bind = $mainMod SHIFT, S, exec, hyprshot -m region -z
# This requires gpu-screen-recorder to be installed. I installed it with this https://wiki.nixos.org/wiki/Gpu-screen-recorder.
bind = $mainMod SHIFT, V, exec, ~/.config/hypr/scripts/gpu-screen-recorder/save-replay.sh
bind = $mainMod SHIFT, C, exec, hyprpicker | wl-copy bind = $mainMod SHIFT, C, exec, hyprpicker | wl-copy
bind = $mainMod, Y, exec, firefox bind = $mainMod, Y, exec, firefox

View File

@@ -0,0 +1,3 @@
#!/bin/sh -e
killall -SIGUSR1 gpu-screen-recorder && sleep 0.5 && notify-send -t 1500 -u low -- "GPU Screen Recorder" "Replay saved"

View File

@@ -0,0 +1,6 @@
#!/bin/sh
pidof -q gpu-screen-recorder && exit 0
video_path="$HOME/Videos"
mkdir -p "$video_path"
gpu-screen-recorder -w screen -f 60 -a default_output -c mkv -bm cbr -q 40000 -r 60 -o "$video_path"

View File

@@ -40,7 +40,7 @@ in
pkgs.luajitPackages.lua-lsp pkgs.luajitPackages.lua-lsp
pkgs.lua-language-server pkgs.lua-language-server
pkgs.nil pkgs.nil
pkgs.nixfmt-rfc-style pkgs.nixfmt
pkgs.nixd pkgs.nixd
pkgs.rust-analyzer pkgs.rust-analyzer
pkgs.rustfmt pkgs.rustfmt
@@ -58,6 +58,7 @@ in
pkgs.clang-tools pkgs.clang-tools
pkgs.taplo pkgs.taplo
pkgs.tinymist pkgs.tinymist
pkgs.dart
]; ];
xdg.configFile = { xdg.configFile = {
"nvim/init.lua".source = config.lib.file.mkOutOfStoreSymlink ./neovim/init.lua; "nvim/init.lua".source = config.lib.file.mkOutOfStoreSymlink ./neovim/init.lua;

View File

@@ -122,7 +122,8 @@ local function lsp_setup()
'clangd', 'clangd',
'eslint', 'eslint',
'nushell', 'nushell',
'tinymist' 'tinymist',
'dartls'
-- 'jdtls' -- 'jdtls'
}) })
@@ -160,6 +161,8 @@ local function lsp_setup()
cmd = { "tinymist" } cmd = { "tinymist" }
})) }))
vim.lsp.config('dartls', with_defaults(require("plugins.spec.server_configurations.dart")))
vim.diagnostic.config({ vim.diagnostic.config({
virtual_text = { virtual_text = {
prefix = '', -- or '■', '▎', 'x', '' whatever you want prefix = '', -- or '■', '▎', 'x', '' whatever you want

View File

@@ -0,0 +1,3 @@
return {
cmd = { "dart", "language-server", "--protocol=lsp" },
}

View File

@@ -45,8 +45,11 @@
pkgs.sops pkgs.sops
pkgs.pavucontrol pkgs.pavucontrol
# https://github.com/quirinecker/dotfiles-modules/issues/13
# pkgs.errands
# editors # editors
pkgs.zed-editor # pkgs.zed-editor # updating softwar crashed the pc. Not in use right now anyway. disabled for now
pkgs.vscode pkgs.vscode
# browsers # browsers

View File

@@ -1,10 +1,27 @@
name = "pw" name = "power"
name_pretty = "Power" name_pretty = "Power"
icon = "Power" icon = "applications-other"
global_search = true
[[entries]] [[entries]]
text = "Shutdown" text = "Shutdown"
keywords = ["color", "picker", "hypr"] keywords = ["turn", "off", "power", "shutdown"]
actions = { "cp_use" = "wl-copy $(hyprpicker)" } actions = { "cp_use" = "shutdown -h now" }
icon = "system-shutdown" icon = "system-shutdown"
[[entries]]
text = "Reboot"
keywords = ["restart", "reboot"]
actions = { "cp_use" = "reboot -r now" }
icon = "system-reboot"
[[entries]]
text = "Sleep"
keywords = ["sleep", "hibernate", "suspend"]
actions = { "cp_use" = "systemctl hibernate" }
icon = "weather-clear-night"
[[entries]]
text = "Lock"
keywords = ["lock"]
actions = { "cp_use" = "hyprlock" }
icon = "system-lock-screen"

View File

@@ -18,14 +18,7 @@ previous = ["ctrl p", "Up"]
quick_activate = [] quick_activate = []
[providers] [providers]
default = [ default = ["desktopapplications", "calc", "runner", "websearch", "menus", "pw"]
"desktopapplications",
"calc",
"runner",
"websearch",
"menus",
"pw"
]
[[providers.prefixes]] [[providers.prefixes]]
prefix = ";" prefix = ";"
@@ -57,60 +50,19 @@ provider = "clipboard"
[[providers.prefixes]] [[providers.prefixes]]
prefix = "pw " prefix = "pw "
provider = "pw" provider = "menus:power"
[providers.actions] [providers.actions]
fallback = [
{ action = "menus:open", label = "open", after = "Nothing" },
{ action = "erase_history", label = "clear hist", bind = "ctrl h", after = "AsyncReload" },
]
desktopapplications = [ desktopapplications = [
{ action = "start", default = true, bind = "Return" }, { action = "start", default = true, bind = "Return" },
{ action = "start:keep", label = "open+next", bind = "shift Return", after = "KeepOpen" }, { action = "start:keep", label = "open+next", bind = "shift Return", after = "KeepOpen" },
{ action = "erase_history", label = "clear hist", bind = "ctrl h", after = "AsyncReload" }, { action = "erase_history", label = "clear hist", bind = "ctrl h", after = "AsyncReload" },
{ action = "pin", bind = "ctrl alt p", after = "AsyncReload" }, { action = "pin", bind = "ctrl alt p", after = "Nothing" },
{ action = "unpin", bind = "ctrl alt p", after = "AsyncReload" }, { action = "unpin", bind = "ctrl alt p", after = "Nothing" },
{ action = "pinup", bind = "ctrl n", after = "AsyncReload" }, { action = "pinup", bind = "ctrl alt n", after = "Nothing" },
{ action = "pindown", bind = "ctrl m", after = "AsyncReload" }, { action = "pindown", bind = "ctrl alt m", after = "Nothing" },
] ]
[[plugins]]
name = "wifi"
prefix = "wifi "
src_once = "node ~/.config/walker/plugins/wifi.cjs"
parser = "kv"
[[plugins]]
name = "power"
prefix = "pw "
keep_sort = false
placeholder = "Power"
recalculate_score = true
show_icon_when_single = true
switcher_only = true
[[plugins.entries]]
label = "Shutdown"
icon = "system-shutdown-symbolic"
exec = "shutdown now"
weight = 1
[[plugins.entries]]
label = "Reboot"
icon = "system-reboot-symbolic"
exec = "reboot"
weight = 2
[[plugins.entries]]
label = "Sleep"
icon = "weather-clear-night-symbolic"
exec = "systemctl suspend"
weight = 3
[[plugins.entries]]
label = "Lock"
icon = "system-lock-screen-symbolic"
exec = "hyprlock"
weight = 4
[[plugins.entries]]
label = "Logout"
icon = "system-log-out-symbolic"
exec = "hyprctl dispatch exit"
weight = 5