diff --git a/dotfiles/dot_config/fish/functions/flakeup.fish b/dotfiles/dot_config/fish/functions/flakeup.fish
new file mode 100644
index 0000000..ed53d26
--- /dev/null
+++ b/dotfiles/dot_config/fish/functions/flakeup.fish
@@ -0,0 +1,5 @@
+#!/usr/bin/env fish
+
+function flakeup --description 'update flake sources'
+ nix flake update --flake /home/emenel/source/nixos-config
+end
diff --git a/dotfiles/dot_config/hypr/hypridle.conf b/dotfiles/dot_config/hypr/hypridle.conf
new file mode 100644
index 0000000..1ad7f82
--- /dev/null
+++ b/dotfiles/dot_config/hypr/hypridle.conf
@@ -0,0 +1,50 @@
+general {
+ lock_cmd = pidof hyprlock || hyprlock
+ before_sleep_cmd = loginctl lock-session
+}
+
+# battery timers
+listener {
+ timeout = 30
+ on-timeout = systemd-ac-power || light -S 0
+ on-resume = systemd-ac-power || light -I
+}
+
+listener {
+ timeout = 30
+ on-timeout = systemd-ac-power || light -s razer/0003:1532:02B6.0004/backlight -S 0
+ on-resume = systemd-ac-power || light -s razer/0003:1532:02B6.0004/backlight -S 40
+}
+
+listener {
+ timeout = 120
+ on-timeout = systemd-ac-power || systemd-ac-power && loginctl lock-session
+}
+
+listener {
+ timeout = 600
+ on-timeout = systemd-ac-power || systemctl suspend
+}
+
+# ac power timers
+listener {
+ timeout = 60
+ on-timeout = systemd-ac-power && light -S 0
+ on-resume = systemd-ac-power && light -I
+}
+
+listener {
+ timeout = 60
+ on-timeout = systemd-ac-power && light -s razer/0003:1532:02B6.0004/backlight -S 0
+ on-resume = systemd-ac-power && light -s razer/0003:1532:02B6.0004/backlight -S 40
+}
+
+listener {
+ timeout = 300
+ on-timeout = systemd-ac-power && loginctl lock-session
+}
+
+listener {
+ timeout = 1800
+ on-timeout = systemd-ac-power && systemctl suspend
+}
diff --git a/dotfiles/dot_config/hypr/hyprlock.conf b/dotfiles/dot_config/hypr/hyprlock.conf
new file mode 100644
index 0000000..392d8f9
--- /dev/null
+++ b/dotfiles/dot_config/hypr/hyprlock.conf
@@ -0,0 +1,53 @@
+general {
+ grace = 1
+ hide_cursor = true
+}
+
+background {
+ color = rgb(0,0,0)
+}
+
+input-field {
+ monitor =
+ # size = 250, 60
+ outline_thickness = 2
+ dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
+ dots_spacing = 0.35 # Scale of dots' absolute size, 0.0 - 1.0
+ dots_center = true
+ outer_color = rgba(0, 0, 0, 0)
+ inner_color = rgba(225, 225, 225, 0.25)
+ font_color = rgb(0,0,0)
+ fade_on_empty = false
+ rounding = -1
+ check_color = rgb(204, 136, 34)
+ placeholder_text = hm ...
+ hide_input = false
+ position = 0, 0
+ halign = center
+ valign = center
+ font_family = JetBrains Mono
+}
+
+# DATE
+label {
+ monitor =
+ text = cmd[update:1000] echo "$(date +"%A, %B %d")"
+ color = rgba(242, 243, 244, 0.75)
+ font_size = 32
+ font_family = JetBrains Mono
+ position = 0, 300
+ halign = center
+ valign = center
+}
+
+# TIME
+label {
+ monitor =
+ text = cmd[update:1000] echo "$(date +"%-I:%M")"
+ color = rgba(242, 243, 244, 0.75)
+ font_size = 32
+ font_family = JetBrains Mono Extrabold
+ position = 0, 200
+ halign = center
+ valign = center
+}
diff --git a/dotfiles/dot_config/mako/config b/dotfiles/dot_config/mako/config
new file mode 100644
index 0000000..1194618
--- /dev/null
+++ b/dotfiles/dot_config/mako/config
@@ -0,0 +1,25 @@
+max-visible=5
+sort=-time
+
+layer=top
+anchor=top-right
+
+font=JetbrainsMono-Light 12
+background-color=#111111
+text-color=#eeeeee
+width=300
+height=100
+margin=24
+padding=16
+border-size=2
+border-color=#eeeeee
+border-radius=6
+progress-color=over #5588AAFF
+icons=true
+max-icon-size=64
+
+markup=true
+actions=true
+format=%s\n%b
+default-timeout=5000
+ignore-timeout=false
diff --git a/dotfiles/dot_config/niri/config.kdl b/dotfiles/dot_config/niri/config.kdl
index 41a52b1..93042ef 100644
--- a/dotfiles/dot_config/niri/config.kdl
+++ b/dotfiles/dot_config/niri/config.kdl
@@ -53,10 +53,6 @@ environment {
MOZ_ENABLE_WAYLAND "1"
}
-/-switch-events {
- lid-close { spawn "swaylock"; }
-}
-
cursor {
xcursor-theme "Bibata-Modern-Classic"
xcursor-size 24
@@ -99,10 +95,11 @@ spawn-at-startup "maestral_qt"
spawn-at-startup "xwayland-satellite" ":0"
spawn-at-startup "clipse" "-listen"
spawn-at-startup "waybar"
-spawn-at-startup "eww" "daemon"
+// spawn-at-startup "eww" "daemon"
spawn-at-startup "swayosd-server"
-spawn-at-startup "bitwarden"
spawn-at-startup "plexamp"
+// spawn-at-startup "shikane"
+spawn-at-startup "hypridle"
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
@@ -110,6 +107,12 @@ animations {
slowdown 1.0
}
+// global window rule for shared config
+window-rule {
+ geometry-corner-radius 8
+ clip-to-geometry true
+}
+
window-rule {
match app-id="Calculator"
match app-id="Color Picker"
@@ -138,29 +141,19 @@ window-rule {
open-floating true
}
-window-rule {
- geometry-corner-radius 8
- clip-to-geometry true
-}
-
-/-window-rule {
- match is-active=false
- opacity 0.75
-}
-
binds {
// shows a list of important hotkeys.
Mod+Shift+Slash { show-hotkey-overlay; }
// Suggested binds for running programs: terminal, app launcher, screen locker.
- Mod+T { spawn "wezterm"; }
- Mod+E { spawn "emacsclient" "-r" "-n"; }
- Mod+B { spawn "firefox"; }
- //Mod+Space { spawn "fuzzel"; }
Mod+Space { spawn "wezterm" "--config-file" "/home/emenel/.config/wezterm/launcher.lua" "start" "--class" "launcher" "--always-new-process" "sway-launcher-desktop"; }
+ Mod+Ctrl+T { spawn "wezterm"; }
+ Mod+Ctrl+E { spawn "emacsclient" "-r" "-n"; }
+ Mod+Ctrl+B { spawn "firefox"; }
Mod+Ctrl+V { spawn "wezterm" "--config-file" "/home/emenel/.config/wezterm/launcher.lua" "start" "--class" "launcher" "--always-new-process" "clipse"; }
Mod+Ctrl+F { spawn "wezterm" "--config-file" "/home/emenel/.config/wezterm/launcher.lua" "start" "--always-new-process" "yazi"; }
- Super+Shift+L { spawn "swaylock"; }
+
+ Super+Shift+L { spawn "hyprlock"; }
// Example volume keys mappings for PipeWire & WirePlumber.
// The allow-when-locked=true property makes them work even when the session is locked.
@@ -321,8 +314,8 @@ binds {
Mod+Shift+Equal { set-window-height "+10%"; }
// Move the focused window between the floating and the tiling layout.
- Mod+Ctrl+X { toggle-window-floating; }
- // Mod+Shift+X { switch-focus-between-floating-and-tiling; }
+ Mod+Ctrl+X { toggle-window-floating; }
+ Mod+Alt+X { switch-focus-between-floating-and-tiling; }
Mod+X { focus-workspace "scratchpad"; }
// Actions to switch layouts.
diff --git a/dotfiles/dot_config/shikane/config.toml b/dotfiles/dot_config/shikane/config.toml
new file mode 100644
index 0000000..63b6a94
--- /dev/null
+++ b/dotfiles/dot_config/shikane/config.toml
@@ -0,0 +1,67 @@
+[[profile]]
+name = "desk-dual"
+exec = ["notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\""]
+ [[profile.output]]
+ enable = true
+ search = ["m=TL140ADXP04-0", "s=", "v=Thermotrex Corporation"]
+ mode = "2560x1600@240Hz"
+ position = "3840,0"
+ scale = 1.0
+ transform = "normal"
+ adaptive_sync = false
+
+ [[profile.output]]
+ enable = true
+ search = ["m=BenQ PD2725U", "s=N2N00414019", "v=PNP(BNQ)"]
+ mode = "3840x2160@59.997Hz"
+ position = "0,0"
+ scale = 1.0
+ transform = "normal"
+ adaptive_sync = false
+
+
+[[profile]]
+name = "desk-clam"
+exec = ["notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\""]
+ [[profile.output]]
+ enable = false
+ search = ["m=TL140ADXP04-0", "s=", "v=Thermotrex Corporation"]
+
+ [[profile.output]]
+ enable = true
+ search = ["m=BenQ PD2725U", "s=N2N00414019", "v=PNP(BNQ)"]
+ mode = "3840x2160@59.997Hz"
+ position = "0,0"
+ scale = 1.0
+ transform = "normal"
+ adaptive_sync = false
+
+
+[[profile]]
+name = "laptop"
+exec = ["notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\""]
+ [[profile.output]]
+ enable = true
+ search = ["m=TL140ADXP04-0", "s=", "v=Thermotrex Corporation"]
+ mode = "2560x1600@240Hz"
+ position = "0,0"
+ scale = 1.0
+ transform = "normal"
+ adaptive_sync = false
+
+
+[[profile]]
+name = "laptop-misc"
+exec = ["notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\""]
+ [[profile.output]]
+ enable = true
+ search = ["m=TL140ADXP04-0", "s=", "v=Thermotrex Corporation"]
+ mode = "2560x1600@240Hz"
+ position = "3840,0"
+ scale = 1.0
+ transform = "normal"
+ adaptive_sync = false
+
+ [[profile.output]]
+ enable = true
+ match = "/.*/"
diff --git a/dotfiles/dot_config/sway-launcher-desktop/files.conf b/dotfiles/dot_config/sway-launcher-desktop/files.conf
new file mode 100644
index 0000000..af395b0
--- /dev/null
+++ b/dotfiles/dot_config/sway-launcher-desktop/files.conf
@@ -0,0 +1,5 @@
+[files-provider]
+list_cmd=
+preview_cmd=
+launch_cmd=
+purge_cmd=
diff --git a/dotfiles/dot_config/tree-sitter/config.json b/dotfiles/dot_config/tree-sitter/config.json
new file mode 100644
index 0000000..e7a5df1
--- /dev/null
+++ b/dotfiles/dot_config/tree-sitter/config.json
@@ -0,0 +1,59 @@
+{
+ "parser-directories": [
+ "/home/emenel/github",
+ "/home/emenel/src",
+ "/home/emenel/source",
+ "/home/emenel/projects",
+ "/home/emenel/dev",
+ "/home/emenel/git"
+ ],
+ "theme": {
+ "attribute": {
+ "italic": true,
+ "color": 124
+ },
+ "number": {
+ "bold": true,
+ "color": 94
+ },
+ "constant.builtin": {
+ "color": 94,
+ "bold": true
+ },
+ "type": 23,
+ "function.builtin": {
+ "color": 26,
+ "bold": true
+ },
+ "keyword": 56,
+ "embedded": null,
+ "constructor": 136,
+ "variable.builtin": {
+ "bold": true
+ },
+ "operator": {
+ "bold": true,
+ "color": 239
+ },
+ "constant": 94,
+ "punctuation.delimiter": 239,
+ "comment": {
+ "color": 245,
+ "italic": true
+ },
+ "tag": 18,
+ "string": 28,
+ "type.builtin": {
+ "color": 23,
+ "bold": true
+ },
+ "module": 136,
+ "string.special": 30,
+ "property": 124,
+ "function": 26,
+ "punctuation.bracket": 239,
+ "variable.parameter": {
+ "underline": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/dotfiles/dot_config/waybar/config b/dotfiles/dot_config/waybar/config
index ecef951..1f320b5 100644
--- a/dotfiles/dot_config/waybar/config
+++ b/dotfiles/dot_config/waybar/config
@@ -2,13 +2,10 @@
"modules-left": [
"clock",
"niri/workspaces",
- "wlr/taskbar",
"mpris"
],
- "modules-center": [
- "niri/window"
- ],
"modules-right": [
+ "wlr/taskbar",
"tray",
"cpu",
"memory",
@@ -45,7 +42,7 @@
"format-ethernet": "{ifname} ο",
"format-disconnected": "ο",
"max-length": 50,
- "on-click": "wezterm -e 'nmtui'"
+ "on-click": "wezterm --config-file /home/emenel/.config/wezterm/launcher.lua start --class launcher --always-new-process nmtui",
},
"tray": {
"icon-size": 20,
diff --git a/dotfiles/dot_config/waybar/style.css b/dotfiles/dot_config/waybar/style.css
index 7e29e33..e1da559 100644
--- a/dotfiles/dot_config/waybar/style.css
+++ b/dotfiles/dot_config/waybar/style.css
@@ -41,12 +41,14 @@ window#waybar {
#wireplumber,
#disk,
#memory,
-#backlight,
+#taskbar
#cpu,
#temperature,
#custom-weather,
#idle_inhibitor,
#jack,
+#upower,
+#power-profiles-daemon
#tray,
#window,
#workspaces,
@@ -54,12 +56,20 @@ window#waybar {
padding: 0 20px;
}
+#power-profiles-daemon {
+ min-width: 40px;
+}
+
#temperature.critical,
#pulseaudio.muted {
color: #FF0000;
padding-top: 0;
}
+#cpu {
+ padding-right: 30px;
+}
+
#clock{
color: #d8bfff;
}
@@ -101,6 +111,10 @@ window#waybar {
color: #ccc;
}
+#taskbar, #tray {
+ padding-right: 30px;
+}
+
#taskbar button.active {
background: #333;
}
diff --git a/dotfiles/dot_config/wezterm/launcher.lua b/dotfiles/dot_config/wezterm/launcher.lua
index edc887b..0b53ccd 100644
--- a/dotfiles/dot_config/wezterm/launcher.lua
+++ b/dotfiles/dot_config/wezterm/launcher.lua
@@ -4,7 +4,6 @@ local act = wezterm.action
local io = require 'io'
local os = require 'os'
-
config.enable_wayland = false;
-- config.front_end = "WebGpu";
@@ -42,10 +41,10 @@ config.background = {
config.window_decorations = "RESIZE"
config.window_padding = {
- left = 12,
- right = 12,
- top = 6,
- bottom = 6,
+ left = 4,
+ right = 4,
+ top = 4,
+ bottom = 4,
}
config.cursor_thickness = 2
@@ -54,67 +53,4 @@ config.enable_tab_bar = false;
config.enable_kitty_keyboard = true
-config.unzoom_on_switch_pane = true
-
-config.keys = {
- {
- key = 'Enter',
- mods = 'CTRL',
- action = act.SplitVertical { domain = 'CurrentPaneDomain' },
- },
- {
- key = 'Enter',
- mods = 'CTRL|SHIFT',
- action = act.SplitHorizontal { domain = 'CurrentPaneDomain' },
- },
- {
- key = 'w',
- mods = 'CTRL',
- action = wezterm.action.CloseCurrentTab { confirm = true },
- },
- {
- key = 'w',
- mods = 'CTRL|SHIFT',
- action = act.DetachDomain 'CurrentPaneDomain',
- },
- {
- key = 'k',
- mods = 'CTRL|SHIFT',
- action = act.Multiple {
- act.ClearScrollback 'ScrollbackAndViewport',
- act.SendKey { key = 'L', mods = 'CTRL' },
- },
- },
- {
- key = 'z',
- mods = 'CTRL|META',
- action = wezterm.action.TogglePaneZoomState,
- },
- {
- key = 'E',
- mods = 'CTRL',
- action = act.EmitEvent 'trigger-emacs-with-scrollback',
- },
- {
- key = 'o',
- mods = 'CTRL',
- action = wezterm.action.ShowLauncher
- },
-
- { key="Backspace", mods="CTRL", action=act.SendKey { key="Backspace", mods="META" } },
-
- { key='t', mods='CTRL', action=act { SpawnCommandInNewTab = { cwd = wezterm.home_dir } } },
-
- { key="LeftArrow", mods="CTRL|META", action=act.ActivateTabRelative(-1) },
- { key="RightArrow", mods="CTRL|META", action=act.ActivateTabRelative(1) },
-
- { key="UpArrow", mods="CTRL|META", action=act.ActivatePaneDirection("Prev") },
- { key="DownArrow", mods="CTRL|META", action=act.ActivatePaneDirection("Next") },
-
- { key='h', mods='CTRL|META', action=wezterm.action{ActivatePaneDirection="Left"} },
- { key='l', mods='CTRL|META', action=wezterm.action{ActivatePaneDirection="Right"} },
- { key='j', mods='CTRL|META', action=wezterm.action{ActivatePaneDirection="Up"} },
- { key='k', mods='CTRL|META', action=wezterm.action{ActivatePaneDirection="Down"} },
-}
-
return config
diff --git a/dotfiles/dot_config/yazi/flavors/monokai-vibrant.yazi/LICENSE b/dotfiles/dot_config/yazi/flavors/monokai-vibrant.yazi/LICENSE
new file mode 100644
index 0000000..690fc9a
--- /dev/null
+++ b/dotfiles/dot_config/yazi/flavors/monokai-vibrant.yazi/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2024 Lukas Manera
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/dotfiles/dot_config/yazi/flavors/monokai-vibrant.yazi/LICENSE-tmtheme b/dotfiles/dot_config/yazi/flavors/monokai-vibrant.yazi/LICENSE-tmtheme
new file mode 100644
index 0000000..690fc9a
--- /dev/null
+++ b/dotfiles/dot_config/yazi/flavors/monokai-vibrant.yazi/LICENSE-tmtheme
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2024 Lukas Manera
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/dotfiles/dot_config/yazi/flavors/monokai-vibrant.yazi/README.md b/dotfiles/dot_config/yazi/flavors/monokai-vibrant.yazi/README.md
new file mode 100644
index 0000000..6af5039
--- /dev/null
+++ b/dotfiles/dot_config/yazi/flavors/monokai-vibrant.yazi/README.md
@@ -0,0 +1,40 @@
+
+

+
+
+
+ Flavor for Yazi
+
+
+## Monokai Vibrant
+I like Monokai. I like Monokai with vibrant colors and minimal styling even more. Borders are only slightly visible. Kept a lot of things plain white to counteract the colorfulness.
+
+## Theme
+Monokai Vibrant Theme based on jonotansberg "tweaked Monokai Dark Soda" .tmTheme. https://github.com/jonatansberg/Monokai-Dark-Soda.tmTheme
+
+## π Preview
+
+
+
+## π¨ Installation
+
+
+
+```bash
+ya pack -a sanjinso/monokai-vibrant
+```
+
+## βοΈ Usage
+
+Add the these lines to your `theme.toml` configuration file to use it:
+
+```toml
+[flavor]
+use = "monokai-vibrant"
+```
+
+## π License
+
+The flavor is MIT-licensed, and the included tmTheme is also MIT-licensed.
+
+Check the [LICENSE](LICENSE) and [LICENSE-tmtheme](LICENSE-tmtheme) file for more details.
diff --git a/dotfiles/dot_config/yazi/flavors/monokai-vibrant.yazi/flavor.toml b/dotfiles/dot_config/yazi/flavors/monokai-vibrant.yazi/flavor.toml
new file mode 100644
index 0000000..8caa496
--- /dev/null
+++ b/dotfiles/dot_config/yazi/flavors/monokai-vibrant.yazi/flavor.toml
@@ -0,0 +1,95 @@
+
+#E373CE
+#FFD945
+#FF9700
+#81F900
+#FF3F4F
+#19D1E5
+#528bff
+
+[manager]
+cwd = { fg = "white" }
+
+hovered = { reversed = true }
+preview_hovered = { reversed = true }
+
+tab_active = { reversed = true }
+tab_inactive = {}
+tab_width = 1
+
+# default bg
+count_copied = { fg = "#1f1f28", bg = "#81F900" }
+count_cut = { fg = "#1f1f28", bg = "#FF3F4F" }
+count_selected = { fg = "#1f1f28", bg = "#FFD945" }
+
+# Find
+find_keyword = { bg = "white", fg = "#FF3F4F", bold = true, italic = false, underline = false }
+
+# Border
+border_symbol = "β"
+border_style = { bg = "#292B30", fg = "#333341" }
+
+[which]
+cols = 2
+separator = " | "
+separator_style = { fg = "#292B30" }
+mask = { bg = "#16161d" } # dark bg
+rest = { fg = "#727169" } # darkgrey
+cand = { fg = "white" }
+desc = { fg = "#565666" }
+
+[status]
+separator_open = ""
+separator_close = ""
+separator_style = { fg = "reset", bg = "#363646" }
+
+# default bg
+mode_normal = { fg = "#1f1f28", bg = "white", bold = true }
+mode_select = { fg = "#1f1f28", bg = "#FF3F4F", bold = true }
+mode_unset = { fg = "#1f1f28", bg = "#FFD945", bold = true }
+
+progress_label = { fg = "#19D1E5", bg = "#363646", bold = true }
+progress_normal = { fg = "#363646", bg = "#1f1f28" }
+progress_error = { fg = "#363646", bg = "#1f1f28" }
+
+permissions_t = { fg = "#81F900" }
+permissions_r = { fg = "#FFD945" }
+permissions_w = { fg = "#FF3F4F" }
+permissions_x = { fg = "#FF9700" }
+permissions_s = { fg = "#19D1E5" }
+
+[input]
+border = { fg = "#7fb4ca" } # blue
+title = {}
+value = {}
+selected = { reversed = true }
+
+[completion]
+border = { fg = "#7fb4ca" } # blue
+active = { reversed = true }
+inactive = {}
+
+[tasks]
+border = { fg = "#7fb4ca" } # blue
+title = {}
+hovered = { fg = "#938aa9" } # magenta
+
+[help]
+on = { fg = "#7aa89f" } # cyan
+run = { fg = "#938aa9" } # magenta
+desc = {}
+hovered = { reversed = true, bold = true }
+footer = { fg = "#090618", bg = "#dcd7ba" } # white
+
+# files
+[filetype]
+rules = [
+ { mime = "image/*", fg = "#FFD945" },
+ { mime = "{audio,video}/*", fg = "#81F900" },
+ { mime = "application/{,g}zip", fg = "#FF3F4F" },
+ { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "#FF3F4F" },
+ { mime = "application/{pdf,doc,rtf,vnd.*}", fg = "#0D96DE" },
+ { name = "*", is = "orphan", fg = "#FF3F4F" },
+ { name = "*", is = "exec", fg = "#81F900" },
+ { name = "*/", fg = "#19D1E5"}
+]
diff --git a/dotfiles/dot_config/yazi/flavors/monokai-vibrant.yazi/preview.png b/dotfiles/dot_config/yazi/flavors/monokai-vibrant.yazi/preview.png
new file mode 100644
index 0000000..e3f7040
Binary files /dev/null and b/dotfiles/dot_config/yazi/flavors/monokai-vibrant.yazi/preview.png differ
diff --git a/dotfiles/dot_config/yazi/flavors/monokai-vibrant.yazi/tmtheme.xml b/dotfiles/dot_config/yazi/flavors/monokai-vibrant.yazi/tmtheme.xml
new file mode 100644
index 0000000..d569301
--- /dev/null
+++ b/dotfiles/dot_config/yazi/flavors/monokai-vibrant.yazi/tmtheme.xml
@@ -0,0 +1,675 @@
+
+
+
+
+ name
+ Monokai Dark
+ settings
+
+
+ settings
+
+ background
+ #242424
+ caret
+ #F8F8F0
+ foreground
+ #F8F8F2
+ invisibles
+ #3B3A32
+ lineHighlight
+ #3D3D3D55
+ selection
+ #403d3d
+
+
+
+ name
+ Comment
+ scope
+ comment
+ settings
+
+ foreground
+ #5C6370
+
+
+
+ name
+ String
+ scope
+ string
+ settings
+
+ foreground
+ #FFD945
+
+
+
+ name
+ Number
+ scope
+ constant.numeric
+ settings
+
+ foreground
+ #E373CE
+
+
+
+ name
+ Built-in constant
+ scope
+ constant.language
+ settings
+
+ foreground
+ #E373CE
+
+
+
+ name
+ User-defined constant
+ scope
+ constant.character, constant.other
+ settings
+
+ foreground
+ #E373CE
+
+
+
+ name
+ Variable
+ scope
+ variable
+ settings
+
+ fontStyle
+
+
+
+
+ name
+ Keyword
+ scope
+ keyword
+ settings
+
+ foreground
+ #FF3F4F
+
+
+
+ name
+ Storage
+ scope
+ storage
+ settings
+
+ fontStyle
+
+ foreground
+ #FF3F4F
+
+
+
+ name
+ Storage type
+ scope
+ storage.type
+ settings
+
+ fontStyle
+ italic
+ foreground
+ #19D1E5
+
+
+
+ name
+ Class name
+ scope
+ entity.name.class
+ settings
+
+ fontStyle
+ underline
+ foreground
+ #81F900
+
+
+
+ name
+ Inherited class
+ scope
+ entity.other.inherited-class
+ settings
+
+ fontStyle
+ italic underline
+ foreground
+ #81F900
+
+
+
+ name
+ Function name
+ scope
+ entity.name.function
+ settings
+
+ fontStyle
+
+ foreground
+ #81F900
+
+
+
+ name
+ Function argument
+ scope
+ variable.parameter
+ settings
+
+ fontStyle
+ italic
+ foreground
+ #FF9700
+
+
+
+ name
+ Tag name
+ scope
+ entity.name.tag
+ settings
+
+ fontStyle
+
+ foreground
+ #FF3F4F
+
+
+
+ name
+ Tag attribute
+ scope
+ entity.other.attribute-name
+ settings
+
+ fontStyle
+
+ foreground
+ #81F900
+
+
+
+ name
+ Library function
+ scope
+ support.function
+ settings
+
+ fontStyle
+
+ foreground
+ #19D1E5
+
+
+
+ name
+ Library constant
+ scope
+ support.constant
+ settings
+
+ fontStyle
+
+ foreground
+ #19D1E5
+
+
+
+ name
+ Library class/type
+ scope
+ support.type, support.class
+ settings
+
+ fontStyle
+ italic
+ foreground
+ #19D1E5
+
+
+
+ name
+ Library variable
+ scope
+ support.other.variable
+ settings
+
+ fontStyle
+
+
+
+
+ name
+ PHP Namespaces
+ scope
+ support.other.namespace, entity.name.type.namespace
+ settings
+
+ foreground
+ #E373CE
+
+
+
+ name
+ PHP Namespace Alias
+ scope
+ support.other.namespace.use-as.php
+ settings
+
+ foreground
+ #19D1E5
+
+
+
+ name
+ PHP Namespace Keyword
+ scope
+ variable.language.namespace.php
+ settings
+
+ foreground
+ #D66990
+
+
+
+ name
+ PHP Namespace Separator
+ scope
+ punctuation.separator.inheritance.php
+ settings
+
+ foreground
+ #FF3F4F
+
+
+
+ name
+ CSS Functions / Property Values
+ scope
+ support.function.misc.css, support.constant.property-value.css, support.constant.font-name.css
+ settings
+
+ foreground
+ #FFD945
+
+
+
+ name
+ Twig Tagbraces
+ scope
+ meta.tag.template.value.twig, meta.tag.template.block.twig
+ settings
+
+ foreground
+ #CD5AC5
+
+
+
+ name
+ Twig Keywords
+ scope
+ keyword.control.twig
+ settings
+
+ foreground
+ #E05D8C
+
+
+
+ name
+ Twig Objects
+ scope
+ variable.other.twig
+ settings
+
+ foreground
+ #E5A5E0
+
+
+
+ name
+ Twig Object Properties
+ scope
+ variable.other.property.twig
+ settings
+
+ foreground
+ #FFE1FC
+
+
+
+ name
+ Twig Language Constants
+ scope
+ constant.language.twig
+ settings
+
+ foreground
+ #FFD945
+
+
+
+ name
+ Twig Numerical Constants
+ scope
+ constant.numeric.twig
+ settings
+
+ foreground
+ #FFD0FB
+
+
+
+ name
+ Twig Filters
+ scope
+ support.function.twig
+ settings
+
+ foreground
+ #90E7F7
+
+
+
+ name
+ Twig User-Defined Filters
+ scope
+ meta.function-call.other.twig
+ settings
+
+ foreground
+ #FF9700
+
+
+
+ name
+ Twig Macros
+ scope
+ meta.function-call.twig
+ settings
+
+ foreground
+ #FF9700
+
+
+
+ name
+ Invalid
+ scope
+ invalid
+ settings
+
+ background
+ #FF3F4F
+ fontStyle
+
+ foreground
+ #F8F8F0
+
+
+
+ name
+ Invalid deprecated
+ scope
+ invalid.deprecated
+ settings
+
+ background
+ #E373CE
+ foreground
+ #F8F8F0
+
+
+
+ name
+ Embedded Source
+ scope
+ text source
+ settings
+
+ background
+ #3D3D3D55
+
+
+
+ name
+ diff: header
+ scope
+ meta.diff, meta.diff.header
+ settings
+
+ fontStyle
+ bold
+ foreground
+ #E0EDDD
+
+
+
+ name
+ diff: deleted
+ scope
+ markup.deleted
+ settings
+
+ fontStyle
+
+ foreground
+ #D3201F
+
+
+
+ name
+ diff: changed
+ scope
+ markup.changed
+ settings
+
+ fontStyle
+
+ foreground
+ #BF3904
+
+
+
+ name
+ diff: inserted
+ scope
+ markup.inserted
+ settings
+
+ foreground
+ #81F900
+
+
+
+ name
+ diff: range
+ scope
+ meta.diff, meta.diff.range
+ settings
+
+ foreground
+ #3bc0f0
+
+
+
+ name
+ Markdown: Headings
+ scope
+ markup.heading.markdown, markup.heading.1.markdown, markup.heading.2.markdown
+ settings
+
+ foreground
+ #81F900
+
+
+
+ name
+ Markdown: Bold
+ scope
+ markup.bold.markdown
+ settings
+
+ fontStyle
+ bold
+ foreground
+ #F8F8F2
+
+
+
+ name
+ Markdown: Italic
+ scope
+ markup.italic.markdown
+ settings
+
+ fontStyle
+ italic
+ foreground
+ #F8F8F2
+
+
+
+ name
+ Markdown: Punctuation for Bold, Italic, and Inline Block
+ scope
+ punctuation.definition.bold.markdown, punctuation.definition.italic.markdown, punctuation.definition.raw.markdown
+ settings
+
+ foreground
+ #D3201F
+
+
+
+ name
+ Markdown: Bulleted List
+ scope
+ markup.list.unnumbered.markdown
+ settings
+
+ foreground
+ #E373CE
+
+
+
+ name
+ Markdown: Numbered List
+ scope
+ markup.list.numbered.markdown
+ settings
+
+ foreground
+ #E373CE
+
+
+
+ name
+ Markdown: Block and Inline Block
+ scope
+ markup.raw.block.markdown, markup.raw.inline.markdown
+ settings
+
+ foreground
+ #FFD945
+
+
+
+ name
+ Markdown: Quote Block and Punctuation
+ scope
+ markup.quote.markdown, punctuation.definition.blockquote.markdown
+ settings
+
+ foreground
+ #00A0E4
+
+
+
+ name
+ Markdown: Seperator
+ scope
+ meta.separator.markdown
+ settings
+
+ foreground
+ #E373CE
+
+
+
+ name
+ Markdown: Link and Reference URL
+ scope
+ meta.image.inline.markdown, markup.underline.link.markdown
+ settings
+
+ fontStyle
+ italic
+ foreground
+ #5C6370
+
+
+
+ name
+ Markdown: Link Title, Image Description
+ scope
+ string.other.link.title.markdown, string.other.link.description.markdown
+ settings
+
+ foreground
+ #81F900
+
+
+
+ name
+ Markdown: Angle Brakets on Link and Image
+ scope
+ punctuation.definition.link.markdown
+ settings
+
+ foreground
+ #5C6370
+
+
+
+ name
+ Markdown: Parens on Link and Image
+ scope
+ punctuation.definition.metadata.markdown
+ settings
+
+ foreground
+ #5C6370
+
+
+
+ name
+ Markdown: Square Brakets on Link, Image, and Reference
+ scope
+ punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.constant.markdown
+ settings
+
+ foreground
+ #5C6370
+
+
+
+ uuid
+ 255F0694-0C8C-93E3-114A-EBBCF44F5573
+
+
\ No newline at end of file
diff --git a/dotfiles/dot_config/yazi/init.lua b/dotfiles/dot_config/yazi/init.lua
new file mode 100644
index 0000000..4102d2c
--- /dev/null
+++ b/dotfiles/dot_config/yazi/init.lua
@@ -0,0 +1,22 @@
+Status:children_add(function(self)
+ local h = self._current.hovered
+ if h and h.link_to then
+ return " -> " .. tostring(h.link_to)
+ else
+ return ""
+ end
+end, 3300, Status.LEFT)
+
+Status:children_add(function()
+ local h = cx.active.current.hovered
+ if h == nil or ya.target_family() ~= "unix" then
+ return ""
+ end
+
+ return ui.Line {
+ ui.Span(ya.user_name(h.cha.uid) or tostring(h.cha.uid)):fg("magenta"),
+ ":",
+ ui.Span(ya.group_name(h.cha.gid) or tostring(h.cha.gid)):fg("magenta"),
+ " ",
+ }
+end, 500, Status.RIGHT)
diff --git a/dotfiles/dot_config/yazi/keymap.toml b/dotfiles/dot_config/yazi/keymap.toml
new file mode 100644
index 0000000..d21cdbb
--- /dev/null
+++ b/dotfiles/dot_config/yazi/keymap.toml
@@ -0,0 +1,6 @@
+[manager]
+prepend_keymap = [
+ { on = "", run = "shell 'ripdrag \"$@\" -x 2>/dev/null &' --confirm" },
+ { on = "y", run = ["shell 'for path in \"$@\"; do echo \"file://$path\"; done | wl-copy -t text/uri-list'\n", "yank"] },
+ { on = ["g", "r"], run = "shell 'ya emit cd \"$(git rev-parse --show-toplevel)\"'\n" }
+]
diff --git a/dotfiles/dot_config/yazi/theme.toml b/dotfiles/dot_config/yazi/theme.toml
new file mode 100644
index 0000000..5eec05f
--- /dev/null
+++ b/dotfiles/dot_config/yazi/theme.toml
@@ -0,0 +1,6 @@
+[flavor]
+dark = "monokai-vibrant"
+light = "monokai-vibrant"
+
+[manager]
+hovered = { bg = "#cccccc", fg = "#000000" }
diff --git a/dotfiles/dot_config/yazi/yazi.toml b/dotfiles/dot_config/yazi/yazi.toml
new file mode 100644
index 0000000..e69de29
diff --git a/flake.lock b/flake.lock
index a07a4ea..b813370 100644
--- a/flake.lock
+++ b/flake.lock
@@ -23,6 +23,93 @@
"type": "github"
}
},
+ "base16": {
+ "inputs": {
+ "fromYaml": "fromYaml"
+ },
+ "locked": {
+ "lastModified": 1732200724,
+ "narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
+ "owner": "SenchoPens",
+ "repo": "base16.nix",
+ "rev": "153d52373b0fb2d343592871009a286ec8837aec",
+ "type": "github"
+ },
+ "original": {
+ "owner": "SenchoPens",
+ "repo": "base16.nix",
+ "type": "github"
+ }
+ },
+ "base16-fish": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1622559957,
+ "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
+ "owner": "tomyun",
+ "repo": "base16-fish",
+ "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
+ "type": "github"
+ },
+ "original": {
+ "owner": "tomyun",
+ "repo": "base16-fish",
+ "type": "github"
+ }
+ },
+ "base16-helix": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1725860795,
+ "narHash": "sha256-Z2o8VBPW3I+KKTSfe25kskz0EUj7MpUh8u355Z1nVsU=",
+ "owner": "tinted-theming",
+ "repo": "base16-helix",
+ "rev": "7f795bf75d38e0eea9fed287264067ca187b88a9",
+ "type": "github"
+ },
+ "original": {
+ "owner": "tinted-theming",
+ "repo": "base16-helix",
+ "type": "github"
+ }
+ },
+ "base16-vim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1731949548,
+ "narHash": "sha256-XIDexXM66sSh5j/x70e054BnUsviibUShW7XhbDGhYo=",
+ "owner": "tinted-theming",
+ "repo": "base16-vim",
+ "rev": "61165b1632409bd55e530f3dbdd4477f011cadc6",
+ "type": "github"
+ },
+ "original": {
+ "owner": "tinted-theming",
+ "repo": "base16-vim",
+ "type": "github"
+ }
+ },
+ "crane": {
+ "inputs": {
+ "nixpkgs": [
+ "shikane",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1716745752,
+ "narHash": "sha256-8K1R9Yg4r08rYk86Yq+lu3E9L3uRUb4xMqYHgl0VGS0=",
+ "owner": "ipetkov",
+ "repo": "crane",
+ "rev": "19ca94ec2d288de334ae932107816b4a97736cd8",
+ "type": "github"
+ },
+ "original": {
+ "owner": "ipetkov",
+ "repo": "crane",
+ "type": "github"
+ }
+ },
"elemental-wine-source": {
"flake": false,
"locked": {
@@ -42,6 +129,44 @@
"type": "gitlab"
}
},
+ "fenix": {
+ "inputs": {
+ "nixpkgs": [
+ "shikane",
+ "nixpkgs"
+ ],
+ "rust-analyzer-src": "rust-analyzer-src"
+ },
+ "locked": {
+ "lastModified": 1716704729,
+ "narHash": "sha256-Yk0L1JdBTdC9ZtDreqcMMolOtTp0XnPjrACT8oTw2Wg=",
+ "owner": "nix-community",
+ "repo": "fenix",
+ "rev": "aaa27b4cf3729b6562cd4dd65ba24eeda3731002",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "fenix",
+ "type": "github"
+ }
+ },
+ "firefox-gnome-theme": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1734969791,
+ "narHash": "sha256-A9PxLienMYJ/WUvqFie9qXrNC2MeRRYw7TG/q7DRjZg=",
+ "owner": "rafaelmardojai",
+ "repo": "firefox-gnome-theme",
+ "rev": "92f4890bd150fc9d97b61b3583680c0524a8cafe",
+ "type": "github"
+ },
+ "original": {
+ "owner": "rafaelmardojai",
+ "repo": "firefox-gnome-theme",
+ "type": "github"
+ }
+ },
"flake-compat": {
"locked": {
"lastModified": 1733328505,
@@ -107,25 +232,7 @@
},
"flake-utils": {
"inputs": {
- "systems": "systems"
- },
- "locked": {
- "lastModified": 1705309234,
- "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
- "owner": "numtide",
- "repo": "flake-utils",
- "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
- "type": "github"
- },
- "original": {
- "owner": "numtide",
- "repo": "flake-utils",
- "type": "github"
- }
- },
- "flake-utils_2": {
- "inputs": {
- "systems": "systems_2"
+ "systems": "systems_4"
},
"locked": {
"lastModified": 1710146030,
@@ -141,9 +248,9 @@
"type": "github"
}
},
- "flake-utils_3": {
+ "flake-utils_2": {
"inputs": {
- "systems": "systems_4"
+ "systems": "systems_6"
},
"locked": {
"lastModified": 1710146030,
@@ -158,9 +265,30 @@
"type": "indirect"
}
},
+ "flake-utils_3": {
+ "inputs": {
+ "systems": "systems_7"
+ },
+ "locked": {
+ "lastModified": 1710146030,
+ "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
"flake-utils_4": {
"inputs": {
- "systems": "systems_5"
+ "systems": [
+ "stylix",
+ "systems"
+ ]
},
"locked": {
"lastModified": 1731533236,
@@ -178,7 +306,25 @@
},
"flake-utils_5": {
"inputs": {
- "systems": "systems_6"
+ "systems": "systems_9"
+ },
+ "locked": {
+ "lastModified": 1731533236,
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_6": {
+ "inputs": {
+ "systems": "systems_10"
},
"locked": {
"lastModified": 1731533236,
@@ -211,24 +357,50 @@
"type": "github"
}
},
- "ghostty": {
- "inputs": {
- "flake-compat": "flake-compat_3",
- "nixpkgs-stable": "nixpkgs-stable",
- "nixpkgs-unstable": "nixpkgs-unstable",
- "zig": "zig"
- },
+ "fromYaml": {
+ "flake": false,
"locked": {
- "lastModified": 1738275804,
- "narHash": "sha256-n9cSCLlWjc8Bc5QyZYLo5+c6MfTZjgDpUGx/FGxBiY8=",
- "owner": "ghostty-org",
- "repo": "ghostty",
- "rev": "c5508e7d1922842ecd3160ea73b97da1282168b3",
+ "lastModified": 1731966426,
+ "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
+ "owner": "SenchoPens",
+ "repo": "fromYaml",
+ "rev": "106af9e2f715e2d828df706c386a685698f3223b",
"type": "github"
},
"original": {
- "owner": "ghostty-org",
- "repo": "ghostty",
+ "owner": "SenchoPens",
+ "repo": "fromYaml",
+ "type": "github"
+ }
+ },
+ "git-hooks": {
+ "inputs": {
+ "flake-compat": [
+ "stylix",
+ "flake-compat"
+ ],
+ "gitignore": "gitignore_2",
+ "nixpkgs": [
+ "stylix",
+ "nixpkgs"
+ ],
+ "nixpkgs-stable": [
+ "stylix",
+ "git-hooks",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1731363552,
+ "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
"type": "github"
}
},
@@ -254,6 +426,45 @@
"type": "github"
}
},
+ "gitignore_2": {
+ "inputs": {
+ "nixpkgs": [
+ "stylix",
+ "git-hooks",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1709087332,
+ "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "type": "github"
+ }
+ },
+ "gnome-shell": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1732369855,
+ "narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=",
+ "owner": "GNOME",
+ "repo": "gnome-shell",
+ "rev": "dadd58f630eeea41d645ee225a63f719390829dc",
+ "type": "github"
+ },
+ "original": {
+ "owner": "GNOME",
+ "ref": "47.2",
+ "repo": "gnome-shell",
+ "type": "github"
+ }
+ },
"harfbuzz": {
"flake": false,
"locked": {
@@ -292,21 +503,338 @@
"type": "github"
}
},
- "home-manager-unstable": {
+ "hyprgraphics": {
"inputs": {
- "nixpkgs": "nixpkgs_2"
+ "hyprutils": [
+ "hyprlock",
+ "hyprutils"
+ ],
+ "nixpkgs": [
+ "hyprlock",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprlock",
+ "systems"
+ ]
},
"locked": {
- "lastModified": 1738378034,
- "narHash": "sha256-mldSa2NhDlnjqeSSFTNnkXIDrCLltpJfhrHUMBBKEiY=",
- "owner": "nix-community",
- "repo": "home-manager",
- "rev": "801ddd8693481866c2cfb1efd44ddbae778ea572",
+ "lastModified": 1737634889,
+ "narHash": "sha256-9JZE3KxcXOqZH9zs3UeadngDiK/yIACTiAR8HSA/TNI=",
+ "owner": "hyprwm",
+ "repo": "hyprgraphics",
+ "rev": "0d77b4895ad5f1bb3b0ee43103a5246c58b65591",
"type": "github"
},
"original": {
- "owner": "nix-community",
- "repo": "home-manager",
+ "owner": "hyprwm",
+ "repo": "hyprgraphics",
+ "type": "github"
+ }
+ },
+ "hypridle": {
+ "inputs": {
+ "hyprland-protocols": "hyprland-protocols",
+ "hyprlang": "hyprlang",
+ "hyprutils": "hyprutils",
+ "hyprwayland-scanner": "hyprwayland-scanner",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "systems": "systems"
+ },
+ "locked": {
+ "lastModified": 1737984253,
+ "narHash": "sha256-h4KWLijrHK7rugD2oV8JfVgloD+xPW1jCVT2B7K+bjQ=",
+ "owner": "hyprwm",
+ "repo": "hypridle",
+ "rev": "15ca902b2cb845a8a5378ec022c11a4a77155b83",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hypridle",
+ "type": "github"
+ }
+ },
+ "hyprland-protocols": {
+ "inputs": {
+ "nixpkgs": [
+ "hypridle",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hypridle",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1737556638,
+ "narHash": "sha256-laKgI3mr2qz6tas/q3tuGPxMdsGhBi/w+HO+hO2f1AY=",
+ "owner": "hyprwm",
+ "repo": "hyprland-protocols",
+ "rev": "4c75dd5c015c8a0e5a34c6d02a018a650f57feb5",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprland-protocols",
+ "type": "github"
+ }
+ },
+ "hyprlang": {
+ "inputs": {
+ "hyprutils": [
+ "hypridle",
+ "hyprutils"
+ ],
+ "nixpkgs": [
+ "hypridle",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hypridle",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1737634606,
+ "narHash": "sha256-W7W87Cv6wqZ9PHegI6rH1+ve3zJPiyevMFf0/HwdbCQ=",
+ "owner": "hyprwm",
+ "repo": "hyprlang",
+ "rev": "f41271d35cc0f370d300413d756c2677f386af9d",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprlang",
+ "type": "github"
+ }
+ },
+ "hyprlang_2": {
+ "inputs": {
+ "hyprutils": [
+ "hyprlock",
+ "hyprutils"
+ ],
+ "nixpkgs": [
+ "hyprlock",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprlock",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1737634606,
+ "narHash": "sha256-W7W87Cv6wqZ9PHegI6rH1+ve3zJPiyevMFf0/HwdbCQ=",
+ "owner": "hyprwm",
+ "repo": "hyprlang",
+ "rev": "f41271d35cc0f370d300413d756c2677f386af9d",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprlang",
+ "type": "github"
+ }
+ },
+ "hyprlock": {
+ "inputs": {
+ "hyprgraphics": "hyprgraphics",
+ "hyprlang": "hyprlang_2",
+ "hyprutils": "hyprutils_2",
+ "hyprwayland-scanner": "hyprwayland-scanner_2",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "systems": "systems_2"
+ },
+ "locked": {
+ "lastModified": 1738607315,
+ "narHash": "sha256-7oQZNdMzMGbnCNwUhNtjKo2iUVq8xKi4B5FdCgP217s=",
+ "owner": "hyprwm",
+ "repo": "hyprlock",
+ "rev": "465148ac21a0c79dd897258be814d5b00f434a5a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprlock",
+ "type": "github"
+ }
+ },
+ "hyprpicker": {
+ "inputs": {
+ "hyprutils": "hyprutils_3",
+ "hyprwayland-scanner": "hyprwayland-scanner_3",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "systems": "systems_3"
+ },
+ "locked": {
+ "lastModified": 1737635601,
+ "narHash": "sha256-/Jb/9HqC5Ou5JtsLHY2MJtj/c0aDG3kaeh4RLvc2X2U=",
+ "owner": "hyprwm",
+ "repo": "hyprpicker",
+ "rev": "c3777320b358bb28a0f2112441377fe452d77ea8",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprpicker",
+ "type": "github"
+ }
+ },
+ "hyprutils": {
+ "inputs": {
+ "nixpkgs": [
+ "hypridle",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hypridle",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1737632363,
+ "narHash": "sha256-X9I8POSlHxBVjD0fiX1O2j7U9Zi1+4rIkrsyHP0uHXY=",
+ "owner": "hyprwm",
+ "repo": "hyprutils",
+ "rev": "006620eb29d54ea9086538891404c78563d1bae1",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprutils",
+ "type": "github"
+ }
+ },
+ "hyprutils_2": {
+ "inputs": {
+ "nixpkgs": [
+ "hyprlock",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprlock",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1737978343,
+ "narHash": "sha256-TfFS0HCEJh63Kahrkp1h9hVDMdLU8a37Zz+IFucxyfA=",
+ "owner": "hyprwm",
+ "repo": "hyprutils",
+ "rev": "6a8bc9d2a4451df12f5179dc0b1d2d46518a90ab",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprutils",
+ "type": "github"
+ }
+ },
+ "hyprutils_3": {
+ "inputs": {
+ "nixpkgs": [
+ "hyprpicker",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprpicker",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1737632363,
+ "narHash": "sha256-X9I8POSlHxBVjD0fiX1O2j7U9Zi1+4rIkrsyHP0uHXY=",
+ "owner": "hyprwm",
+ "repo": "hyprutils",
+ "rev": "006620eb29d54ea9086538891404c78563d1bae1",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprutils",
+ "type": "github"
+ }
+ },
+ "hyprwayland-scanner": {
+ "inputs": {
+ "nixpkgs": [
+ "hypridle",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hypridle",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1735493474,
+ "narHash": "sha256-fktzv4NaqKm94VAkAoVqO/nqQlw+X0/tJJNAeCSfzK4=",
+ "owner": "hyprwm",
+ "repo": "hyprwayland-scanner",
+ "rev": "de913476b59ee88685fdc018e77b8f6637a2ae0b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprwayland-scanner",
+ "type": "github"
+ }
+ },
+ "hyprwayland-scanner_2": {
+ "inputs": {
+ "nixpkgs": [
+ "hyprlock",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprlock",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1735493474,
+ "narHash": "sha256-fktzv4NaqKm94VAkAoVqO/nqQlw+X0/tJJNAeCSfzK4=",
+ "owner": "hyprwm",
+ "repo": "hyprwayland-scanner",
+ "rev": "de913476b59ee88685fdc018e77b8f6637a2ae0b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprwayland-scanner",
+ "type": "github"
+ }
+ },
+ "hyprwayland-scanner_3": {
+ "inputs": {
+ "nixpkgs": [
+ "hyprpicker",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprpicker",
+ "systems"
+ ]
+ },
+ "locked": {
+ "lastModified": 1735493474,
+ "narHash": "sha256-fktzv4NaqKm94VAkAoVqO/nqQlw+X0/tJJNAeCSfzK4=",
+ "owner": "hyprwm",
+ "repo": "hyprwayland-scanner",
+ "rev": "de913476b59ee88685fdc018e77b8f6637a2ae0b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hyprwm",
+ "repo": "hyprwayland-scanner",
"type": "github"
}
},
@@ -320,15 +848,15 @@
"pyproject-build-systems": "pyproject-build-systems",
"pyproject-nix": "pyproject-nix",
"systemd-nix": "systemd-nix",
- "systems": "systems_3",
+ "systems": "systems_5",
"uv2nix": "uv2nix"
},
"locked": {
- "lastModified": 1738374517,
- "narHash": "sha256-SHQbbTJwU5cGbU+5Xws1ZGi36p44Rk4QggSr3cdSCj4=",
+ "lastModified": 1738568547,
+ "narHash": "sha256-Os/8eArlEtVbMve0a/leEW9NNIAtflk3AHPOtd/B0aU=",
"owner": "isd-project",
"repo": "isd",
- "rev": "81a03f70adf983390f0923cfa4b71d875c002f02",
+ "rev": "c3653055824eb9cdf9b1d0e1c239c434c2f62696",
"type": "github"
},
"original": {
@@ -337,6 +865,28 @@
"type": "github"
}
},
+ "kmonad": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "dir": "nix",
+ "lastModified": 1738565510,
+ "narHash": "sha256-xmr17yq6/wlcF/69GkRlKKkWAUC8ZjPeZMIuHdJnpfk=",
+ "owner": "kmonad",
+ "repo": "kmonad",
+ "rev": "7784e590405429f5105d9d038cbe13f887160805",
+ "type": "github"
+ },
+ "original": {
+ "dir": "nix",
+ "owner": "kmonad",
+ "repo": "kmonad",
+ "type": "github"
+ }
+ },
"libpng": {
"flake": false,
"locked": {
@@ -383,11 +933,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
- "lastModified": 1738348222,
- "narHash": "sha256-SsDS/GdQOZ4z8hWOlOQAgQMC1ColTgCbl2G4tFpzKY4=",
+ "lastModified": 1738579367,
+ "narHash": "sha256-820QsR/C9+Gyn3v65LHNwwW7KxSA6u6MQtky3SUrZ3A=",
"owner": "YaLTeR",
"repo": "niri",
- "rev": "a0e2a15c60162e4f0a589fb5f0ce0899bce213b5",
+ "rev": "553b1ba85256e2cb290e8a67f709a14e603606bc",
"type": "github"
},
"original": {
@@ -398,9 +948,9 @@
},
"nix-appimage": {
"inputs": {
- "flake-compat": "flake-compat_4",
- "flake-utils": "flake-utils_2",
- "nixpkgs": "nixpkgs_3"
+ "flake-compat": "flake-compat_3",
+ "flake-utils": "flake-utils",
+ "nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1725758175,
@@ -463,11 +1013,11 @@
},
"nixos-hardware": {
"locked": {
- "lastModified": 1737751639,
- "narHash": "sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4=",
+ "lastModified": 1738471961,
+ "narHash": "sha256-cgXDFrplNGs7bCVzXhRofjD8oJYqqXGcmUzXjHmip6Y=",
"owner": "NixOS",
"repo": "nixos-hardware",
- "rev": "dfad538f751a5aa5d4436d9781ab27a6128ec9d4",
+ "rev": "537286c3c59b40311e5418a180b38034661d2536",
"type": "github"
},
"original": {
@@ -492,45 +1042,13 @@
"type": "github"
}
},
- "nixpkgs-stable": {
- "locked": {
- "lastModified": 1733423277,
- "narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=",
- "owner": "nixos",
- "repo": "nixpkgs",
- "rev": "e36963a147267afc055f7cf65225958633e536bf",
- "type": "github"
- },
- "original": {
- "owner": "nixos",
- "ref": "release-24.11",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
"nixpkgs-unstable": {
"locked": {
- "lastModified": 1733229606,
- "narHash": "sha256-FLYY5M0rpa5C2QAE3CKLYAM6TwbKicdRK6qNrSHlNrE=",
+ "lastModified": 1738410390,
+ "narHash": "sha256-xvTo0Aw0+veek7hvEVLzErmJyQkEcRk6PSR4zsRQFEc=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "566e53c2ad750c84f6d31f9ccb9d00f823165550",
- "type": "github"
- },
- "original": {
- "owner": "nixos",
- "ref": "nixpkgs-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs-unstable_2": {
- "locked": {
- "lastModified": 1738142207,
- "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=",
- "owner": "nixos",
- "repo": "nixpkgs",
- "rev": "9d3ae807ebd2981d593cddd0080856873139aa40",
+ "rev": "3a228057f5b619feb3186e986dbe76278d707b6e",
"type": "github"
},
"original": {
@@ -541,22 +1059,6 @@
}
},
"nixpkgs_2": {
- "locked": {
- "lastModified": 1737885589,
- "narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs_3": {
"locked": {
"lastModified": 1725103162,
"narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=",
@@ -572,13 +1074,13 @@
"type": "github"
}
},
- "nixpkgs_4": {
+ "nixpkgs_3": {
"locked": {
- "lastModified": 1738163270,
- "narHash": "sha256-B/7Y1v4y+msFFBW1JAdFjNvVthvNdJKiN6EGRPnqfno=",
+ "lastModified": 1738435198,
+ "narHash": "sha256-5+Hmo4nbqw8FrW85FlNm4IIrRnZ7bn0cmXlScNsNRLo=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "59e618d90c065f55ae48446f307e8c09565d5ab0",
+ "rev": "f6687779bf4c396250831aa5a32cbfeb85bb07a3",
"type": "github"
},
"original": {
@@ -590,7 +1092,7 @@
},
"paperwm": {
"inputs": {
- "flake-utils": "flake-utils_3",
+ "flake-utils": "flake-utils_2",
"nixpkgs": [
"nixpkgs"
]
@@ -682,22 +1184,43 @@
"root": {
"inputs": {
"affinity-nix": "affinity-nix",
- "ghostty": "ghostty",
"home-manager": "home-manager",
- "home-manager-unstable": "home-manager-unstable",
+ "hypridle": "hypridle",
+ "hyprlock": "hyprlock",
+ "hyprpicker": "hyprpicker",
"isd": "isd",
+ "kmonad": "kmonad",
"musnix": "musnix",
"niri": "niri",
"nix-flatpak": "nix-flatpak",
"nixos-hardware": "nixos-hardware",
- "nixpkgs": "nixpkgs_4",
- "nixpkgs-unstable": "nixpkgs-unstable_2",
+ "nixpkgs": "nixpkgs_3",
+ "nixpkgs-unstable": "nixpkgs-unstable",
"paperwm": "paperwm",
+ "shikane": "shikane",
"sops-nix": "sops-nix",
+ "stylix": "stylix",
"wezterm": "wezterm",
"yazi": "yazi"
}
},
+ "rust-analyzer-src": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1716572615,
+ "narHash": "sha256-mVUbarr4PNjERDk+uaoitPq7eL7De0ythZehezAzug8=",
+ "owner": "rust-lang",
+ "repo": "rust-analyzer",
+ "rev": "a55e8bf09cdfc25066b77823cc98976a51af8a8b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "rust-lang",
+ "ref": "nightly",
+ "repo": "rust-analyzer",
+ "type": "github"
+ }
+ },
"rust-overlay": {
"inputs": {
"nixpkgs": [
@@ -761,6 +1284,29 @@
"type": "github"
}
},
+ "shikane": {
+ "inputs": {
+ "crane": "crane",
+ "fenix": "fenix",
+ "flake-utils": "flake-utils_3",
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1726140768,
+ "narHash": "sha256-vTALSsk6/No07QgECgyd0YavXIH/bXOtKev9C6NqyA0=",
+ "ref": "refs/heads/master",
+ "rev": "ca9fa2489a83a096227f2a1bfb62ee80aad9b607",
+ "revCount": 232,
+ "type": "git",
+ "url": "https://gitlab.com/w0lff/shikane"
+ },
+ "original": {
+ "type": "git",
+ "url": "https://gitlab.com/w0lff/shikane"
+ }
+ },
"sops-nix": {
"inputs": {
"nixpkgs": [
@@ -781,6 +1327,43 @@
"type": "github"
}
},
+ "stylix": {
+ "inputs": {
+ "base16": "base16",
+ "base16-fish": "base16-fish",
+ "base16-helix": "base16-helix",
+ "base16-vim": "base16-vim",
+ "firefox-gnome-theme": "firefox-gnome-theme",
+ "flake-compat": "flake-compat_4",
+ "flake-utils": "flake-utils_4",
+ "git-hooks": "git-hooks",
+ "gnome-shell": "gnome-shell",
+ "home-manager": [
+ "home-manager"
+ ],
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "systems": "systems_8",
+ "tinted-foot": "tinted-foot",
+ "tinted-kitty": "tinted-kitty",
+ "tinted-tmux": "tinted-tmux",
+ "tinted-zed": "tinted-zed"
+ },
+ "locked": {
+ "lastModified": 1736493302,
+ "narHash": "sha256-6+z7mOa4d4+UH+do71u6WSugLWWiC1zBzYB+N5VYblQ=",
+ "owner": "donovanglover",
+ "repo": "stylix",
+ "rev": "483505ec60470cfd7776a00825d41590e8bde4f1",
+ "type": "github"
+ },
+ "original": {
+ "owner": "donovanglover",
+ "repo": "stylix",
+ "type": "github"
+ }
+ },
"systemd-nix": {
"inputs": {
"nixpkgs": [
@@ -803,6 +1386,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_10": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -819,16 +1417,16 @@
},
"systems_2": {
"locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "lastModified": 1689347949,
+ "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "repo": "default-linux",
+ "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
- "repo": "default",
+ "repo": "default-linux",
"type": "github"
}
},
@@ -864,16 +1462,16 @@
},
"systems_5": {
"locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "lastModified": 1689347949,
+ "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "repo": "default-linux",
+ "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
- "repo": "default",
+ "repo": "default-linux",
"type": "github"
}
},
@@ -892,6 +1490,117 @@
"type": "github"
}
},
+ "systems_7": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_8": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_9": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "tinted-foot": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1726913040,
+ "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
+ "owner": "tinted-theming",
+ "repo": "tinted-foot",
+ "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
+ "type": "github"
+ },
+ "original": {
+ "owner": "tinted-theming",
+ "repo": "tinted-foot",
+ "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
+ "type": "github"
+ }
+ },
+ "tinted-kitty": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1716423189,
+ "narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
+ "owner": "tinted-theming",
+ "repo": "tinted-kitty",
+ "rev": "eb39e141db14baef052893285df9f266df041ff8",
+ "type": "github"
+ },
+ "original": {
+ "owner": "tinted-theming",
+ "repo": "tinted-kitty",
+ "rev": "eb39e141db14baef052893285df9f266df041ff8",
+ "type": "github"
+ }
+ },
+ "tinted-tmux": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1729501581,
+ "narHash": "sha256-1ohEFMC23elnl39kxWnjzH1l2DFWWx4DhFNNYDTYt54=",
+ "owner": "tinted-theming",
+ "repo": "tinted-tmux",
+ "rev": "f0e7f7974a6441033eb0a172a0342e96722b4f14",
+ "type": "github"
+ },
+ "original": {
+ "owner": "tinted-theming",
+ "repo": "tinted-tmux",
+ "type": "github"
+ }
+ },
+ "tinted-zed": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1725758778,
+ "narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=",
+ "owner": "tinted-theming",
+ "repo": "base16-zed",
+ "rev": "122c9e5c0e6f27211361a04fae92df97940eccf9",
+ "type": "github"
+ },
+ "original": {
+ "owner": "tinted-theming",
+ "repo": "base16-zed",
+ "type": "github"
+ }
+ },
"uv2nix": {
"inputs": {
"nixpkgs": [
@@ -919,7 +1628,7 @@
},
"wezterm": {
"inputs": {
- "flake-utils": "flake-utils_4",
+ "flake-utils": "flake-utils_5",
"freetype2": "freetype2",
"harfbuzz": "harfbuzz",
"libpng": "libpng",
@@ -947,7 +1656,7 @@
},
"yazi": {
"inputs": {
- "flake-utils": "flake-utils_5",
+ "flake-utils": "flake-utils_6",
"nixpkgs": [
"nixpkgs"
],
@@ -967,31 +1676,6 @@
"type": "github"
}
},
- "zig": {
- "inputs": {
- "flake-compat": [
- "ghostty"
- ],
- "flake-utils": "flake-utils",
- "nixpkgs": [
- "ghostty",
- "nixpkgs-stable"
- ]
- },
- "locked": {
- "lastModified": 1717848532,
- "narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=",
- "owner": "mitchellh",
- "repo": "zig-overlay",
- "rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43",
- "type": "github"
- },
- "original": {
- "owner": "mitchellh",
- "repo": "zig-overlay",
- "type": "github"
- }
- },
"zlib": {
"flake": false,
"locked": {
diff --git a/flake.nix b/flake.nix
index 3e0376b..59a3942 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,36 +1,56 @@
# flake.nix
{
- description = "My Home Manager configuration";
-
inputs = {
nixos-hardware.url = "github:NixOS/nixos-hardware";
- nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
+ nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager/release-24.11";
inputs.nixpkgs.follows = "nixpkgs";
};
- home-manager-unstable.url = "github:nix-community/home-manager";
-
nix-flatpak.url = "github:gmodena/nix-flatpak"; # unstable branch
- # emacs-overlay = {
- # url = "github:nix-community/emacs-overlay";
- # inputs.nixpkgs.follows = "nixpkgs";
- # };
+ stylix = {
+ url = "github:donovanglover/stylix";
+
+ inputs = {
+ nixpkgs.follows = "nixpkgs";
+ home-manager.follows = "home-manager";
+ };
+ };
yazi = {
url = "github:sxyazi/yazi";
inputs.nixpkgs.follows = "nixpkgs";
};
- # kmonad = {
- # url = "git+https://github.com/kmonad/kmonad?submodules=1&dir=nix";
- # inputs.nixpkgs.follows = "nixpkgs";
- # };
+ shikane = {
+ url = "git+https://gitlab.com/w0lff/shikane";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+
+ kmonad = {
+ url = "github:kmonad/kmonad?dir=nix";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+
+ hyprpicker = {
+ url = "github:hyprwm/hyprpicker";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+
+ hyprlock = {
+ url = "github:hyprwm/hyprlock";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+
+ hypridle = {
+ url = "github:hyprwm/hypridle";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
musnix = {
url = "github:musnix/musnix";
@@ -47,11 +67,6 @@
inputs.nixpkgs.follows = "nixpkgs";
};
- ghostty = {
- url = "github:ghostty-org/ghostty";
-
- };
-
affinity-nix = {
url = "github:mrshmllow/affinity-nix";
inputs.nixpkgs.follows = "nixpkgs";
@@ -101,14 +116,13 @@
modules = [
sops-nix.nixosModules.sops
inputs.nix-flatpak.nixosModules.nix-flatpak
- # inputs.kmonad.nixosModules.default
+ inputs.kmonad.nixosModules.default
musnix.nixosModules.musnix
./system/eddie/configuration.nix
];
};
};
-
homeConfigurations = {
"emenel" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
@@ -118,6 +132,7 @@
modules = [
inputs.nix-flatpak.homeManagerModules.nix-flatpak
+ inputs.stylix.homeManagerModules.stylix
sops-nix.homeManagerModules.sops
./home/home.nix
];
diff --git a/home/akira.png b/home/akira.png
new file mode 100644
index 0000000..b763c21
Binary files /dev/null and b/home/akira.png differ
diff --git a/home/home.nix b/home/home.nix
index 1322b69..dd07c0c 100644
--- a/home/home.nix
+++ b/home/home.nix
@@ -1,4 +1,4 @@
-{ config, pkgs, inputs, outputs, ... }:
+{ config, lib, pkgs, inputs, outputs, ... }:
{
nixpkgs = {
@@ -6,10 +6,7 @@
outputs.overlays.additions
outputs.overlays.modifications
outputs.overlays.unstable-packages
- (import (builtins.fetchTarball {
- url = "https://github.com/nix-community/emacs-overlay/archive/master.tar.gz";
- sha256 = "0cfz3178ija6s37pa5rdfmqpcqj38gchn1y9q4iln2jrqh8v600i";
- }))
+ outputs.overlays.emacs-overlay
];
config = {
@@ -22,6 +19,7 @@
inputs.affinity-nix.packages.x86_64-linux.photo
inputs.affinity-nix.packages.x86_64-linux.publisher
inputs.affinity-nix.packages.x86_64-linux.designer
+ inputs.shikane.packages.x86_64-linux.default
guix
unstable.thonny
inputs.isd.packages.x86_64-linux.default
@@ -36,6 +34,7 @@
pinentry
gcr
gnutar
+ libnotify
unzip
zip
stdenv
@@ -47,7 +46,6 @@
readline
gnupg
imagemagick
- # gcc
gnutls
gettext
xorg.libX11
@@ -73,7 +71,7 @@
gst_all_1.gstreamer
alsa-oss
powertop
-
+ unstable.hypridle
age
sops
@@ -84,10 +82,6 @@
util-linux
coreutils
binutils
- # libgcc
- # cmake
- # libuv.dev
- # SDL2.dev
protonplus
ispell
(aspellWithDicts (dicts: with dicts; [ en en-computers en-science es fr ]))
@@ -96,9 +90,6 @@
libappimage
transmission_4-gtk
lsof
- # ruby
- # janet
- # jpm
guile
python311
python311Packages.pip
@@ -114,7 +105,6 @@
ruff
(sbcl.withPackages (ps: with ps; [
- # asdf_3_3
cffi
arrow-macros
alexandria
@@ -140,7 +130,6 @@
rustup
shfmt
html-tidy
- tree-sitter
libsecret
samba4Full
shellcheck
@@ -218,7 +207,7 @@
gnome-photos
gnome-keyring
ulauncher
-
+ wl-mirror
unstable.nwg-look
soundconverter
gtop
@@ -284,10 +273,8 @@
resources
carla
switcheroo
- # audacity
tenacity
supercollider-with-plugins
- #unstable.bitwig-studio
bitwig-studio-beta
blender
davinci-resolve-studio
@@ -311,7 +298,6 @@
openscad-lsp
picard
evolutionWithPlugins
- mpv
plugdata
pavucontrol
qpwgraph
@@ -326,9 +312,12 @@
unstable.playerctl
mioctl
unstable.door-knocker
- unstable.hyprpicker
+ inputs.hyprpicker.packages.x86_64-linux.default
+ farge
unstable.halloy
paleta
+ tree-sitter
+ (tree-sitter.withPlugins (_: tree-sitter.allGrammars))
# Audio plugins (LV2, VST2, VST3, LADSPA)
eq10q
@@ -408,10 +397,10 @@
stateVersion = "24.05";
};
- # gtk.cursorTheme = {
- # name = "Bibata-Modern-Classic";
- # package = pkgs.bibata-cursors;
- # };
+ gtk.cursorTheme = {
+ name = "Bibata-Modern-Classic";
+ package = pkgs.bibata-cursors;
+ };
fonts.fontconfig = {
enable = true;
@@ -441,31 +430,27 @@
};
programs = {
- home-manager.enable = true;
- fuzzel = {
+ home-manager = {
enable = true;
- settings = {
- main = {
- terminal = "${pkgs.wezterm}/bin/wezterm";
- dpi-aware = true;
- };
- border = {
- radius = 8;
- width = 2;
- };
- colors = {
- background="1e1e2edd";
- text="cdd6f4ff";
- prompt="bac2deff";
- placeholder="7f849cff";
- input="cdd6f4ff";
- match="f5c2e7ff";
- selection="585b70ff";
- selection-text="cdd6f4ff";
- selection-match="f5c2e7ff";
- counter="7f849cff";
- border="f5c2e7ff";
+ };
+ mpv = {
+ enable = true;
+ package = (pkgs.unstable.mpv-unwrapped.wrapper {
+ scripts = with pkgs.unstable.mpvScripts; [
+ thumbfast
+ modernz
+ ];
+
+ mpv = pkgs.unstable.mpv-unwrapped.override {
+ waylandSupport = true;
+ ffmpeg = pkgs.ffmpeg-full;
};
+ });
+ config = {
+ osc = "no";
+ profile = "high-quality";
+ ytdl-format = "bestvideo+bestaudio";
+ cache-default = 4000000;
};
};
direnv = {
@@ -476,17 +461,6 @@
enable = true;
enableFishIntegration = true;
package = inputs.yazi.packages.x86_64-linux.default;
- keymap = {
- manager.prepend_keymap = [
- {
- on = "";
- run = ''shell 'ripdrag "$@" -x 2>/dev/null &' --confirm'';
- }
- ];
- };
- settings = {
-
- };
};
fish = {
enable = true;
@@ -525,6 +499,7 @@
package = ((pkgs.emacsPackagesFor pkgs.emacs29-pgtk).emacsWithPackages (
epkgs: [
epkgs.vterm
+ epkgs.all-the-icons
epkgs.mu4e
epkgs.sly
epkgs.sly-quicklisp
@@ -534,8 +509,8 @@
epkgs.nixpkgs-fmt
epkgs.nixfmt
epkgs.parinfer-rust-mode
- epkgs.tree-sitter-langs
- epkgs.treesit-grammars.with-all-grammars
+ epkgs.manualPackages.tree-sitter-langs
+ epkgs.manualPackages.treesit-grammars.with-all-grammars
epkgs.pretty-sha-path
epkgs.pdf-tools
]
@@ -547,11 +522,6 @@
thefuck = {
enable = true;
};
- ghostty = {
- enable = true;
- package = inputs.ghostty.packages.x86_64-linux.ghostty;
- enableFishIntegration = true;
- };
wezterm = {
enable = true;
package = inputs.wezterm.packages.${pkgs.system}.default;
@@ -616,40 +586,10 @@
wlogout = {
enable = true;
};
- swaylock = {
+ hyprlock = {
enable = true;
- settings = {
- color="000000";
- bs-hl-color="f5e0dc";
- caps-lock-bs-hl-color="f5e0dc";
- caps-lock-key-hl-color="a6e3a1";
- inside-color="00000000";
- inside-clear-color="00000000";
- inside-caps-lock-color="00000000";
- inside-ver-color="00000000";
- inside-wrong-color="00000000";
- key-hl-color="a6e3a1";
- layout-bg-color="00000000";
- layout-border-color="00000000";
- layout-text-color="cdd6f4";
- line-color="00000000";
- line-clear-color="00000000";
- line-caps-lock-color="00000000";
- line-ver-color="00000000";
- line-wrong-color="00000000";
- ring-color="b4befe";
- ring-clear-color="f5e0dc";
- ring-caps-lock-color="fab387";
- ring-ver-color="89b4fa";
- ring-wrong-color="eba0ac";
- separator-color="00000000";
- text-color="cdd6f4";
- text-clear-color="f5e0dc";
- text-caps-lock-color="fab387";
- text-ver-color="89b4fa";
- text-wrong-color="eba0ac";
- };
};
+
waybar = {
enable = true;
package = pkgs.unstable.waybar;
@@ -674,7 +614,7 @@
dconf.settings = {
"org/gnome/desktop/background" = {
picture-options = "none";
- primary-color = "#333333";
+ primary-color = "#000000";
};
"org/gnome/desktop/interface" = {
@@ -711,25 +651,12 @@
};
services = {
- swayidle = {
- enable = true;
- extraArgs = [ "-w" ];
- timeouts = [
- { timeout = 120; command = "${pkgs.swaylock}/bin/swaylock -fF"; }
- { timeout = 300; command = "${pkgs.systemd}/bin/systemctl suspend"; }
- ];
- events = [
- { event = "before-sleep"; command = "${pkgs.swaylock}/bin/swaylock -fF"; }
- { event = "lock"; command = "lock"; }
- ];
- };
playerctld = {
enable = true;
package = pkgs.unstable.playerctl;
};
mako = {
enable = true;
- defaultTimeout = 10000;
};
flatpak.enable = true;
syncthing = {
@@ -757,8 +684,8 @@
epkgs.nixpkgs-fmt
epkgs.nixfmt
epkgs.parinfer-rust-mode
- epkgs.tree-sitter-langs
- epkgs.treesit-grammars.with-all-grammars
+ epkgs.manualPackages.tree-sitter-langs
+ epkgs.manualPackages.treesit-grammars.with-all-grammars
epkgs.pretty-sha-path
epkgs.pdf-tools
]
@@ -771,6 +698,17 @@
};
};
+ # stylix = {
+ # enable = true;
+ # base16Scheme = "${pkgs.base16-schemes}/share/themes/oxocarbon-dark.yaml";
+ # image = ./akira.png;
+ # cursor = {
+ # package = pkgs.bibata-cursors;
+ # name = "Bibtata-Modern-Classic";
+ # size = 24;
+ # };
+ # };
+
xdg.systemDirs.data = [
"/home/emenel/.local/share/applications/wine/Programs"
"/home/emenel/.local/share/applications"
@@ -792,31 +730,11 @@
GSK_RENDERER = "ngl";
MOZ_ENABLE_WAYLAND = 1;
};
- services = {
- # syncthingtray = {
- # Service.ExecStart = lib.mkForce "${pkgs.syncthingtray}/bin/syncthingtray --wait";
- # };
-
- # ulauncher = {
- # Unit = {
- # Description = "Start Ulauncher";
- # After = "graphical-session.target";
- # };
-
- # Install = {
- # WantedBy = [ "graphical-session.target" ];
- # };
-
- # Service = {
- # Restart = "always";
- # RestartSec = 1;
- # ExecStart = "${pkgs.ulauncher}/bin/ulauncher --hide-window";
- # };
- # };
- };
};
# moving files!
+ xdg.configFile."mako".source = ../dotfiles/dot_config/mako;
+ xdg.configFile."hypr".source = ../dotfiles/dot_config/hypr;
xdg.configFile."halloy/config.toml".source = ../dotfiles/dot_config/halloy/config.toml;
xdg.configFile."waybar".source = ../dotfiles/dot_config/waybar;
xdg.configFile."just/justfile".source = ../dotfiles/dot_config/just/justfile;
@@ -826,6 +744,7 @@
xdg.configFile."git".source = ../dotfiles/dot_config/git;
xdg.configFile."rbw".source = ../dotfiles/dot_config/rbw;
xdg.configFile."niri/config.kdl".source = ../dotfiles/dot_config/niri/config.kdl;
+ xdg.configFile."shikane".source = ../dotfiles/dot_config/shikane;
home.file.".ssh/config".source = ../dotfiles/dot_ssh/config;
home.file.".npmrc".source = ../dotfiles/dot_npmrc;
home.file.".vst3/yabridge/yabridge.toml".source = ../dotfiles/dot_vst3/yabridge.toml;
@@ -839,6 +758,10 @@
source = ../dotfiles/dot_config/fish/completions;
recursive = true;
};
+ xdg.configFile."yazi" = {
+ source = ../dotfiles/dot_config/yazi;
+ recursive = true;
+ };
xdg.configFile."emacs".enable = false;
@@ -850,6 +773,7 @@
source = ../dotfiles/dot_local/bin;
recursive = true;
};
+
home.file.".local/share/flf".source = ../dotfiles/dot_local/share/flf;
home.file.".local/share/The Usual Suspects/Vavra" = {
diff --git a/overlays/default.nix b/overlays/default.nix
index 438efe7..60e744c 100644
--- a/overlays/default.nix
+++ b/overlays/default.nix
@@ -5,6 +5,8 @@
modifications = final: prev: {
+ networkmanager = prev.pkgs.unstable.networkmanager;
+
ulauncher = prev.ulauncher.overrideAttrs (old: {
propagatedBuildInputs = with prev.python3Packages;
old.propagatedBuildInputs
@@ -45,6 +47,11 @@
});
};
+ emacs-overlay = (import (builtins.fetchTarball {
+ url = "https://github.com/nix-community/emacs-overlay/archive/master.tar.gz";
+ sha256 = "1dqzv0rlw4vsyr0h0879ayglcma8qk5m24mf89c6zd7x0x2ivq75";
+ }));
+
# When applied, the unstable nixpkgs set (declared in the flake inputs) will
# be accessible through 'pkgs.unstable'
unstable-packages = final: _prev: {
diff --git a/packages/bitwig-beta/bitwig-studio-beta.nix b/packages/bitwig-beta/bitwig-studio-beta.nix
index cfd53c2..3ba215e 100644
--- a/packages/bitwig-beta/bitwig-studio-beta.nix
+++ b/packages/bitwig-beta/bitwig-studio-beta.nix
@@ -32,12 +32,12 @@
stdenv.mkDerivation rec {
pname = "bitwig-studio-unwrapped";
- version = "5.3-beta-6";
+ version = "5.3-beta-7";
src = fetchurl {
name = "bitwig-studio-${version}.deb";
- url = "https://downloads-secure.bitwig.com/5.3%20Beta%206/bitwig-studio-5.3-beta-6.deb?__token__=st=1737819113.0~exp=1737819713.0~hmac=4f89ac2fb395e08a914fe57eb46d2313b2d5288f981d0f7e2da9089325c4c099&source_url=/dl/Bitwig%20Studio/5.3%20Beta%206/installer_linux/";
- sha256 = "sha256-DE5qWSAcOJHThAXdQouOVRkFNhuzZD9j8gphByaQEis=";
+ url = "https://downloads-secure.bitwig.com/5.3%20Beta%207/bitwig-studio-5.3-beta-7.deb?__token__=st=1738511951.0~exp=1738512551.0~hmac=06d510d143491f9bf2444aec8b2876ea606d9208e2753dcf15710fb3c2ceb0d3&source_url=/dl/Bitwig%20Studio/5.3%20Beta%207/installer_linux/";
+ sha256 = "sha256-CqDDz/N3Cm4BqkOI6PYACkyXZkqIRV7A3G5q7ekrMaE=";
};
diff --git a/packages/the-usual-suspects/nodal-red/nodal-red.nix b/packages/the-usual-suspects/nodal-red/nodal-red.nix
index dc15db2..89fbe54 100644
--- a/packages/the-usual-suspects/nodal-red/nodal-red.nix
+++ b/packages/the-usual-suspects/nodal-red/nodal-red.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation rec {
pname = "nodal-red";
version = "latest";
src = fetchurl {
- url = "https://futurenoize.com/dsp56300/builds/nodalred2x/beta/DSP56300Emu-1.4.1-Linux_x86_64-NodalRed2x-CLAP.zip";
- sha256 = "sha256-grCZvICiSJTCuoZ/dbaDqxHoAgiVK/BKhvqvvIrlAM8=";
+ url = "https://dsp56300.com/builds/nodalred2x/beta/DSP56300Emu-1.4.2-Linux_x86_64-NodalRed2x-CLAP.zip";
+ sha256 = "sha256-7F+vdZTdvUIeERk7WFw7h1w00JPxwA5e4Z/LIEAhS84=";
};
nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
buildInputs = with pkgs; [
diff --git a/packages/the-usual-suspects/osirus/osirus.nix b/packages/the-usual-suspects/osirus/osirus.nix
index f6aa3e1..b9ff46a 100644
--- a/packages/the-usual-suspects/osirus/osirus.nix
+++ b/packages/the-usual-suspects/osirus/osirus.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation rec {
pname = "osirus";
version = "latest";
src = fetchurl {
- url = "https://futurenoize.com/dsp56300/builds/osirus/DSP56300Emu-1.4.1-Linux_x86_64-Osirus-CLAP.zip";
- sha256 = "sha256-+LkyQAaW/yTaLUxiou/Srk9KAhJDQ660u5P9584o4JU=";
+ url = "https://dsp56300.com/builds/osirus/beta/DSP56300Emu-1.4.2-Linux_x86_64-Osirus-CLAP.zip";
+ sha256 = "sha256-JHZOsoDMS7RpVIigFjyZKCDzsyIergopWblyQ6wVL2k=";
};
nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
buildInputs = with pkgs; [
diff --git a/packages/the-usual-suspects/ostirus/ostirus.nix b/packages/the-usual-suspects/ostirus/ostirus.nix
index a9bea2f..9aea2ff 100644
--- a/packages/the-usual-suspects/ostirus/ostirus.nix
+++ b/packages/the-usual-suspects/ostirus/ostirus.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation rec {
pname = "ostirus";
version = "latest";
src = fetchurl {
- url = "https://futurenoize.com/dsp56300/builds/ostirus/DSP56300Emu-1.4.1-Linux_x86_64-OsTIrus-CLAP.zip";
- sha256 = "sha256-0qMqeT5L87AuGgj4UmumhE5YYL4Zba6Ev/NHoemkjW8=";
+ url = "https://dsp56300.com/builds/ostirus/beta/DSP56300Emu-1.4.2-Linux_x86_64-OsTIrus-CLAP.zip";
+ sha256 = "sha256-+Tu3YkTAj0LiFm70HW7DEQSeu3wYW29X/02DcL5aXT0=";
};
nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
buildInputs = with pkgs; [
diff --git a/packages/the-usual-suspects/vavra/vavra.nix b/packages/the-usual-suspects/vavra/vavra.nix
index 7793071..a0bfcef 100644
--- a/packages/the-usual-suspects/vavra/vavra.nix
+++ b/packages/the-usual-suspects/vavra/vavra.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation rec {
pname = "vavra";
version = "latest";
src = fetchurl {
- url = "https://futurenoize.com/dsp56300/builds/vavra/DSP56300Emu-1.4.1-Linux_x86_64-Vavra-CLAP.zip";
- sha256 = "sha256-dWEyzdLyMdkx3XeH4q9U8ko7aslfRROlsJI1DYgLBA4=";
+ url = "https://dsp56300.com/builds/vavra/beta/DSP56300Emu-1.4.2-Linux_x86_64-Vavra-CLAP.zip";
+ sha256 = "sha256-oA+RVI6/CYgOExW/ITgthdJqIEr57qe2byfCHXRqSnU=";
};
nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
buildInputs = with pkgs; [
diff --git a/packages/the-usual-suspects/xenia/xenia.nix b/packages/the-usual-suspects/xenia/xenia.nix
index 65e32e1..3a9986d 100644
--- a/packages/the-usual-suspects/xenia/xenia.nix
+++ b/packages/the-usual-suspects/xenia/xenia.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation rec {
pname = "xenia";
version = "latest";
src = fetchurl {
- url = "https://futurenoize.com/dsp56300/builds/xenia/DSP56300Emu-1.4.1-Linux_x86_64-Xenia-CLAP.zip";
- sha256 = "sha256-E+nSzawztU6L8Cxp3o59TG+oUJkvdZNcn8fqopbj7Ac=";
+ url = "https://dsp56300.com/builds/xenia/beta/DSP56300Emu-1.4.2-Linux_x86_64-Xenia-CLAP.zip";
+ sha256 = "sha256-ANM8teo324b+lsWfJVMhZfqEnNIN1JTGw7D/AAkCw0s=";
};
nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
buildInputs = with pkgs; [
diff --git a/system/eddie/configuration.nix b/system/eddie/configuration.nix
index 480383a..deab53a 100644
--- a/system/eddie/configuration.nix
+++ b/system/eddie/configuration.nix
@@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running βnixos-helpβ).
-{ nixos-hardware, config, pkgs, musnix, lib, inputs, outputs, ... }:
+{ config, pkgs, lib, inputs, musnix, outputs, ... }:
{
imports =
@@ -30,20 +30,12 @@
flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
in {
- # gc = {
- # automatic = true;
- # dates = "daily";
- # options = "--delete-older-than +3";
- # };
-
settings = {
# Enable flakes and new 'nix' command
experimental-features = "nix-command flakes";
# Workaround for https://github.com/NixOS/nix/issues/9574
nix-path = config.nix.nixPath;
};
- # Opinionated: disable channels
- # channel.enable = false;
# Opinionated: make flake registry and nix path match flake inputs
registry = lib.mapAttrs (_: flake: {inherit flake;}) flakeInputs;
@@ -72,7 +64,9 @@
egl-wayland
glfw-wayland
openssl
+ appimage-run
xwayland-satellite
+ xwayland-run
];
# Bootloader.
@@ -83,11 +77,15 @@
efi.canTouchEfiVariables = true;
};
kernelPackages = pkgs.unstable.linuxPackages_latest;
+ initrd.systemd.enable = true;
initrd.kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" "snd-virmidi" ];
kernelParams = [ "nvidia_drm.fbdev=1" "nvidia_drm.modeset=1" ];
};
systemd.services.tailscaled.after = ["NetworkManager-wait-online.service"];
+ systemd.sleep.extraConfig = ''
+ HibernateDelaySec=2h
+ '';
documentation = {
dev.enable = true;
@@ -120,8 +118,8 @@
];
nvidia = {
- # Modesetting is required.
open = true;
+ # Modesetting is required.
modesetting.enable = true;
powerManagement.enable = true;
powerManagement.finegrained = true;
@@ -163,35 +161,93 @@
rtcqs.enable = true;
};
- services.udev.extraRules = ''
- DEVPATH=="/devices/virtual/misc/cpu_dma_latency", OWNER="root", GROUP="audio", MODE="0660"
- '';
+ services.fstrim.enable = true;
+
+ services.samba = {
+ enable = true;
+ package = pkgs.sambaFull;
+ };
+
+ services.logind = {
+ extraConfig = ''
+ IdleAction=lock
+ IdleActionSec=5m
+ '';
+ };
+ services.udev = {
+ extraRules = ''
+ DEVPATH=="/devices/virtual/misc/cpu_dma_latency", OWNER="root", GROUP="audio", MODE="0660"
+ '';
+ packages = [
+ pkgs.via
+ pkgs.vial
+ (pkgs.writeTextFile {
+ name = "on-battery";
+ text = ''
+ # Rule for when switching to battery
+ SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="0", RUN+="${pkgs.power-profiles-daemon}/bin/powerprofilesctl set balanced"
+ '';
+ destination = "/etc/udev/rules.d/60-onbattery.rules";
+ })
+ (pkgs.writeTextFile {
+ name = "on-power";
+ text = ''
+ # Rule for when switching to ac
+ SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="1", RUN+="${pkgs.power-profiles-daemon}/bin/powerprofilesctl set performance"
+ '';
+ destination = "/etc/udev/rules.d/61-onpower.rules";
+ })
+ (pkgs.writeTextFile {
+ name = "hibernate-low-battery";
+ text = ''
+ # Suspend the system when battery level drops to 5% or lower
+ SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="[0-5]", RUN+="${pkgs.systemd}/bin/systemctl hibernate"
+ '';
+ destination = "/etc/udev/rules.d/99-hibernate-low-battery.rules";
+ })
+ (pkgs.writeTextFile {
+ name = "on-battery-power-saver";
+ text = ''
+ # Switch to power-saver when battery below 50%
+ SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="[0-5][0-9]", RUN+="${pkgs.power-profiles-daemon}/bin/powerprofilesctl set power-saver"
+ '';
+ destination = "/etc/udev/rules.d/62-power-save-battery.rules";
+ })
+ ];
+ };
security.polkit.enable = true;
security.rtkit.enable = true;
security.pam.services.swaylock = {};
+ security.pam.services.hyprlock = {};
services.xserver.videoDrivers = [ "nvidia" "modesetting" ];
+ programs.nm-applet.enable = true;
+
networking = {
hostName = "eddie";
domain = "local";
nameservers = [ "1.1.1.1" "1.0.0.1" ];
+ networkmanager = {
+ enable = true;
+ wifi.powersave = true;
+ # wifi.backend = "iwd";
+ };
# wireless = {
# iwd = {
# enable = true;
+ # package = pkgs.unstable.iwd;
# settings = {
+ # IPv6 = {
+ # enabled = true;
+ # };
# Settings = {
# AutoConnect = true;
# };
# };
# };
# };
- networkmanager = {
- enable = true;
- wifi.powersave = true;
- # wifi.backend = "iwd";
- };
};
services.resolved = {
@@ -226,7 +282,7 @@
programs.niri = {
enable = true;
- package = inputs.niri.packages.x86_64-linux.default;
+ package = inputs.niri.packages.x86_64-linux.niri;
};
# programs.waybar.enable = true;
@@ -384,7 +440,6 @@
services.kmonad = {
enable = true;
- package = pkgs.unstable.kmonad;
keyboards = {
sinc = {
device = "/dev/input/by-id/usb-Keebio_Sinc_Rev._4-event-kbd";
@@ -457,11 +512,6 @@
libudev-zero.out
];
- services.udev.packages = with pkgs; [
- via
- vial
- ];
-
fonts.fontconfig = {
enable = true;
useEmbeddedBitmaps = true;
@@ -471,13 +521,19 @@
enable = true;
};
- services.power-profiles-daemon.enable = true;
+ services.power-profiles-daemon = {
+ enable = true;
+ package = pkgs.unstable.power-profiles-daemon;
+ };
# enable the OpenSSH daemon.
services.openssh.enable = true;
services.avahi = {
enable = true;
+ publish.enable = true;
+ publish.userServices = true;
+ openFirewall = true;
nssmdns4 = true;
};
@@ -485,7 +541,7 @@
users.users.emenel = {
isNormalUser = true;
description = "emenel";
- extraGroups = [ "networkmanager" "wheel" "uinput" "uucp" "dialout" "input" "audio" "video" "libvirtd" "nvidia" "cups" "openrazer" "plugdev" ];
+ extraGroups = [ "networkmanager" "network" "wheel" "uinput" "uucp" "dialout" "input" "audio" "video" "libvirtd" "nvidia" "cups" "openrazer" "plugdev" ];
packages = with pkgs; [
git
];