better consistency, add dotfiles for takamaki and new features
This commit is contained in:
35 files changed
+2455
-190
No files matched your search
+7
@@ -0,0 +1,7 @@
|
||||
[sie][DeepFilterNet#0]
|
||||
attenuationLimit=30
|
||||
maxDfProcessingThreshold=5
|
||||
maxErbProcessingThreshold=0
|
||||
minProcessingBuffer=5
|
||||
minProcessingThreshold=-5
|
||||
postFilterBeta=0.029999999329447746
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
[sie][Deesser#0]
|
||||
ratio=16
|
||||
threshold=-40
|
||||
Executable
+23
@@ -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
|
||||
Executable
+288
@@ -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
|
||||
Executable
+22
@@ -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
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
[sie][Limiter#0]
|
||||
alrKnee=-0.5
|
||||
alrRelease=30
|
||||
attack=2
|
||||
gainBoost=false
|
||||
inputGain=32
|
||||
lookahead=2
|
||||
release=4
|
||||
+1252
File diff suppressed because it is too large.
Load diff
Executable
+42
@@ -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 */
|
||||
};
|
||||
Executable
+26
@@ -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
|
||||
}
|
||||
@@ -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 @@
|
||||
|
||||
@@ -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
@@ -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": {
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
@@ -20,21 +20,19 @@
|
||||
enable = true;
|
||||
useNautilus = true;
|
||||
# override niri source to use https://github.com/niri-wm/niri/pull/3642
|
||||
package = (pkgs.niri.overrideAttrs (finalAttrs: prevAttrs:
|
||||
{
|
||||
cargoHash = "sha256-HypBB3PL4nVFMNH2+jEK0+dG9dJ920nHi8GwRoeH/v4=";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "niri-wm";
|
||||
repo = "niri";
|
||||
rev = "cb41d54703eef73883bb2be58e19bcf3715d777c";
|
||||
sha256 = "sha256-cLzTeMcCdQJ+kHGcOposjeheFyEG/tGOA1jFAORMHjI=";
|
||||
};
|
||||
cargoDeps = pkgs.rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) pname src version;
|
||||
hash = finalAttrs.cargoHash;
|
||||
};
|
||||
}
|
||||
));
|
||||
package = (pkgs.niri.overrideAttrs (finalAttrs: prevAttrs: {
|
||||
cargoHash = "sha256-HypBB3PL4nVFMNH2+jEK0+dG9dJ920nHi8GwRoeH/v4=";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "niri-wm";
|
||||
repo = "niri";
|
||||
rev = "cb41d54703eef73883bb2be58e19bcf3715d777c";
|
||||
sha256 = "sha256-cLzTeMcCdQJ+kHGcOposjeheFyEG/tGOA1jFAORMHjI=";
|
||||
};
|
||||
cargoDeps = pkgs.rustPlatform.fetchCargoVendor {
|
||||
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 {}) ];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
});
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -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";
|
||||
});
|
||||
};
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -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,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
@@ -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,18 +25,24 @@
|
||||
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 = {
|
||||
enable = true;
|
||||
|
||||
@@ -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
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
|
||||
@@ -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 .'";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -46,6 +46,7 @@
|
||||
|
||||
cli = {
|
||||
fastfetch.enable = true;
|
||||
nh.enable = true;
|
||||
};
|
||||
|
||||
extraPackages = with pkgs; [
|
||||
|
||||
@@ -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
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Reference in new issue
Block a user