30 Commits

Author SHA1 Message Date
90591b9bec added the gdlauncher to default packages 2026-03-07 12:24:37 +01:00
b9a1b01f21 direnv is now silent. lets see how this goes 2026-03-03 16:22:24 +01:00
1c2ce8b116 using the module instead because it sets up the shell configuration 2026-03-03 16:15:02 +01:00
ea59469b7d added direnv to my applications 2026-03-03 16:03:32 +01:00
18814bda3a hyprland exit does take now another key to activate so it wont be pressed accidentally 2026-02-25 14:48:50 +01:00
910ad36424 yaml files always use 2 spaces now 2026-02-24 17:52:39 +01:00
a2d8313573 zen flake input removed the binary name just zen. fixed that up by replacing autostart with zen-beta 2026-02-22 18:22:34 +01:00
ba084e9ca1 Added elements desktop to test out matrix.org 2026-02-15 15:15:26 +01:00
3b54a08428 baobab is now part of the applications 2026-02-05 18:41:31 +01:00
dc6dffa481 treesitter#2036 changed the way to configure treesitter. adjusted config for this 2026-02-05 17:37:01 +01:00
f0757d76b9 steam is starting in the background on startup now 2026-02-04 12:45:24 +01:00
f7414132fe hyprland also auto starts discord now 2026-02-04 12:38:53 +01:00
91806843ee configured preferred split direction to vertical. closes #17 2026-02-03 12:20:46 +01:00
9abadc0d8f fixed conflict. still relevant to #16 2026-02-03 12:11:21 +01:00
ac54b67744 fixed application starting. Still related to #14 2026-02-02 16:45:21 +01:00
95b3d087a3 Merge pull request #15 from quirinecker/14-hyprland-auto-open-on-specific-workspaces-is-not-working-reliable
windowrule fixed this. it works again
2026-02-01 21:12:57 +01:00
677783bfd2 windowrule fixed this. it works again 2026-02-01 21:12:24 +01:00
f8407706a3 #13 removed errands 2026-02-01 19:19:46 +01:00
b6d1be0efc added some scripts and configuration for gpu screen recorder. note: gpu-screen-recorder must be installed for this 2026-01-30 18:29:51 +01:00
fff6779344 Merge pull request #11 from quirinecker/10-pdf-default-program
added default application entry for pdf files (default browser)
2026-01-29 18:40:30 +01:00
3a6f8c49cc added default application entry for pdf files (default browser) 2026-01-29 18:39:45 +01:00
2e3ac6e095 added custom menu for power options 2026-01-27 16:19:06 +01:00
42ae7ddd18 changed pin keybinds for walker. were conflicting with the vim keybinds 2026-01-27 14:54:09 +01:00
e96cf7518e now using elephant as a seperate input. This way it will be updated by seperately 2026-01-27 14:05:45 +01:00
b4efbdcd2d disabled zen browser for now 2026-01-11 14:13:20 +01:00
8e82b16dbd added dart language support 2026-01-11 14:11:52 +01:00
10234ceb9a added errands for todos and assigned it to the 3rd workspace 2026-01-07 21:25:10 +01:00
d60ec7cdfe hyprshot now also freezes the screen 2026-01-03 13:10:58 +01:00
17a1e0c788 fugitive things are opening in a new tab now. At least the 2 most
important ones.
2025-12-25 09:02:27 +01:00
0d7c392b47 added some new git commands for fugitive to autoload 2025-12-25 08:59:53 +01:00
18 changed files with 156 additions and 147 deletions

View File

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

38
flake.lock generated
View File

