better consistency, add dotfiles for takamaki and new features

This commit is contained in:
greyweather committed 2026-08-31 01:10:23 +01:00
1 parent 023fc0c424
commit 5c2a328858
35 files changed
+2444 -179

No files matched your search

+7
View File
@@ -0,0 +1,7 @@
[sie][DeepFilterNet#0]
attenuationLimit=30
maxDfProcessingThreshold=5
maxErbProcessingThreshold=0
minProcessingBuffer=5
minProcessingThreshold=-5
postFilterBeta=0.029999999329447746
+3
View File
@@ -0,0 +1,3 @@
[sie][Deesser#0]
ratio=16
threshold=-40
+23
View File
@@ -0,0 +1,23 @@
[EffectsPipelines]
ignoreSystemNotifications=false
[StreamInputs]
inputDevice=alsa_input.usb-Focusrite_Scarlett_2i2_USB_Y8PK1YT167E441-00.HiFi__Mic1__source
plugins=deesser#0,equalizer#0,limiter#0
visiblePage=pluginsPage
visiblePlugin=deesser#0
[StreamOutputs]
outputDevice=alsa_output.usb-Focusrite_Scarlett_2i2_USB_Y8PK1YT167E441-00.HiFi__Line__sink
plugins=equalizer#0
visiblePlugin=equalizer#0
[Style]
forceBreezeTheme=false
[Window]
autostartOnLogin=true
height=1408
showTrayIcon=false
visiblePage=inputPage
width=1912
+288
View File
@@ -0,0 +1,288 @@
[sie][Equalizer#0]
numBands=16
[sie][Equalizer#0#left]
band0Frequency=125
band0Gain=9.73
band0Q=1
band0Type=0
band10Frequency=550
band10Gain=-12.309999999999999
band11Frequency=900
band11Gain=-8.239999999999998
band11Q=3
band12Frequency=1500
band12Gain=-8.55
band13Frequency=2500
band13Gain=5.140000000000001
band14Frequency=3000
band14Gain=-5.98
band14Q=2
band15Frequency=4000
band15Gain=5.140000000000001
band15Q=1
band15Type=3
band16Type=0
band17Type=0
band18Type=0
band19Type=0
band1Frequency=126
band1Type=0
band20Type=0
band21Type=0
band22Type=0
band23Type=0
band24Type=0
band25Type=0
band26Type=0
band27Type=0
band28Type=0
band29Type=0
band2Frequency=150
band2Gain=-20.04
band2Q=1.5
band2Slope=1
band2Type=5
band30Type=0
band31Type=0
band3Frequency=156.38
band3Type=0
band4Frequency=175
band4Gain=7.960000000000001
band4Q=2
band5Frequency=194.06
band5Type=0
band6Frequency=240.81
band6Type=0
band7Frequency=250
band7Gain=-12.41
band7Q=2
band8Frequency=298.834
band8Type=0
band9Frequency=370.834
band9Type=0
[sie][Equalizer#0#right]
band0Frequency=125
band0Gain=9.73
band0Q=1
band0Type=0
band10Frequency=550
band10Gain=-12.309999999999999
band11Frequency=900
band11Gain=-8.239999999999998
band11Q=3
band12Frequency=1500
band12Gain=-8.55
band13Frequency=2500
band13Gain=5.140000000000001
band14Frequency=3000
band14Gain=-5.98
band14Q=2
band15Frequency=4000
band15Gain=5.140000000000001
band15Q=1
band15Type=3
band16Type=0
band17Type=0
band18Type=0
band19Type=0
band1Frequency=126
band1Type=0
band20Type=0
band21Type=0
band22Type=0
band23Type=0
band24Type=0
band25Type=0
band26Type=0
band27Type=0
band28Type=0
band29Type=0
band2Frequency=150
band2Gain=-20.04
band2Q=1.5
band2Slope=1
band2Type=5
band30Type=0
band31Type=0
band3Frequency=156.38
band3Type=0
band4Frequency=175
band4Gain=7.960000000000001
band4Q=2
band5Frequency=194.06
band5Type=0
band6Frequency=240.81
band6Type=0
band7Frequency=250
band7Gain=-12.41
band7Q=2
band8Frequency=298.834
band8Type=0
band9Frequency=370.834
band9Type=0
[sie][Equalizer#1]
outputGain=5
[sie][Equalizer#1#left]
band12Frequency=600
band12Gain=-6.62
band12Q=1.5
band13Frequency=1500
band13Gain=-8.37
band13Q=2
band7Frequency=125
band7Q=1
band7Slope=2
band7Type=2
band8Gain=-4.77
band8Q=1
[sie][Equalizer#1#right]
band12Frequency=600
band12Gain=-6.62
band12Q=1.5
band13Frequency=1500
band13Gain=-8.37
band13Q=2
band7Frequency=125
band7Q=1
band7Slope=2
band7Type=2
band8Gain=-4.77
band8Q=1
[soe][Equalizer#0]
numBands=10
[soe][Equalizer#0#left]
band0Frequency=35
band0Gain=-8.199999809265137
band0Mode=6
band0Q=0.5
band10Type=0
band11Type=0
band12Type=0
band13Type=0
band14Type=0
band15Type=0
band16Type=0
band17Type=0
band18Type=0
band19Type=0
band1Frequency=105
band1Gain=5.5
band1Mode=6
band1Q=0.6666666865348816
band1Type=5
band20Type=0
band21Type=0
band22Type=0
band23Type=0
band24Type=0
band25Type=0
band26Type=0
band27Type=0
band28Type=0
band29Type=0
band2Frequency=130
band2Gain=-6.300000190734863
band2Mode=6
band2Q=1.399999976158142
band30Type=0
band31Type=0
band3Frequency=195
band3Gain=-2.799999952316284
band3Mode=6
band3Q=2.200000047683716
band4Frequency=360
band4Gain=4
band4Mode=6
band4Q=3
band5Frequency=820
band5Gain=3.200000047683716
band5Mode=6
band5Q=3
band6Frequency=950
band6Gain=-2.799999952316284
band6Mode=6
band6Q=2.5
band7Frequency=2400
band7Gain=13.5
band7Mode=6
band7Q=0.8999999761581421
band8Frequency=4250
band8Gain=-5
band8Mode=6
band8Q=4
band9Frequency=6650
band9Gain=-6.699999809265137
band9Mode=6
band9Q=4
[soe][Equalizer#0#right]
band0Frequency=35
band0Gain=-8.199999809265137
band0Mode=6
band0Q=0.5
band10Type=0
band11Type=0
band12Type=0
band13Type=0
band14Type=0
band15Type=0
band16Type=0
band17Type=0
band18Type=0
band19Type=0
band1Frequency=105
band1Gain=5.5
band1Mode=6
band1Q=0.6666666865348816
band1Type=5
band20Type=0
band21Type=0
band22Type=0
band23Type=0
band24Type=0
band25Type=0
band26Type=0
band27Type=0
band28Type=0
band29Type=0
band2Frequency=130
band2Gain=-6.300000190734863
band2Mode=6
band2Q=1.399999976158142
band30Type=0
band31Type=0
band3Frequency=195
band3Gain=-2.799999952316284
band3Mode=6
band3Q=2.200000047683716
band4Frequency=360
band4Gain=4
band4Mode=6
band4Q=3
band5Frequency=820
band5Gain=3.200000047683716
band5Mode=6
band5Q=3
band6Frequency=950
band6Gain=-2.799999952316284
band6Mode=6
band6Q=2.5
band7Frequency=2400
band7Gain=13.5
band7Mode=6
band7Q=0.8999999761581421
band8Frequency=4250
band8Gain=-5
band8Mode=6
band8Q=4
band9Frequency=6650
band9Gain=-6.699999809265137
band9Mode=6
band9Q=4
+22
View File
@@ -0,0 +1,22 @@
[sie][Gate#0]
attack=0
curveThreshold=-50
curveZone=-8
hpfFrequency=300
hysteresisThreshold=-18
hysteresisZone=-5
lpfFrequency=2500
outputGain=5
reduction=-30
release=150
sidechainLookahead=1.0000000000000007
sidechainMode=1
sidechainReactivity=5
[sie][Gate#1]
attack=0
curveThreshold=-36
curveZone=-5
reduction=-72
release=200
sidechainMode=1
+8
View File
@@ -0,0 +1,8 @@
[sie][Limiter#0]
alrKnee=-0.5
alrRelease=30
attack=2
gainBoost=false
inputGain=32
lookahead=2
release=4
File diff suppressed because it is too large. Load diff
+42
View File
@@ -0,0 +1,42 @@
body {
/* sizes */
--gap: 10px; /* spacing between panels */
--divider-thickness: 4px; /* thickness of unread messages divider and highlighted message borders */
--border-thickness: 0px; /* thickness of borders around main panels. DOES NOT AFFECT OTHER BORDERS */
/* animation/transition options */
--animations: on; /* off: disable animations/transitions, on: enable animations/transitions */
--list-item-transition: 0.2s ease; /* transition for list items */
--dms-icon-svg-transition: 0.35s ease; /* transition for the dms icon */
--border-hover-transition: 1s ease; /* transition for borders when hovered */
}
/* color options */
:root {
--colors: on; /* off: discord default colors, on: midnight custom colors */
/* text colors */
--text-0: hsl(220, 16%, 95%); /* text on colored elements */
--text-2: hsl(217.5, 20%, 90%); /* headings and important text */
--text-3: hsl(219, 30%, 85%); /* normal text */
--text-4: hsl(220.5, 14%, 75%); /* icon buttons and channels */
--text-5: hsl(221, 13.5%, 70%); /* muted channels/chats and timestamps */
/* background and dark colors */
--bg-1: #303643; /* dark buttons when clicked */
--bg-2: #343b49; /* dark buttons */
--bg-3: #3b4252; /* spacing, secondary elements */
--bg-4: #2e3440; /* main background color */
--hover: #eceff415; /* channels and buttons when hovered */
--active: hsl(222, 18%, 35%); /* channels and buttons when clicked or selected */
--active-2: #2e3440; /* extra state for transparent buttons */
--message-hover: #3b425240; /* messages when hovered */
/* accent colors */
--accent-1: #8fbcbb; /* links and other accent text */
--accent-2: hsl(179, 25%, 45%); /* small accent elements */
--accent-3: hsl(193, 25%, 45%); /* accent buttons */
--accent-4: hsl(193, 25%, 55%); /* accent buttons when hovered */
--accent-5: hsl(193, 25%, 60%); /* accent buttons when clicked */
--accent-new: #bf616a; /* stuff that's normally red like mute/deafen buttons */
};
+26
View File
@@ -0,0 +1,26 @@
{
"appBadge": true,
"arRPC": true,
"autoStartMinimized": false,
"customTitleBar": false,
"discordBranch": "stable",
"enableMenu": false,
"enableSplashScreen": true,
"hardwareAcceleration": true,
"minimizeToTray": true,
"tray": true,
"splashColor": "rgb(205, 213, 228)",
"splashBackground": "rgb(46, 52, 64)",
"hardwareVideoAcceleration": true,
"clickTrayToShowHide": true,
"arRPCDisabled": false,
"arRPCProcessScanning": true,
"audio": {
"granularSelect": false
},
"spellCheckLanguages": [
"en-GB",
"en"
],
"staticTitle": true
}
+180
View File
@@ -0,0 +1,180 @@
include "./noctalia.kdl"
input {
keyboard {
xkb {
layout "gb"
model ""
rules ""
variant ""
}
repeat-delay 600
repeat-rate 25
track-layout "global"
numlock
}
mouse {
accel-speed 0.25
accel-profile "flat"
}
focus-follows-mouse max-scroll-amount="0%"
}
output "DP-2" {
mode "2560x1440"
}
output "HDMI-A-2" {
mode "1920x1080@60"
transform "270"
position x=-1080 y=-250
}
output "HDMI-A-1" {
mode "1920x1080@60"
transform "270"
position x=-1080 y=-250
}
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
prefer-no-csd
overview { zoom 0.67; }
layout {
gaps 16
struts {
left 6
right 6
top 0
bottom 0
}
focus-ring {
width 1.5
}
border { off; }
shadow {
on
offset x=0.000000 y=5.000000
softness 30.000000
spread 5.000000
draw-behind-window false
color "#00000070"
}
default-column-width
center-focused-column "never"
always-center-single-column
}
cursor {
xcursor-theme "Bibata-Modern-Ice"
xcursor-size 22
}
hotkey-overlay { skip-at-startup; }
binds {
Mod+B { spawn "zen-browser"; }
Mod+C { spawn "kcalc"; }
Mod+D { spawn "noctalia" "msg" "panel-toggle" "launcher"; }
Mod+E { spawn "dolphin"; }
Mod+Return { spawn "kitty"; }
Mod+O { spawn "obsidian"; }
ISO_Level3_Shift+Comma { spawn "equibop" "--toggle-mic"; }
ISO_Level3_Shift+Period { spawn "equibop" "--toggle-deafen"; }
Mod+Space { toggle-overview; }
Mod+Q { close-window; }
Mod+F { maximize-window-to-edges; }
Mod+Shift+F { fullscreen-window; }
Mod+Shift+E { quit; }
Mod+L { spawn "noctalia" "msg" "session" "lock"; }
Mod+Shift+D { spawn "noctalia" "msg" "desktop-widgets-edit"; }
Mod+Shift+B { spawn "noctalia" "msg" "settings-open" "bar"; }
Mod+Shift+S { spawn "noctalia" "msg" "settings-open"; }
Mod+Period { spawn "noctalia" "msg" "panel-toggle" "control-center"; }
Mod+W { spawn "noctalia" "msg" "panel-toggle" "wallpaper"; }
Mod+Shift+P { spawn "noctalia" "msg" "panel-toggle" "session"; }
Mod+V { spawn "noctalia" "msg" "panel-toggle" "clipboard"; }
Mod+P { spawn "noctalia" "msg" "panel-toggle" "control-center" "power"; }
Ctrl+Shift+Escape { spawn "noctalia" "msg" "panel-toggle" "control-center" "system"; }
Mod+A { spawn "toggle-easyeffects"; }
Mod+Up { focus-workspace-up; }
Mod+Down { focus-workspace-down; }
Mod+Left { focus-column-left; }
Mod+Right { focus-column-right; }
Mod+WheelScrollUp { focus-column-left; }
Mod+WheelScrollDown { focus-column-right; }
Mod+Shift+WheelScrollUp { focus-workspace-up; }
Mod+Shift+WheelScrollDown { focus-workspace-down; }
Mod+Shift+Up { move-window-to-workspace-up; }
Mod+Shift+Down { move-window-to-workspace-down; }
Mod+Shift+Left { move-column-left; }
Mod+Shift+Right { move-column-right; }
Mod+Control+Left { focus-monitor-left; }
Mod+Control+Right { focus-monitor-right; }
Mod+Shift+Control+Left { move-window-to-monitor-left; }
Mod+Shift+Control+Right { move-window-to-monitor-right; }
XF86AudioLowerVolume { spawn "noctalia" "msg" "volume-down" "5"; }
XF86AudioRaiseVolume { spawn "noctalia" "msg" "volume-up" "5"; }
XF86AudioMute { spawn "noctalia" "msg" "volume-mute"; }
Print { screenshot; }
Mod+XF86AudioRaiseVolume cooldown-ms=250 { spawn "increase-brightness" "/dev/i2c-10"; }
Mod+XF86AudioLowerVolume cooldown-ms=250 { spawn "decrease-brightness" "/dev/i2c-10"; }
Mod+Shift+XF86AudioRaiseVolume cooldown-ms=250 { spawn "increase-brightness" "/dev/i2c-6"; }
Mod+Shift+XF86AudioLowerVolume cooldown-ms=250 { spawn "decrease-brightness" "/dev/i2c-6"; }
}
spawn-at-startup "noctalia"
window-rule {
draw-border-with-background false
geometry-corner-radius 4
clip-to-geometry true
}
window-rule { // Maximized on vertical monitor
match at-startup=true app-id="^steam$" title="^Steam$"
match at-startup=true app-id="^equibop$"
open-maximized-to-edges true
open-on-output "HDMI-A-1"
}
window-rule { // Steam windows float (excluding main window)
match app-id="^steam$"
exclude title="^Steam$"
exclude title=r#"^notificationtoasts_\d+_desktop$"#
default-window-height { proportion 0.5; }
open-floating true
}
window-rule {
match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"#
default-floating-position x=10 y=10 relative-to="bottom-right"
}
window-rule { // Fullscreen on main monitor
match app-id="^steam_app_\\d+$"
open-fullscreen true
open-on-output "DP-2"
}
window-rule { // Maximized on any monitor
match app-id="^code$"
open-maximized-to-edges true
}
window-rule {
match app-id="^kitty$"
default-column-width { proportion 0.4; }
open-on-output "DP-2"
}
window-rule {
match app-id="^org\\.prismlauncher\\.PrismLauncher$"
default-window-height { fixed 750; }
}
gestures { hot-corners { off; }; }
animations {
on
slowdown 1.25
}
layer-rule {
match namespace="^noctalia-backdrop"
place-within-backdrop true
}
include "noctalia.kdl"
@@ -0,0 +1 @@
+311
View File
@@ -0,0 +1,311 @@
config_version = 13
[backdrop]
blur_intensity = 0.65999998524785042
enabled = true
tint_intensity = 0.44999998994171619
[bar]
order = [ "default" ]
[bar.default]
background_opacity = 0.79999998211860657
border = "surface_variant"
border_width = 0.5
capsule_radius = 4
capsule_thickness = 0.69999998807907104
concave_edge_corners = false
enabled = false
end = [ "notifications", "spacer_2", "tray" ]
font_family = "SauceCodePro Nerd Font"
margin_edge = 8
margin_ends = 8
margin_opposite_edge = 8
position = "left"
radius = 8
shadow = false
start = [ "workspaces", "spacer_3", "media" ]
thickness = 44
widget_spacing = 12
[bar.default.monitor.DP-2]
enabled = true
[battery.device."/org/freedesktop/UPower/devices/battery_hidpp_battery_0"]
warning_threshold = 25
[brightness]
enable_ddcutil = true
[[control_center.shortcuts]]
type = "wifi"
[[control_center.shortcuts]]
type = "bluetooth"
[[control_center.shortcuts]]
type = "notification"
[[control_center.shortcuts]]
type = "power_profile"
[desktop_widgets]
schema_version = 2
widget_order = []
[desktop_widgets.grid]
cell_size = 16
major_interval = 4
visible = true
[desktop_widgets.widget]
[dock]
active_scale = 0.95000001415610313
background_opacity = 0.79999998211860657
border = "surface_variant"
border_width = 0.5
concave_edge_corners = false
cross_axis_padding = 4
enabled = true
inactive_opacity = 0.89999997988343239
item_spacing = 0
magnification_scale = 1.1000000014901161
main_axis_padding = 8
monitors = [ "DP-2" ]
pinned = [
"net.thunderbird.Thunderbird",
"org.prismlauncher.PrismLauncher",
"github-desktop",
"unityhub",
"code",
"enteauth",
"com.protonvpn.www"
]
position = "right"
radius_bottom_right = 8
radius_top_right = 8
reserve_space = false
shadow = false
show_dots = true
show_running = false
smart_auto_hide = true
[idle]
behavior_order = [ "screen-off" ]
pre_action_fade_seconds = 30
[idle.behavior.screen-off]
action = "screen_off"
enabled = true
timeout = 600.0
[location]
address = "Redditch, England"
[lockscreen]
enabled = false
fingerprint = false
[lockscreen_widgets]
enabled = false
schema_version = 2
widget_order = [ "lockscreen-login-box@HDMI-A-1", "lockscreen-login-box@DP-2", "lockscreen-login-box@HDMI-A-2" ]
[lockscreen_widgets.grid]
cell_size = 16
major_interval = 4
visible = true
[lockscreen_widgets.widget."lockscreen-login-box@DP-2"]
box_height = 196.0
box_width = 810.0
cx = 1280.0
cy = 1258.0
output = "DP-2"
placement_height = 1440.0
placement_width = 2560.0
rotation = 0.0
type = "login_box"
[lockscreen_widgets.widget."lockscreen-login-box@DP-2".settings]
background_color = "surface_variant"
background_opacity = 0.88
background_radius = 12.0
center_password_text = false
input_opacity = 1.0
input_radius = 6.0
layout = "regular"
show_caps_lock = true
show_keyboard_layout = true
show_login_button = true
show_media = true
show_session_buttons = true
show_unlock_hint = true
show_weather = true
[lockscreen_widgets.widget."lockscreen-login-box@HDMI-A-1"]
box_height = 196.0
box_width = 810.0
cx = 960.0
cy = 898.0
output = "HDMI-A-1"
placement_height = 1920.0
placement_width = 1080.0
rotation = 0.0
type = "login_box"
[lockscreen_widgets.widget."lockscreen-login-box@HDMI-A-1".settings]
background_color = "surface_variant"
background_opacity = 0.88
background_radius = 12.0
center_password_text = false
input_opacity = 1.0
input_radius = 6.0
layout = "regular"
show_caps_lock = true
show_keyboard_layout = true
show_login_button = true
show_media = true
show_session_buttons = true
show_unlock_hint = true
show_weather = true
[lockscreen_widgets.widget."lockscreen-login-box@HDMI-A-2"]
box_height = 196.0
box_width = 810.0
cx = 960.0
cy = 898.0
output = "HDMI-A-2"
placement_height = 0.0
placement_width = 0.0
rotation = 0.0
type = "login_box"
[lockscreen_widgets.widget."lockscreen-login-box@HDMI-A-2".settings]
background_color = "surface_variant"
background_opacity = 0.88
background_radius = 12.0
center_password_text = false
input_opacity = 1.0
input_radius = 6.0
layout = "regular"
show_caps_lock = true
show_keyboard_layout = true
show_login_button = true
show_media = true
show_session_buttons = true
show_unlock_hint = true
show_weather = true
[nightlight]
enabled = true
temperature_day = 6000
temperature_night = 4800
[notification]
background_opacity = 0.99999997764825821
[osd]
background_opacity = 0.99999997764825821
[shell]
app_icon_color = "on_surface_variant"
corner_radius_scale = 0.85000001266598701
niri_overview_type_to_launch_enabled = true
polkit_agent = true
popup_shadows = false
[shell.animation]
speed = 1.4000000208616257
[shell.launcher]
app_grid = true
[shell.panel]
clipboard_placement = "attached"
launcher_placement = "attached"
shadow = false
[[shell.session.actions]]
action = "logout"
countdown_seconds = 0.0
enabled = true
shortcut = "1"
variant = "default"
[[shell.session.actions]]
action = "command"
command = "~/.local/bin/switch-os"
countdown_seconds = 0.0
enabled = true
glyph = "brand-windows-filled"
label = "Windows"
shortcut = "2"
variant = "default"
[[shell.session.actions]]
action = "reboot"
countdown_seconds = 0.0
enabled = true
shortcut = "3"
variant = "default"
[[shell.session.actions]]
action = "shutdown"
countdown_seconds = 0.0
enabled = true
shortcut = "4"
variant = "destructive"
[theme]
builtin = "Nord"
community_palette = "Peche"
mode = "dark"
source = "builtin"
wallpaper_scheme = "m3-content"
[theme.templates]
builtin_ids = [ "gtk3", "gtk4", "kcolorscheme", "kitty", "niri", "qt" ]
[wallpaper.default]
path = "/home/grey/Pictures/Wallpapers/2560x1440.png"
[wallpaper.last]
path = "/home/grey/Pictures/Wallpapers/2560x1440.png"
[wallpaper.monitors.DP-2]
path = "/home/grey/Pictures/Wallpapers/2560x1440.png"
[wallpaper.monitors.HDMI-A-2]
path = "/home/grey/Pictures/Wallpapers/2560x1440.png"
[widget.active_window]
display = "text_only"
[widget.clock]
capsule = true
capsule_fill = "tertiary"
capsule_foreground = "on_tertiary"
capsule_padding = 4
scale = 1.1000000000000001
[widget.media]
art_size = 32
hide_when_no_media = true
[widget.notifications]
hide_when_no_unread = true
scale = 1.1000000000000001
[widget.spacer_2]
type = "spacer"
[widget.spacer_3]
type = "spacer"
[widget.sysmon]
stat = "gpu_usage"
[widget.workspaces]
style = "minimal"
Generated
+16 -37
View File
@@ -76,11 +76,11 @@
},
"locked": {
"dir": "pkgs/firefox-addons",
"lastModified": 1787976477,
"narHash": "sha256-N4ljMPGSikj3Yl4EZv7xa6KSGkmm+G5wFZBhnOCwqZw=",
"lastModified": 1788062878,
"narHash": "sha256-rcVVm6aHB0uUy0W4IE/Pbs8E7YVONklftB2v3vUqsd0=",
"owner": "rycee",
"repo": "nur-expressions",
"rev": "2e2c50de599df9787f6aa735ceea0a7aabcfae2a",
"rev": "b1ad358290dcf751d364b80f50bb706e30327f7b",
"type": "gitlab"
},
"original": {
@@ -187,11 +187,11 @@
]
},
"locked": {
"lastModified": 1788053103,
"narHash": "sha256-+H+8us7JvdcVbPQMq2d0RJLpShaptiRjKfcpx9en8g0=",
"lastModified": 1788129603,
"narHash": "sha256-NIj3G63MeCajZr70RGl1xNsdsAa+0QgH+lq00doGjDY=",
"ref": "refs/heads/main",
"rev": "ab89bd7fc180b742838a4883acbaf9ff47994695",
"revCount": 7,
"rev": "3131ebbfcdbbf49f073d0f81ea987300cf422a2e",
"revCount": 12,
"type": "git",
"url": "https://git.greyweather.dev/greyweather/nix-helper-flake"
},
@@ -235,33 +235,13 @@
"type": "github"
}
},
"nh": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1787933897,
"narHash": "sha256-nnMvRwXgRUktCsWf2S+9SkVVlff3QEDwUAys49zTuSc=",
"owner": "nix-community",
"repo": "nh",
"rev": "0556d89ba6d63df9d423f3e0df8450d6653a0aae",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nh",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1787900134,
"narHash": "sha256-VYXO0XZlgj06dxJZRhrD3WoSsvq/c7+/Akyoa22pefw=",
"lastModified": 1788039129,
"narHash": "sha256-pa4Q0qErvCvzCaaUph7Sm37RhR4xvPrYI8Lgz6k85+A=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "83199d0d373dd3ac2b9a1996b1d0263f76ab7a4c",
"rev": "d2f67949798825fe853f7c5d0492b8bf016d3f88",
"type": "github"
},
"original": {
@@ -293,11 +273,11 @@
]
},
"locked": {
"lastModified": 1788050744,
"narHash": "sha256-O+GIRtyRZhn2Cv5NosvsoQzaPBpI2T3AGNqxwcS65Oc=",
"lastModified": 1788125858,
"narHash": "sha256-CIAwVQWtDSFiGulRQlLALXfdoJDUrtXBEtctSxXuCXQ=",
"owner": "noctalia-dev",
"repo": "noctalia",
"rev": "99296b25b0aa6e293fad10ae77a56e567cd6120c",
"rev": "da34acc58d6c3c5733ebe95caaeb6086cc96d7de",
"type": "github"
},
"original": {
@@ -338,7 +318,6 @@
"helpers": "helpers",
"home-manager": "home-manager",
"import-tree": "import-tree",
"nh": "nh",
"nixpkgs": "nixpkgs",
"noctalia": "noctalia",
"spicetify": "spicetify",
@@ -353,11 +332,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1787460061,
"narHash": "sha256-r2FJY01jRVhrZIKPdhQ3QFYsAz3wjilWTMSSH7VMOeo=",
"lastModified": 1788083617,
"narHash": "sha256-aXMDRUxm/9se+vgKViKdDcClk1k3qA3sUwT0kAYo3Fg=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "a8adfd6f9f341dd586d5c06dda3bbfa21c6014e7",
"rev": "bf4ed54253a61c8324a5b461638c42db77c0b980",
"type": "github"
},
"original": {
-5
View File
@@ -20,11 +20,6 @@
inputs.nixpkgs.follows = "nixpkgs";
};
nh = {
url = "github:nix-community/nh";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = {
url = "github:nix-community/stylix";
inputs.nixpkgs.follows = "nixpkgs";
+10 -33
View File
@@ -1,33 +1,22 @@
{ inputs, self, ... }: {
{ inputs, self, ... }: let
wm-option-type = inputs.helpers.mkOptionalListOfType (inputs.helpers.mkEnumFromDirContents "${self}/modules/components/window-managers");
shell-option-type = inputs.helpers.mkOptionalListOfType (inputs.helpers.mkEnumFromDirContents "${self}/modules/components/shells");
in {
flake.nixosModules.graphics = { config, pkgs, lib, ... }: {
options.components = {
displayManager = lib.mkOption {
# enum that dynamically populates itself with the contents of the display-managers directory
type = lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
builtins.attrNames (builtins.readDir "${self}/modules/components/display-managers")
));
type = inputs.helpers.mkEnumFromDirContents "${self}/modules/components/display-managers";
default = "lightdm";
};
windowManagers = lib.mkOption {
type = lib.types.either (lib.types.listOf (
lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
builtins.attrNames (builtins.readDir "${self}/modules/components/window-managers")
))
)) (lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
builtins.attrNames (builtins.readDir "${self}/modules/components/window-managers")
)));
type = wm-option-type;
default = [];
};
shells = lib.mkOption {
type = lib.types.either (lib.types.listOf (
lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
builtins.attrNames (builtins.readDir "${self}/modules/components/shells")
))
)) (lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
builtins.attrNames (builtins.readDir "${self}/modules/components/shells")
)));
type = shell-option-type;
default = [];
};
};
@@ -49,24 +38,12 @@
flake.homeModules.graphics = { config, pkgs, lib, ... }: {
options.components = {
windowManagers = lib.mkOption {
type = lib.types.either (lib.types.listOf (
lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
builtins.attrNames (builtins.readDir "${self}/modules/components/window-managers")
))
)) (lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
builtins.attrNames (builtins.readDir "${self}/modules/components/window-managers")
)));
type = wm-option-type;
default = [];
};
shells = lib.mkOption {
type = lib.types.either (lib.types.listOf (
lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
builtins.attrNames (builtins.readDir "${self}/modules/components/shells")
))
)) (lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
builtins.attrNames (builtins.readDir "${self}/modules/components/shells")
)));
type = shell-option-type;
default = [];
};
};
@@ -100,7 +77,7 @@
enable = true;
colorScheme = "dark";
gtk2.configLocation = "${config.home.homeDirectory}/.config/.gtkrc-2.0"; # prevents file conflicts between this and other parts of the nix config
gtk2.configLocation = "${config.xdg.configHome}/.gtkrc-2.0"; # prevents file conflicts between this and other parts of the nix config
gtk2.force = true;
};
};
+4 -5
View File
@@ -2,7 +2,7 @@
flake.nixosModules.graphics = { pkgs, config, lib, ... }: {
config = lib.mkIf ((config.components.shells == "noctalia")||(builtins.elem "noctalia" config.components.shells)) {
environment.systemPackages = [
inputs.noctalia.packages.${pkgs.system}.default
inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default
];
programs.noctalia.enable = true;
@@ -16,18 +16,17 @@
flake.homeModules.graphics = { pkgs, config, lib, inputs, ... }: {
config = lib.mkIf ((config.components.shells == "noctalia")||(builtins.elem "noctalia" config.components.shells)) {
home = {
packages = lib.mkIf (config.info.isStandalone) [ inputs.noctalia.packages.${pkgs.system}.default ];
packages = lib.mkIf (config.info.isStandalone) [ inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default ];
activation = {
symlinkNoctaliaState = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript {
linkNoctaliaState = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript {
target = "${config.home.homeDirectory}/.local/state/noctalia/settings.toml";
source = "${config.info.rootPath}/dotfiles/${config.info.hostName}/noctalia/settings.toml";
});
symlinkNoctaliaStatePlugins = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript {
linkNoctaliaStatePlugins = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript {
target = "${config.home.homeDirectory}/.local/state/noctalia/plugins";
source = "${config.info.rootPath}/dotfiles/${config.info.hostName}/noctalia/plugins";
isDir = true;
});
};
};
+4 -8
View File
@@ -20,8 +20,7 @@
enable = true;
useNautilus = true;
# override niri source to use https://github.com/niri-wm/niri/pull/3642
package = (pkgs.niri.overrideAttrs (finalAttrs: prevAttrs:
{
package = (pkgs.niri.overrideAttrs (finalAttrs: prevAttrs: {
cargoHash = "sha256-HypBB3PL4nVFMNH2+jEK0+dG9dJ920nHi8GwRoeH/v4=";
src = pkgs.fetchFromGitHub {
owner = "niri-wm";
@@ -33,8 +32,7 @@
inherit (finalAttrs) pname src version;
hash = finalAttrs.cargoHash;
};
}
));
}));
};
home-manager.users.grey = lib.mkIf (config.features.nixos.home-manager.enable) {
@@ -45,10 +43,8 @@
flake.homeModules.graphics = { config, pkgs, lib, inputs, ... }: {
home = lib.mkIf ((config.components.windowManagers == "niri")||(builtins.elem "niri" config.components.windowManagers)) {
packages = lib.mkIf (config.info.isStandalone) [ pkgs.niri ];
activation.symlinkNiriConfig = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript {
target = "${config.home.homeDirectory}/.config/niri/config.kdl";
activation.linkNiriConfig = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript {
target = "${config.xdg.configHome}/niri/config.kdl";
source = "${config.info.rootPath}/dotfiles/${config.info.hostName}/niri.kdl";
});
};
@@ -0,0 +1,49 @@
{ inputs, self, ... }: let
color-converter-package = { lib, pkgs }: pkgs.python3Packages.buildPythonApplication rec {
pname = "color-converter";
version = "1.0.0";
__structuredAttrs = true;
strictDeps = true;
pyproject = false;
src = pkgs.fetchFromGitHub {
owner = "sotrali";
repo = "color-converter";
tag = "v${version}";
hash = "sha256-xvU7Z6rV+o0F9s1JBGnRWccK0JhZPL7BbPOsnZJLTJM=";
};
dontUnpack = true;
installPhase = ''
install -Dm755 "${src}/${pname}.py" "$out/bin/${pname}"
'';
meta = {
description = "A robust CLI color conversion utility";
homepage = "https://github.com/sotrali/color-converter";
changelog = "https://github.com/sotrali/color-converter/releases/tag/${src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ];
mainProgram = "color-converter";
platforms = lib.platforms.all;
};
};
in {
flake.nixosModules.global = { pkgs, lib, config, ... }: {
options.features.applications.cli.color-converter.enable = lib.mkEnableOption "color-converter";
config = lib.mkIf (config.features.applications.cli.color-converter.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) {
home-manager.users.grey.features.applications.cli.color-converter.enable = lib.mkDefault true;
} {
environment.systemPackages = [ (pkgs.callPackage color-converter-package {}) ];
});
};
flake.homeModules.global = { pkgs, config, lib, ... }: {
options.features.applications.cli.color-converter.enable = lib.mkEnableOption "color-converter";
config = lib.mkIf (config.features.applications.cli.color-converter.enable) {
home.packages = [ (pkgs.callPackage color-converter-package {}) ];
};
};
}
+31
View File
@@ -0,0 +1,31 @@
{ inputs, self, ... }: let
mkNhAttrs = flake: {
enable = true;
inherit flake;
clean = {
enable = true;
dates = "Sun 05:00";
extraArgs = "--keep 5 --keep-since 3d";
};
};
in {
flake.nixosModules.global = { pkgs, config, lib, ... }: {
options.features.applications.cli.nh.enable = lib.mkEnableOption "nh";
config = lib.mkIf (config.features.applications.cli.nh.enable) {
programs.nh = mkNhAttrs config.info.rootPath;
home-manager.users.grey = lib.mkIf (config.features.nixos.home-manager.enable) {
features.applications.cli.nh.enable = lib.mkDefault true;
};
};
};
flake.homeModules.global = { pkgs, config, lib, ... }: {
options.features.applications.cli.nh.enable = lib.mkEnableOption "nh";
config = lib.mkIf (config.features.applications.cli.nh.enable && config.info.isStandalone) {
programs.nh = mkNhAttrs config.info.rootPath;
};
};
}
@@ -17,17 +17,17 @@
home.activation = {
linkEquibopConfigSettings = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript {
target = "${config.home.homeDirectory}/.config/equibop/settings.json";
target = "${config.xdg.configHome}/equibop/settings.json";
source = "${config.info.rootPath}/dotfiles/${config.info.hostName}/equibop/settings.json";
});
linkEquibopConfigEquicordSettings = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript {
target = "${config.home.homeDirectory}/.config/equibop/settings/settings.json";
target = "${config.xdg.configHome}/equibop/settings/settings.json";
source = "${config.info.rootPath}/dotfiles/${config.info.hostName}/equibop/equicord-settings.json";
});
linkEquibopConfigQuickCss = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript {
target = "${config.home.homeDirectory}/.config/equibop/settings/quickCss.css";
target = "${config.xdg.configHome}/equibop/settings/quickCss.css";
source = "${config.info.rootPath}/dotfiles/${config.info.hostName}/equibop/quickCss.css";
});
};
+1 -1
View File
@@ -14,7 +14,7 @@
config = lib.mkIf (config.features.applications.gui.floorp.enable) (
let
firefox-addons = with pkgs; inputs.firefox-addons.packages.${system};
firefox-addons = with pkgs; inputs.firefox-addons.packages.${pkgs.stdenv.hostPlatform.system};
in {
programs.floorp = {
enable = true;
@@ -24,7 +24,6 @@
home.activation.linkRemminaPresets = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript {
target = "${config.home.homeDirectory}/.local/share/remmina";
source = "${config.info.rootPath}/dotfiles/${config.info.hostName}/remmina";
isDir = true;
});
};
};
+27 -10
View File
@@ -1,24 +1,42 @@
{ inputs, self, ... }: {
flake.nixosModules.graphics = { pkgs, config, lib, ... }: {
flake.nixosModules.graphics = { pkgs, config, lib, ... }: let
spicePkgs = inputs.spicetify.legacyPackages.${pkgs.stdenv.hostPlatform.system};
theme-option-type = with inputs.nixpkgs; lib.types.enum (builtins.attrNames spicePkgs.themes);
in {
options.features.applications.gui.spotify = {
enable = lib.mkEnableOption "spotify";
spicetify.enable = lib.mkEnableOption "spicetify";
spicetify = {
enable = lib.mkEnableOption "spicetify";
theme = lib.mkOption {
type = lib.types.nullOr (theme-option-type);
default = null;
};
};
};
config = lib.mkIf (config.features.applications.gui.spotify.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) {
home-manager.users.grey.features.applications.gui.spotify = {
enable = lib.mkDefault true;
spicetify.enable = lib.mkDefault config.features.applications.gui.spotify.spicetify.enable;
spicetify = lib.mkDefault config.features.applications.gui.spotify.spicetify;
};
} {
environment.systemPackages = [ pkgs.spotify ];
});
};
flake.homeModules.graphics = { pkgs, config, lib, ... }: {
flake.homeModules.graphics = { pkgs, config, lib, ... }: let
spicePkgs = inputs.spicetify.legacyPackages.${pkgs.stdenv.hostPlatform.system};
theme-option-type = with inputs.nixpkgs; lib.types.enum (builtins.attrNames spicePkgs.themes);
in {
options.features.applications.gui.spotify = {
enable = lib.mkEnableOption "spotify";
spicetify.enable = lib.mkEnableOption "spicetify";
spicetify = {
enable = lib.mkEnableOption "spicetify";
theme = lib.mkOption {
type = lib.types.nullOr (theme-option-type);
default = null;
};
};
};
imports = [
@@ -28,13 +46,10 @@
config = lib.mkIf (config.features.applications.gui.spotify.enable) {
home.packages = lib.mkIf (!config.features.applications.gui.spotify.spicetify.enable) [ pkgs.spotify ];
programs.spicetify =
let
spicePkgs = inputs.spicetify.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in lib.mkIf (config.features.applications.gui.spotify.spicetify.enable) {
programs.spicetify = lib.mkIf (config.features.applications.gui.spotify.spicetify.enable) {
enable = true;
enabledExtensions = with spicePkgs.extensions; [
hidePodcasts
# hidePodcasts
];
enabledSnippets = with spicePkgs.snippets; [
spinningCdCoverArt
@@ -47,6 +62,8 @@
enabledCustomApps = with spicePkgs.apps; [
# marketplace
];
theme = lib.mkIf (config.features.applications.gui.spotify.spicetify.theme != null) spicePkgs.themes.${config.features.applications.gui.spotify.spicetify.theme};
windowManagerPatch = true;
};
};
};
+2 -2
View File
@@ -17,12 +17,12 @@
home.activation = {
linkVsCodeConfigSettings = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript {
target = "${config.home.homeDirectory}/.config/Code/User/settings.json";
target = "${config.xdg.configHome}/Code/User/settings.json";
source = "${config.info.rootPath}/dotfiles/global/vscode/settings.json";
});
linkVsCodeConfigKeybindings = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript {
target = "${config.home.homeDirectory}/.config/Code/User/keybindings.json";
target = "${config.xdg.configHome}/Code/User/keybindings.json";
source = "${config.info.rootPath}/dotfiles/global/vscode/keybindings.json";
});
};
-19
View File
@@ -1,19 +0,0 @@
{ inputs, self, ... }: {
flake.nixosModules.global = { pkgs, config, lib, ... }: {
options.features.nixos.nh.enable = lib.mkOption {
type = lib.types.bool;
default = true;
};
config = lib.mkIf (config.features.nixos.nh.enable) {
environment.systemPackages = [
inputs.nh.packages.${pkgs.stdenv.hostPlatform.system}.default
];
programs.nh = {
enable = true;
flake = "/home/grey/nixos";
};
};
};
}
+14
View File
@@ -0,0 +1,14 @@
{ inputs, self, ... }: {
flake.homeModules.audio = { pkgs, config, lib, ...}: {
options.features.services.easyeffects.enable = lib.mkEnableOption "easyeffects";
config = lib.mkIf (config.features.services.easyeffects.enable) {
services.easyeffects.enable = true;
home.activation.linkEasyEffectsConfig = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript {
target = "${config.xdg.configHome}/easyeffects/db";
source = "${config.info.rootPath}/dotfiles/${config.info.hostName}/easyeffects";
});
};
};
}
+1 -3
View File
@@ -1,9 +1,7 @@
{ inputs, self, ... }: {
flake.nixosModules.global = { config, pkgs, lib, ... }: {
options.features.shells.defaultShell = lib.mkOption {
type = lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
builtins.attrNames (builtins.readDir "${self}/modules/features/shells")
));
type = inputs.helpers.mkEnumFromDirContents "${self}/modules/features/shells";
default = "zsh";
};
+12 -6
View File
@@ -1,6 +1,6 @@
{ inputs, self, ... }: {
flake.homeModules.global = { lib, config, pkgs, ... }: {
nix.gc = {
nix.gc = lib.mkIf (!config.features.applications.cli.nh.enable) {
automatic = true;
persistent = true;
dates = "Sun 05:00";
@@ -25,17 +25,23 @@
username = "grey";
homeDirectory = "/home/${config.home.username}";
file = inputs.helpers.homeFilesFromStringAttrs {
dir = ".local/bin";
attrs = config.features.applications.shellScripts;
exec = true;
};
file = inputs.helpers.localBinFromStringAttrs config.features.applications.shellScripts;
};
targets.genericLinux.enable = config.info.isStandalone;
xdg = {
enable = true;
localBinInPath = true;
portal = lib.mkIf (config.info.isStandalone) {
enable = true;
xdgOpenUsePortal = true;
config.common.default = "*";
extraPortals = with pkgs; [ xdg-desktop-portal-gtk xdg-desktop-portal-gnome ];
};
};
services.gnome-keyring.enable = config.info.isStandalone;
programs = {
git = {
+12 -1
View File
@@ -8,7 +8,7 @@
"flakes"
];
gc = {
gc = lib.mkIf (!config.features.applications.cli.nh.enable) {
automatic = true;
persistent = true;
dates = "Sun 05:00";
@@ -90,5 +90,16 @@
isStandalone = lib.mkDefault false;
};
};
xdg.portal = {
enable = true;
xdgOpenUsePortal = true;
config.common.default = "*";
extraPortals = with pkgs; [ xdg-desktop-portal-gtk xdg-desktop-portal-gnome ];
};
services.gnome.gnome-keyring.enable = true;
environment.pathsToLink = [ "/share/xdg-desktop-portal" "/share/applications" ]; # from description of this home-manager option: https://search.nixos.org/options?channel=26.05&query=xdg.portal.enable&source=home_manager&type=options
};
}
+1 -3
View File
@@ -19,9 +19,7 @@
};
components.bootLoader = lib.mkOption {
type = lib.types.enum (map (name: lib.removeSuffix ".nix" name) (
builtins.attrNames (builtins.readDir "${self}/modules/components/boot-loaders")
));
type = inputs.helpers.mkEnumFromDirContents "${self}/modules/components/boot-loaders";
default = "grub";
};
+2 -2
View File
@@ -5,8 +5,8 @@
shutdown-takamaki = "ssh takamaki universal-shutdown";
reboot-takamaki = "ssh takamaki universal-reboot";
switch-takamaki-os = "ssh takamaki switch-os";
apply-config = "zsh -c 'cd /home/grey/nixos; git add .; nh os switch .'";
update-system = "zsh -c 'cd /home/grey/nixos; git add .; nh os switch -u .'";
apply-config = "zsh -c 'cd ${config.info.rootPath}; git add .; nh os switch .'";
update-system = "zsh -c 'cd ${config.info.rootPath}; git add .; nh os switch -u .'";
};
};
}
+1
View File
@@ -46,6 +46,7 @@
cli = {
fastfetch.enable = true;
nh.enable = true;
};
extraPackages = with pkgs; [
+15
View File
@@ -0,0 +1,15 @@
{ inputs, self, ... }: {
flake.homeModules."grey@takamaki" = { pkgs, config, lib, ... }: {
programs.kitty = {
font = lib.mkForce {
name = "Jetbrains Mono";
package = pkgs.nerd-fonts.jetbrains-mono;
size = 12;
};
extraConfig = ''
include ${config.xdg.configHome}/kitty/themes/noctalia.conf
'';
};
};
}
+7 -5
View File
@@ -1,9 +1,11 @@
{ inputs, self, ... }: {
flake.homeModules.takamaki = { config, pkgs, ... }: {
programs.zsh.shellAliases = {
apply-config = "zsh -c 'cd ${config.info.rootPath}; git add .; home-manager switch --flake .#takamaki -b bak'";
apply-config-trace = "zsh -c 'cd ${config.info.rootPath}; git add .; home-manager switch --flake .#takamaki -b bak --show-trace'";
update-config = "zsh -c 'cd ${config.info.rootPath}; git add .; nix flake update; home-manager switch --flake .#takamaki -b bak'";
flake.homeModules."grey@takamaki" = { config, pkgs, ... }: {
programs.zsh.shellAliases = let
mkConfigCommand = args: "zsh -c 'cd ${config.info.rootPath}; git add .; nh home switch ${args} -b bak'";
in {
apply-config = mkConfigCommand "";
trace-config = mkConfigCommand "-t";
update-config = mkConfigCommand "-u";
};
};
}
+69 -35
View File
@@ -1,16 +1,17 @@
{ inputs, self, ... }: {
flake.homeConfigurations.takamaki = inputs.home-manager.lib.homeManagerConfiguration {
flake.homeConfigurations."grey@takamaki" = inputs.home-manager.lib.homeManagerConfiguration {
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
modules = with self.homeModules; [
takamaki
modules = [
self.homeModules."grey@takamaki"
inputs.stylix.homeModules.stylix
];
extraSpecialArgs = { inherit inputs; };
};
flake.homeModules.takamaki = { pkgs, config, lib, ... }: {
flake.homeModules."grey@takamaki" = { pkgs, config, lib, ... }: {
imports = with self.homeModules; [
global
audio
graphics
];
@@ -27,22 +28,63 @@
'';
};
components = {
windowManagers = "niri";
shells = "noctalia";
};
features = {
shells.zsh = {
enable = true;
antidote.enable = true;
};
services = {
easyeffects.enable = true;
};
applications = {
cli = {
fastfetch.enable = true;
color-converter.enable = true;
nh.enable = true;
};
gui = {
vscode.enable = true;
equibop.enable = true;
kitty.enable = true;
spotify = {
enable = true;
spicetify = {
enable = true;
theme = "comfy";
};
};
};
shellScripts = {
extraPackages = with pkgs; [
nix-init
github-desktop
];
shellScripts = let
mkBrightnessScript = direction: ''
LOOP_COUNTER=0
DEVICE=$1
PRETTY_NAME=$(sudo ddccontrol dev:$DEVICE 2>&1 >/dev/null | grep -oP "/usr/share/ddccontrol-db/monitor/\K.+\.xml" | sed 's/.xml//')
WRITTEN="foo"
CONTROL="bar"
while [[ "$WRITTEN" != "$CONTROL" ]] && [ $LOOP_COUNTER -lt 3 ]; do
RESULT=$(sudo ddccontrol -r 0x10 -W ${direction}5 dev:$DEVICE 2> /dev/null)
WRITTEN=$(echo $RESULT | grep -oP "Writing.+\(\K\d{1,3}\)" | sed 's/)//')
CONTROL=$(echo $RESULT | grep -oP "Control.+\+/\K\d{1,3}/100" | sed 's/\/100//')
LOOP_COUNTER=$(($LOOP_COUNTER + 1))
done
noctalia msg notification-show "Set brightness to $WRITTEN for display $PRETTY_NAME"
'';
in {
switch-os = ''
sudo efibootmgr --bootnext 0000
sudo reboot
@@ -55,38 +97,30 @@
universal-shutdown = ''
sudo systemctl poweroff
'';
toggle-easyeffects = lib.mkIf (config.features.services.easyeffects.enable) ''
bypass_value=$(easyeffects -b 3)
if [ "$bypass_value" = "1" ]; then
easyeffects -b 2
else
easyeffects -b 1
fi
'';
increase-brightness = mkBrightnessScript "+";
decrease-brightness = mkBrightnessScript "-";
};
};
};
extraPackages = with pkgs; [
(writeShellScriptBin "increase-brightness" ''
LOOP_COUNTER=0
DEVICE=$1
PRETTY_NAME=$(sudo ddccontrol dev:$DEVICE 2>&1 >/dev/null | grep -oP "/usr/share/ddccontrol-db/monitor/\K.+\.xml" | sed 's/.xml//')
while
RESULT=$(sudo ddccontrol -r 0x10 -W +5 dev:$DEVICE 2> /dev/null)
WRITTEN=$(echo $RESULT | grep -oP "Writing.+\(\K\d{1,3}\)" | sed 's/)//')
CONTROL=$(echo $RESULT | grep -oP "Control.+\+/\K\d{1,3}/100" | sed 's/\/100//')
LOOP_COUNTER=$(($LOOP_COUNTER + 1))
[[ "$WRITTEN" != "$CONTROL" ]] && [ $LOOP_COUNTER -lt 5 ]
do true; done
noctalia msg notification-show "Set brightness to $WRITTEN for display $PRETTY_NAME"
'')
(writeShellScriptBin "decrease-brightness" ''
LOOP_COUNTER=0
DEVICE=$1
PRETTY_NAME=$(sudo ddccontrol dev:$DEVICE 2>&1 >/dev/null | grep -oP "/usr/share/ddccontrol-db/monitor/\K.+\.xml" | sed 's/.xml//')
while
RESULT=$(sudo ddccontrol -r 0x10 -W -5 dev:$DEVICE 2> /dev/null)
WRITTEN=$(echo $RESULT | grep -oP "Writing.+\(\K\d{1,3}\)" | sed 's/)//')
CONTROL=$(echo $RESULT | grep -oP "Control.+\+/\K\d{1,3}/100" | sed 's/\/100//')
LOOP_COUNTER=$(($LOOP_COUNTER + 1))
[[ "$WRITTEN" != "$CONTROL" ]] && [ $LOOP_COUNTER -lt 5 ]
do true; done
noctalia msg notification-show "Set brightness to $WRITTEN for display $PRETTY_NAME"
'')
];
programs.ssh.settings = {
"sakamoto" = {
HostName = "192.168.0.40";
Port = "22";
User = "grey";
IdentityFile = "~/.ssh/id_sakamoto";
};
};
};