some cleanup, back to wpa_supplicant, about to branch for refactor

This commit is contained in:
Matt Nish-Lapidus 2025-02-03 17:09:12 -05:00
parent 29f9ba670f
commit 7b061e6cd8
33 changed files with 2225 additions and 449 deletions

View file

@ -0,0 +1,5 @@
#!/usr/bin/env fish
function flakeup --description 'update flake sources'
nix flake update --flake /home/emenel/source/nixos-config
end

View file

@ -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
}

View file

@ -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 = <i><span foreground="##cdd6f4">hm ...</span></i>
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
}

View file

@ -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=<b>%s</b>\n%b
default-timeout=5000
ignore-timeout=false

View file

@ -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.

View file

@ -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 = "/.*/"

View file

@ -0,0 +1,5 @@
[files-provider]
list_cmd=
preview_cmd=
launch_cmd=
purge_cmd=

View file

@ -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
}
}
}

View file

@ -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,

View file

@ -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;
}

View file

@ -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

View file

@ -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.

View file

@ -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.

View file

@ -0,0 +1,40 @@
<div align="center">
<img src="https://github.com/sxyazi/yazi/blob/main/assets/logo.png?raw=true" alt="Yazi logo" width="20%">
</div>
<h3 align="center">
Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a>
</h3>
## 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
<img src="preview.png" width="600" />
## 🎨 Installation
<!-- Please replace "username/example" with your repository name. -->
```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.

View file

@ -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"}
]

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

View file

@ -0,0 +1,675 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Monokai Dark</string>
<key>settings</key>
<array>
<dict>
<key>settings</key>
<dict>
<key>background</key>
<string>#242424</string>
<key>caret</key>
<string>#F8F8F0</string>
<key>foreground</key>
<string>#F8F8F2</string>
<key>invisibles</key>
<string>#3B3A32</string>
<key>lineHighlight</key>
<string>#3D3D3D55</string>
<key>selection</key>
<string>#403d3d</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Comment</string>
<key>scope</key>
<string>comment</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#5C6370</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String</string>
<key>scope</key>
<string>string</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FFD945</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Number</string>
<key>scope</key>
<string>constant.numeric</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E373CE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Built-in constant</string>
<key>scope</key>
<string>constant.language</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E373CE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>User-defined constant</string>
<key>scope</key>
<string>constant.character, constant.other</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E373CE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable</string>
<key>scope</key>
<string>variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Keyword</string>
<key>scope</key>
<string>keyword</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FF3F4F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage</string>
<key>scope</key>
<string>storage</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#FF3F4F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage type</string>
<key>scope</key>
<string>storage.type</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#19D1E5</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Class name</string>
<key>scope</key>
<string>entity.name.class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>underline</string>
<key>foreground</key>
<string>#81F900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Inherited class</string>
<key>scope</key>
<string>entity.other.inherited-class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic underline</string>
<key>foreground</key>
<string>#81F900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function name</string>
<key>scope</key>
<string>entity.name.function</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#81F900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function argument</string>
<key>scope</key>
<string>variable.parameter</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#FF9700</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag name</string>
<key>scope</key>
<string>entity.name.tag</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#FF3F4F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag attribute</string>
<key>scope</key>
<string>entity.other.attribute-name</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#81F900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library function</string>
<key>scope</key>
<string>support.function</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#19D1E5</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library constant</string>
<key>scope</key>
<string>support.constant</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#19D1E5</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library class/type</string>
<key>scope</key>
<string>support.type, support.class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#19D1E5</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library variable</string>
<key>scope</key>
<string>support.other.variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>PHP Namespaces</string>
<key>scope</key>
<string>support.other.namespace, entity.name.type.namespace</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E373CE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>PHP Namespace Alias</string>
<key>scope</key>
<string>support.other.namespace.use-as.php</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#19D1E5</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>PHP Namespace Keyword</string>
<key>scope</key>
<string>variable.language.namespace.php</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#D66990</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>PHP Namespace Separator</string>
<key>scope</key>
<string>punctuation.separator.inheritance.php</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FF3F4F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>CSS Functions / Property Values</string>
<key>scope</key>
<string>support.function.misc.css, support.constant.property-value.css, support.constant.font-name.css</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FFD945</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Twig Tagbraces</string>
<key>scope</key>
<string>meta.tag.template.value.twig, meta.tag.template.block.twig</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#CD5AC5</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Twig Keywords</string>
<key>scope</key>
<string>keyword.control.twig</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E05D8C</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Twig Objects</string>
<key>scope</key>
<string>variable.other.twig</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E5A5E0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Twig Object Properties</string>
<key>scope</key>
<string>variable.other.property.twig</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FFE1FC</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Twig Language Constants</string>
<key>scope</key>
<string>constant.language.twig</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FFD945</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Twig Numerical Constants</string>
<key>scope</key>
<string>constant.numeric.twig</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FFD0FB</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Twig Filters</string>
<key>scope</key>
<string>support.function.twig</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#90E7F7</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Twig User-Defined Filters</string>
<key>scope</key>
<string>meta.function-call.other.twig</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FF9700</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Twig Macros</string>
<key>scope</key>
<string>meta.function-call.twig</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FF9700</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid</string>
<key>scope</key>
<string>invalid</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FF3F4F</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#F8F8F0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid deprecated</string>
<key>scope</key>
<string>invalid.deprecated</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#E373CE</string>
<key>foreground</key>
<string>#F8F8F0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Embedded Source</string>
<key>scope</key>
<string>text source</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#3D3D3D55</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff: header</string>
<key>scope</key>
<string>meta.diff, meta.diff.header</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#E0EDDD</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff: deleted</string>
<key>scope</key>
<string>markup.deleted</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#D3201F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff: changed</string>
<key>scope</key>
<string>markup.changed</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#BF3904</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff: inserted</string>
<key>scope</key>
<string>markup.inserted</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#81F900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff: range</string>
<key>scope</key>
<string>meta.diff, meta.diff.range</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#3bc0f0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Headings</string>
<key>scope</key>
<string>markup.heading.markdown, markup.heading.1.markdown, markup.heading.2.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#81F900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Bold</string>
<key>scope</key>
<string>markup.bold.markdown</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#F8F8F2</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Italic</string>
<key>scope</key>
<string>markup.italic.markdown</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#F8F8F2</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Punctuation for Bold, Italic, and Inline Block</string>
<key>scope</key>
<string>punctuation.definition.bold.markdown, punctuation.definition.italic.markdown, punctuation.definition.raw.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#D3201F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Bulleted List</string>
<key>scope</key>
<string>markup.list.unnumbered.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E373CE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Numbered List</string>
<key>scope</key>
<string>markup.list.numbered.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E373CE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Block and Inline Block</string>
<key>scope</key>
<string>markup.raw.block.markdown, markup.raw.inline.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FFD945</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Quote Block and Punctuation</string>
<key>scope</key>
<string>markup.quote.markdown, punctuation.definition.blockquote.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#00A0E4</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Seperator</string>
<key>scope</key>
<string>meta.separator.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E373CE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Link and Reference URL</string>
<key>scope</key>
<string>meta.image.inline.markdown, markup.underline.link.markdown</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#5C6370</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Link Title, Image Description</string>
<key>scope</key>
<string>string.other.link.title.markdown, string.other.link.description.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#81F900</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Angle Brakets on Link and Image</string>
<key>scope</key>
<string>punctuation.definition.link.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#5C6370</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Parens on Link and Image </string>
<key>scope</key>
<string>punctuation.definition.metadata.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#5C6370</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown: Square Brakets on Link, Image, and Reference</string>
<key>scope</key>
<string>punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.constant.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#5C6370</string>
</dict>
</dict>
</array>
<key>uuid</key>
<string>255F0694-0C8C-93E3-114A-EBBCF44F5573</string>
</dict>
</plist>

View file

@ -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)

View file

@ -0,0 +1,6 @@
[manager]
prepend_keymap = [
{ on = "<C-d>", 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" }
]

View file

@ -0,0 +1,6 @@
[flavor]
dark = "monokai-vibrant"
light = "monokai-vibrant"
[manager]
hovered = { bg = "#cccccc", fg = "#000000" }

View file

996
flake.lock generated

File diff suppressed because it is too large Load diff

View file

@ -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
];

BIN
home/akira.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View file

@ -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 = "<C-d>";
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" = {

View file

@ -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: {

View file

@ -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=";
};

View file

@ -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; [

View file

@ -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; [

View file

@ -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; [

View file

@ -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; [

View file

@ -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; [

View file

@ -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
];