@@ -3,20 +3,16 @@
"elephant": {
"inputs": {
"nixpkgs": [
"walker",
"nixpkgs"
],
"systems": [
"walker",
"systems"
]
"systems": "systems"
},
"locked": {
"lastModified": 1759675127,
"narHash": "sha256-AsYUdOukKNXIu47CpQNJeAccu524sIj9UTuP9Aadycs=",
"lastModified": 1769329000,
"narHash": "sha256-0vibWqmCsG1t4xL2euR6PScB3M4QZigB5JGl+BIH4NY=",
"owner": "abenz1267",
"repo": "elephant",
"rev": "abfa18c844f1028b0b2beef456fee6d40e98dfad",
"rev": "1988112d1f54dd76e8a90f551945df763586bdad",
"type": "github"
},
"original": {
@@ -27,7 +23,7 @@
},
"flake-utils": {
"inputs": {
"systems": "systems"
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
@@ -104,6 +100,7 @@
},
"root": {
"inputs": {
"elephant": "elephant",
"nix-options-doc": "nix-options-doc",
"nixpkgs": "nixpkgs",
"walker": "walker",
@@ -132,6 +129,21 @@
}
},
"systems": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -146,7 +158,7 @@
"type": "github"
}
},
"systems_2": {
"systems_3": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
@@ -163,11 +175,13 @@
},
"walker": {
"inputs": {
"elephant": "elephant",
"elephant": [
"elephant"
],
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_2"
"systems": "systems_3"
},
"locked": {
"lastModified": 1760434150,

View File

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

View File

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

View File

@@ -30,18 +30,10 @@
indent_size = 2;
};
"*.yaml" = {
indent_style = "space";
indent_size = 4;
};
"*.yml" = {
indent_style = "space";
indent_size = 4;
};
"compose.yml" = {
indent_style = "space";
indent_size = 2;
};
"compose.yaml" = {
"*.yml" = {
indent_style = "space";
indent_size = 2;
};

View File

@@ -27,6 +27,11 @@ in
"hypr/nix.conf".text = ''
$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

@@ -26,7 +26,7 @@ source = ~/.config/hypr/nix.conf
# Set programs that you use
$terminal = ghostty
$fileManager = nautilus
$browser = zen
$browser = zen-beta
$menu = walker
#################
@@ -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-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 & discord & steam-silent
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 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
@@ -212,7 +216,7 @@ bind = $mainMod, T, exec, $terminal
bind = $mainMod, B, exec, $browser
bind = $mainMod, I, exec, hyprpanel toggleWindow bar-0
bind = $mainMod, C, killactive,
bind = $mainMod, Q, exit,
bind = $mainMod SHIFT, Q, exit,
bind = $mainMod, F, fullscreen, 1
bind = $mainMod ALT, F, fullscreen, 0
bind = $mainMod, E, exec, $fileManager
@@ -224,7 +228,9 @@ bind = $mainMod SHIFT, D, exec, discord
bind = SUPER_ALT,L, exec, hyprlock
bind = ,F10, exec, hyprlock
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, Y, exec, firefox
@@ -283,25 +289,3 @@ bindl=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindl=, XF86AudioPlay, exec, playerctl play-pause # the stupid key is called play , but it toggles
bindl=, XF86AudioNext, exec, playerctl next
bindl=, XF86AudioPrev, exec, playerctl previous
##############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
# windowrulev2 = noanim,class:ulauncher
windowrulev2 = noborder,class:ulauncher
windowrulev2 = noblur,class:ulauncher
windowrulev2 = noshadow,class:ulauncher
# layerrule = blur, wofi
# layerrule = blur, waybar

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

View File

@@ -36,3 +36,5 @@ vim.opt.showtabline = 1
-- remove indicators above statusline
vim.opt.showmode = false
vim.opt.diffopt = "vertical"

View File

@@ -1,13 +1,17 @@
return {
'tpope/vim-fugitive',
keys = {
{ '<leader>gg', ':Git<cr>', 'Git Status' },
{ '<leader>gg', ':tab Git<cr>', 'Git Status' },
{ '<leader>gc', function()
if vim.bo.filetype == 'fugitive' then
vim.cmd.close()
end
vim.cmd("Git commit")
vim.cmd("tab Git commit")
end, '(g)it (c)ommit' }
},
cmd = 'Git'
cmd = {
'Git',
'Gread',
'Gbrowse'
}
}

View File

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

View File

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

View File

@@ -4,7 +4,7 @@ return {
build = ':TSUpdate',
event = { "BufReadPost", "BufNewFile" },
config = function()
require("nvim-treesitter.configs").setup {
require("nvim-treesitter").setup {
ensure_installed = {
"lua",
"typescript",
@@ -26,35 +26,31 @@ return {
},
indent = {
enable = true
},
textobjects = {
select = {
enable = true,
lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim
keymaps = {
-- You can use the capture groups defined in textobjects.scm
["afn"] = "@function.outer",
["ifn"] = "@function.inner",
["acl"] = "@class.outer",
["icl"] = "@class.inner",
["icm"] = "@comment.inner",
["acm"] = "@comment.outer",
["ib"] = "@block.inner",
["ab"] = "@block.outer",
["la"] = "@assignment.lhs",
["ra"] = "@assignment.lhs"
},
}
}
}
end,
dependencies = {
{
"nvim-treesitter/nvim-treesitter-textobjects",
config = function()
require("nvim-treesitter.configs").setup {
textobjects = {
select = {
enable = true,
lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim
keymaps = {
-- You can use the capture groups defined in textobjects.scm
["afn"] = "@function.outer",
["ifn"] = "@function.inner",
["acl"] = "@class.outer",
["icl"] = "@class.inner",
["icm"] = "@comment.inner",
["acm"] = "@comment.outer",
["ib"] = "@block.inner",
["ab"] = "@block.outer",
["la"] = "@assignment.lhs",
["ra"] = "@assignment.lhs"
},
}
}
}
end
},
}
},

View File

@@ -29,6 +29,9 @@
};
};
programs.direnv.enable = true;
programs.direnv.silent = true;
home.packages = [
# note taking
@@ -45,8 +48,11 @@
pkgs.sops
pkgs.pavucontrol
# https://github.com/quirinecker/dotfiles-modules/issues/13
# pkgs.errands
# editors
pkgs.zed-editor
# pkgs.zed-editor # updating softwar crashed the pc. Not in use right now anyway. disabled for now
pkgs.vscode
# browsers
@@ -72,9 +78,11 @@
pkgs.gnome-system-monitor
pkgs.geary
pkgs.nautilus
pkgs.baobab
# social
pkgs.discord
pkgs.element-desktop
pkgs.signal-desktop
pkgs.spotify
@@ -83,6 +91,10 @@
pkgs.python3
pkgs.typescript
pkgs.typst
# Gaming
pkgs.gdlauncher-carbon # Minecraft Launcher for mods and vanilla
];
};
}

View File

@@ -1,10 +1,27 @@
name = "pw"
name = "power"
name_pretty = "Power"
icon = "Power"
global_search = true
icon = "applications-other"
[[entries]]
text = "Shutdown"
keywords = ["color", "picker", "hypr"]
actions = { "cp_use" = "wl-copy $(hyprpicker)" }
keywords = ["turn", "off", "power", "shutdown"]
actions = { "cp_use" = "shutdown -h now" }
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 = []
[providers]
default = [
"desktopapplications",
"calc",
"runner",
"websearch",
"menus",
"pw"
]
default = ["desktopapplications", "calc", "runner", "websearch", "menus", "pw"]
[[providers.prefixes]]
prefix = ";"
@@ -57,60 +50,19 @@ provider = "clipboard"
[[providers.prefixes]]
prefix = "pw "
provider = "pw"
provider = "menus:power"
[providers.actions]
fallback = [
{ action = "menus:open", label = "open", after = "Nothing" },
{ action = "erase_history", label = "clear hist", bind = "ctrl h", after = "AsyncReload" },
]
desktopapplications = [
{ action = "start", default = true, bind = "Return" },
{ action = "start:keep", label = "open+next", bind = "shift Return", after = "KeepOpen" },
{ action = "erase_history", label = "clear hist", bind = "ctrl h", after = "AsyncReload" },
{ action = "pin", bind = "ctrl alt p", after = "AsyncReload" },
{ action = "unpin", bind = "ctrl alt p", after = "AsyncReload" },
{ action = "pinup", bind = "ctrl n", after = "AsyncReload" },
{ action = "pindown", bind = "ctrl m", after = "AsyncReload" },
{ action = "pin", bind = "ctrl alt p", after = "Nothing" },
{ action = "unpin", bind = "ctrl alt p", after = "Nothing" },
{ action = "pinup", bind = "ctrl alt n", after = "Nothing" },
{ 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