Desktop usability adjustments #1
							
								
								
									
										33
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								README.md
									
									
									
									
									
								
							@@ -26,10 +26,18 @@ Run
 | 
				
			|||||||
```bash
 | 
					```bash
 | 
				
			||||||
nixos-rebuild switch --flake <target>#<machine>
 | 
					nixos-rebuild switch --flake <target>#<machine>
 | 
				
			||||||
# for instance
 | 
					# for instance
 | 
				
			||||||
nixos-rebuild switch --flake .#spectre
 | 
					nixos-rebuild switch --flake .#Nixtre
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
to apply the configuration.
 | 
					to apply the configuration.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Using `nh`
 | 
				
			||||||
 | 
					Updating from a local config is now easy - since `nh` is already specified as installed:
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					nix flake update
 | 
				
			||||||
 | 
					nh os switch .
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Installer iso
 | 
					### Installer iso
 | 
				
			||||||
To build an installer iso, run
 | 
					To build an installer iso, run
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
@@ -38,11 +46,32 @@ nix build .#nixosConfigurations.bcachefs-iso.config.system.build.isoImage
 | 
				
			|||||||
This will create an iso image in the result directory.
 | 
					This will create an iso image in the result directory.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Installation
 | 
				
			||||||
 | 
					TODO - disable root user
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					 I install with --no-root-passwd and set users.mutableUsers = false in configuration.nix
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## TODO
 | 
				
			||||||
 | 
					- Have a wofi power menu with https://github.com/RiteshChepuri/wofi-scripts/blob/main/wofi-power-menu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Inspirations
 | 
					## Inspirations
 | 
				
			||||||
- https://github.com/the-nix-way/dev-templates
 | 
					- https://github.com/the-nix-way/dev-templates
 | 
				
			||||||
- https://fasterthanli.me/series/building-a-rust-service-with-nix/part-10
 | 
					- https://fasterthanli.me/series/building-a-rust-service-with-nix/part-10
 | 
				
			||||||
- https://ianthehenry.com/posts/how-to-learn-nix/profiles/
 | 
					- https://ianthehenry.com/posts/how-to-learn-nix/profiles
 | 
				
			||||||
- https://github.com/JohnRTitor/nix-conf
 | 
					- https://github.com/JohnRTitor/nix-conf
 | 
				
			||||||
- https://github.com/mwaldleben/nix-config
 | 
					- https://github.com/mwaldleben/nix-config
 | 
				
			||||||
- https://github.com/anotherhadi/nixy
 | 
					- https://github.com/anotherhadi/nixy
 | 
				
			||||||
 | 
					- https://github.com/Numb-0/nix-0
 | 
				
			||||||
 | 
					- https://github.com/Frost-Phoenix/nixos-config
 | 
				
			||||||
 | 
					- https://github.com/elifouts/Dotfiles
 | 
				
			||||||
 | 
					- https://github.com/nomadics9/nixcfg
 | 
				
			||||||
 | 
					- https://github.com/Daholli/nixos-config
 | 
				
			||||||
 | 
					- https://github.com/khaneliman/khanelinix
 | 
				
			||||||
 | 
					- https://github.com/NotAShelf/nyx
 | 
				
			||||||
 | 
					- https://copeberg.org/bloxx12/nichts
 | 
				
			||||||
 | 
					- https://github.com/fufexan/dotfiles
 | 
				
			||||||
 | 
					- https://github.com/spikespaz/dotfiles
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										471
									
								
								dconf.conf
									
									
									
									
									
								
							
							
						
						
									
										471
									
								
								dconf.conf
									
									
									
									
									
								
							@@ -1,471 +0,0 @@
 | 
				
			|||||||
[io/github/celluloid-player/celluloid]
 | 
					 | 
				
			||||||
settings-migrated=true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[io/github/celluloid-player/celluloid/window-state]
 | 
					 | 
				
			||||||
height=425
 | 
					 | 
				
			||||||
loop-playlist=false
 | 
					 | 
				
			||||||
maximized=true
 | 
					 | 
				
			||||||
playlist-width=250
 | 
					 | 
				
			||||||
show-controls=true
 | 
					 | 
				
			||||||
show-playlist=false
 | 
					 | 
				
			||||||
volume=0.80000000000000004
 | 
					 | 
				
			||||||
width=296
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/Console]
 | 
					 | 
				
			||||||
audible-bell=false
 | 
					 | 
				
			||||||
font-scale=1.0
 | 
					 | 
				
			||||||
last-window-maximised=true
 | 
					 | 
				
			||||||
last-window-size=(1131, 1048)
 | 
					 | 
				
			||||||
theme='night'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/Extensions]
 | 
					 | 
				
			||||||
window-maximized=true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/Loupe]
 | 
					 | 
				
			||||||
show-properties=true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/Weather]
 | 
					 | 
				
			||||||
locations=[<(uint32 2, <('Zürich', 'LSZH', true, [(0.82874050067087668, 0.14893475701908529)], [(0.82670429484574492, 0.14922565104551519)])>)>]
 | 
					 | 
				
			||||||
window-height=495
 | 
					 | 
				
			||||||
window-maximized=false
 | 
					 | 
				
			||||||
window-width=992
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/World/Secrets]
 | 
					 | 
				
			||||||
last-opened-database='davs://nextcloud.kluster.moll.re/remote.php/dav/files/admin/Various/KeePass/keepass.kdbx'
 | 
					 | 
				
			||||||
last-opened-list=['davs://nextcloud.kluster.moll.re/remote.php/dav/files/admin/Various/KeePass/keepass.kdbx']
 | 
					 | 
				
			||||||
window-size=[960, 1048]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/calculator]
 | 
					 | 
				
			||||||
accuracy=9
 | 
					 | 
				
			||||||
angle-units='degrees'
 | 
					 | 
				
			||||||
base=10
 | 
					 | 
				
			||||||
button-mode='basic'
 | 
					 | 
				
			||||||
number-format='automatic'
 | 
					 | 
				
			||||||
refresh-interval=0
 | 
					 | 
				
			||||||
show-thousands=false
 | 
					 | 
				
			||||||
show-zeroes=false
 | 
					 | 
				
			||||||
source-currency=''
 | 
					 | 
				
			||||||
source-units='degree'
 | 
					 | 
				
			||||||
target-currency=''
 | 
					 | 
				
			||||||
target-units='radian'
 | 
					 | 
				
			||||||
window-maximized=false
 | 
					 | 
				
			||||||
window-size=(360, 740)
 | 
					 | 
				
			||||||
word-size=64
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/calendar]
 | 
					 | 
				
			||||||
active-view='month'
 | 
					 | 
				
			||||||
window-maximized=true
 | 
					 | 
				
			||||||
window-size=(768, 600)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/clocks/state/window]
 | 
					 | 
				
			||||||
maximized=false
 | 
					 | 
				
			||||||
panel-id='world'
 | 
					 | 
				
			||||||
size=(870, 690)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/control-center]
 | 
					 | 
				
			||||||
last-panel='display'
 | 
					 | 
				
			||||||
window-state=(1718, 851, false)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/app-folders]
 | 
					 | 
				
			||||||
folder-children=['Utilities', 'YaST', '1aa8a471-a3d4-448f-979d-708f041bd93e', '9a796cbb-fc11-4e0c-92ea-bbf29cc78df0', 'a683fc46-9a24-41c2-91e9-7637c554fdc4', 'aee3ca9c-d66d-42f4-9b76-4dda08403814', '599d49f8-20cb-482c-a619-451cf4f561a3', '212ada4d-a2fa-4063-b6b1-24b711d4e9ab', '862c0f6e-86e2-40fe-a06f-5d638a5bc5e7', '90c1ffb4-572f-4a17-8793-a248f0ee26e4', 'f5961050-635b-4ad1-91e1-3a67538a236b', '5ea1c1fc-c589-42d3-bbaa-05428cb9e434', '496a9ca3-5d6b-4231-9434-cf1da320fe55']
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/app-folders/folders/1aa8a471-a3d4-448f-979d-708f041bd93e]
 | 
					 | 
				
			||||||
apps=['bvnc.desktop', 'avahi-discover.desktop', 'bssh.desktop', 'thorium-shell.desktop', 'org.gnome.PowerStats.desktop', 'stoken-gui-small.desktop', 'stoken-gui.desktop', 'qvidcap.desktop', 'qv4l2.desktop', 'electron25.desktop', 'btop.desktop', 'lstopo.desktop', 'mpv.desktop', 'gtk-lshw.desktop']
 | 
					 | 
				
			||||||
name='Useless'
 | 
					 | 
				
			||||||
translate=false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/app-folders/folders/212ada4d-a2fa-4063-b6b1-24b711d4e9ab]
 | 
					 | 
				
			||||||
apps=['jhelioviewer.desktop']
 | 
					 | 
				
			||||||
name='Unnamed Folder'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/app-folders/folders/496a9ca3-5d6b-4231-9434-cf1da320fe55]
 | 
					 | 
				
			||||||
apps=['com.github.flxzt.rnote.desktop', 'dev.linwood.butterfly.desktop', 'com.github.scrivanolabs.scrivano.desktop']
 | 
					 | 
				
			||||||
name='Unnamed Folder'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/app-folders/folders/599d49f8-20cb-482c-a619-451cf4f561a3]
 | 
					 | 
				
			||||||
apps=['electron28.desktop', 'electron30.desktop', 'electron29.desktop', 'cmake-gui.desktop', 'electron31.desktop', 'jshell-java17-openjdk.desktop', 'jconsole-java17-openjdk.desktop']
 | 
					 | 
				
			||||||
name='Programming'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/app-folders/folders/5ea1c1fc-c589-42d3-bbaa-05428cb9e434]
 | 
					 | 
				
			||||||
apps=['com.calibre_ebook.calibre.ebook-viewer.desktop', 'com.calibre_ebook.calibre.lrfviewer.desktop', 'com.calibre_ebook.calibre.ebook-edit.desktop', 'com.calibre_ebook.calibre.desktop']
 | 
					 | 
				
			||||||
name='Calibre'
 | 
					 | 
				
			||||||
translate=false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/app-folders/folders/862c0f6e-86e2-40fe-a06f-5d638a5bc5e7]
 | 
					 | 
				
			||||||
apps=['net.danigm.timetrack.desktop']
 | 
					 | 
				
			||||||
name='Unnamed Folder'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/app-folders/folders/90c1ffb4-572f-4a17-8793-a248f0ee26e4]
 | 
					 | 
				
			||||||
apps=['com.mattjakeman.ExtensionManager.desktop', 'org.gnome.Extensions.desktop']
 | 
					 | 
				
			||||||
name='Accessories'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/app-folders/folders/9a796cbb-fc11-4e0c-92ea-bbf29cc78df0]
 | 
					 | 
				
			||||||
apps=['Deep Rock Galactic.desktop', 'The Sims 4.desktop', 'steam.desktop', 'org.ryujinx.Ryujinx.desktop', 'net.veloren.airshipper.desktop', 'org.DolphinEmu.dolphin-emu.desktop', 'discord.desktop', 'simutrans.desktop', 'Darksiders Warmastered Edition.desktop', 'gearlever_curseforge_cd3cee.desktop']
 | 
					 | 
				
			||||||
name='Games'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/app-folders/folders/Utilities]
 | 
					 | 
				
			||||||
apps=['gnome-abrt.desktop', 'gnome-system-log.desktop', 'nm-connection-editor.desktop', 'org.gnome.baobab.desktop', 'org.gnome.Connections.desktop', 'org.gnome.DejaDup.desktop', 'org.gnome.Dictionary.desktop', 'org.gnome.DiskUtility.desktop', 'org.gnome.eog.desktop', 'org.gnome.FileRoller.desktop', 'org.gnome.fonts.desktop', 'org.gnome.seahorse.Application.desktop', 'org.gnome.tweaks.desktop', 'org.gnome.Usage.desktop', 'vinagre.desktop']
 | 
					 | 
				
			||||||
categories=['X-GNOME-Utilities']
 | 
					 | 
				
			||||||
excluded-apps=['org.gnome.Evince.desktop']
 | 
					 | 
				
			||||||
name='X-GNOME-Utilities.directory'
 | 
					 | 
				
			||||||
translate=true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/app-folders/folders/YaST]
 | 
					 | 
				
			||||||
categories=['X-SuSE-YaST']
 | 
					 | 
				
			||||||
name='suse-yast.directory'
 | 
					 | 
				
			||||||
translate=true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/app-folders/folders/a683fc46-9a24-41c2-91e9-7637c554fdc4]
 | 
					 | 
				
			||||||
apps=['jconsole-java-openjdk.desktop', 'jshell-java-openjdk.desktop']
 | 
					 | 
				
			||||||
name='Unnamed Folder'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/app-folders/folders/aee3ca9c-d66d-42f4-9b76-4dda08403814]
 | 
					 | 
				
			||||||
apps=['codium-wayland.desktop', 'codium.desktop']
 | 
					 | 
				
			||||||
name='Accessories'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/app-folders/folders/f5961050-635b-4ad1-91e1-3a67538a236b]
 | 
					 | 
				
			||||||
apps=['cafe.avery.Delfin.desktop']
 | 
					 | 
				
			||||||
name='Unnamed Folder'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/background]
 | 
					 | 
				
			||||||
color-shading-type='solid'
 | 
					 | 
				
			||||||
picture-options='zoom'
 | 
					 | 
				
			||||||
picture-uri='file:///mnt/media/@Bulk/Wallpaper/Linux/arch_btw_Gilded Glow.png'
 | 
					 | 
				
			||||||
picture-uri-dark='file:///mnt/media/@Bulk/Wallpaper/Linux/arch_btw_Gilded Glow.png'
 | 
					 | 
				
			||||||
primary-color='#000000000000'
 | 
					 | 
				
			||||||
secondary-color='#000000000000'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/calendar]
 | 
					 | 
				
			||||||
show-weekdate=false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/input-sources]
 | 
					 | 
				
			||||||
per-window=true
 | 
					 | 
				
			||||||
sources=[('xkb', 'de'), ('xkb', 'ch'), ('xkb', 'us')]
 | 
					 | 
				
			||||||
xkb-options=['lv3:ralt_switch']
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/interface]
 | 
					 | 
				
			||||||
clock-show-weekday=true
 | 
					 | 
				
			||||||
color-scheme='prefer-dark'
 | 
					 | 
				
			||||||
cursor-theme='Qogir'
 | 
					 | 
				
			||||||
enable-animations=true
 | 
					 | 
				
			||||||
font-antialiasing='rgba'
 | 
					 | 
				
			||||||
font-hinting='slight'
 | 
					 | 
				
			||||||
font-name='Cantarell 11'
 | 
					 | 
				
			||||||
icon-theme='Qogir'
 | 
					 | 
				
			||||||
monospace-font-name='Fira Code 10'
 | 
					 | 
				
			||||||
show-battery-percentage=true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/peripherals/keyboard]
 | 
					 | 
				
			||||||
numlock-state=true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/peripherals/mouse]
 | 
					 | 
				
			||||||
natural-scroll=false
 | 
					 | 
				
			||||||
speed=0.20851063829787231
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/peripherals/stylus/default-04f3:2817]
 | 
					 | 
				
			||||||
eraser-pressure-curve=[0, 0, 100, 100]
 | 
					 | 
				
			||||||
pressure-curve=[0, 0, 100, 100]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/peripherals/tablets/04f3:2817]
 | 
					 | 
				
			||||||
area=[0.0, 0.0, 0.0, 0.0]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/peripherals/touchpad]
 | 
					 | 
				
			||||||
speed=0.16872427983539096
 | 
					 | 
				
			||||||
tap-to-click=true
 | 
					 | 
				
			||||||
two-finger-scrolling-enabled=true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/privacy]
 | 
					 | 
				
			||||||
old-files-age=uint32 30
 | 
					 | 
				
			||||||
recent-files-max-age=30
 | 
					 | 
				
			||||||
report-technical-problems=false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/remote-desktop/rdp]
 | 
					 | 
				
			||||||
enable=false
 | 
					 | 
				
			||||||
screen-share-mode='extend'
 | 
					 | 
				
			||||||
tls-cert='/home/remy/.local/share/gnome-remote-desktop/rdp-tls.crt'
 | 
					 | 
				
			||||||
tls-key='/home/remy/.local/share/gnome-remote-desktop/rdp-tls.key'
 | 
					 | 
				
			||||||
view-only=true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/screensaver]
 | 
					 | 
				
			||||||
color-shading-type='solid'
 | 
					 | 
				
			||||||
picture-options='zoom'
 | 
					 | 
				
			||||||
picture-uri='file:///home/remy/.local/share/backgrounds/2022-09-12-22-02-00-arch_btw_In%20the%20Noise.png'
 | 
					 | 
				
			||||||
primary-color='#000000000000'
 | 
					 | 
				
			||||||
secondary-color='#000000000000'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/search-providers]
 | 
					 | 
				
			||||||
disabled=@as []
 | 
					 | 
				
			||||||
sort-order=['org.gnome.Contacts.desktop', 'org.gnome.Documents.desktop', 'org.gnome.Nautilus.desktop']
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/session]
 | 
					 | 
				
			||||||
idle-delay=uint32 300
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/sound]
 | 
					 | 
				
			||||||
event-sounds=true
 | 
					 | 
				
			||||||
theme-name='__custom'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/wm/keybindings]
 | 
					 | 
				
			||||||
maximize=@as []
 | 
					 | 
				
			||||||
switch-input-source=@as []
 | 
					 | 
				
			||||||
switch-input-source-backward=@as []
 | 
					 | 
				
			||||||
unmaximize=@as []
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/desktop/wm/preferences]
 | 
					 | 
				
			||||||
action-middle-click-titlebar='lower'
 | 
					 | 
				
			||||||
action-right-click-titlebar='none'
 | 
					 | 
				
			||||||
button-layout='appmenu:close'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/eog/ui]
 | 
					 | 
				
			||||||
sidebar=false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/eog/view]
 | 
					 | 
				
			||||||
background-color='rgb(0,0,0)'
 | 
					 | 
				
			||||||
use-background-color=true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/evince]
 | 
					 | 
				
			||||||
document-directory=@ms 'file:///home/remy/Downloads'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/evince/default]
 | 
					 | 
				
			||||||
continuous=true
 | 
					 | 
				
			||||||
dual-page=false
 | 
					 | 
				
			||||||
dual-page-odd-left=false
 | 
					 | 
				
			||||||
enable-spellchecking=true
 | 
					 | 
				
			||||||
fullscreen=false
 | 
					 | 
				
			||||||
inverted-colors=false
 | 
					 | 
				
			||||||
show-sidebar=false
 | 
					 | 
				
			||||||
sidebar-page='thumbnails'
 | 
					 | 
				
			||||||
sidebar-size=133
 | 
					 | 
				
			||||||
sizing-mode='free'
 | 
					 | 
				
			||||||
window-ratio=(1.4368686868686869, 1.8659493444606587)
 | 
					 | 
				
			||||||
zoom=0.46691813714666941
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/evolution-data-server]
 | 
					 | 
				
			||||||
migrated=true
 | 
					 | 
				
			||||||
network-monitor-gio-name=''
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/file-roller/dialogs/add]
 | 
					 | 
				
			||||||
current-folder='file:///home/remy/Downloads'
 | 
					 | 
				
			||||||
exclude-files=''
 | 
					 | 
				
			||||||
exclude-folders=''
 | 
					 | 
				
			||||||
include-files='*'
 | 
					 | 
				
			||||||
no-symlinks=true
 | 
					 | 
				
			||||||
selected-files=@as []
 | 
					 | 
				
			||||||
update=false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/file-roller/dialogs/extract]
 | 
					 | 
				
			||||||
height=800
 | 
					 | 
				
			||||||
recreate-folders=true
 | 
					 | 
				
			||||||
skip-newer=false
 | 
					 | 
				
			||||||
width=1000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/file-roller/file-selector]
 | 
					 | 
				
			||||||
show-hidden=false
 | 
					 | 
				
			||||||
sidebar-size=168
 | 
					 | 
				
			||||||
window-size=(-1, -1)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/file-roller/listing]
 | 
					 | 
				
			||||||
list-mode='as-folder'
 | 
					 | 
				
			||||||
name-column-width=410
 | 
					 | 
				
			||||||
show-path=false
 | 
					 | 
				
			||||||
sort-method='name'
 | 
					 | 
				
			||||||
sort-type='descending'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/file-roller/ui]
 | 
					 | 
				
			||||||
sidebar-width=200
 | 
					 | 
				
			||||||
window-height=1001
 | 
					 | 
				
			||||||
window-width=960
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/libgnomekbd/preview]
 | 
					 | 
				
			||||||
height=611
 | 
					 | 
				
			||||||
width=1464
 | 
					 | 
				
			||||||
x=240
 | 
					 | 
				
			||||||
y=135
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/mutter]
 | 
					 | 
				
			||||||
attach-modal-dialogs=false
 | 
					 | 
				
			||||||
edge-tiling=false
 | 
					 | 
				
			||||||
experimental-features=['kms-modifiers']
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/mutter/keybindings]
 | 
					 | 
				
			||||||
toggle-tiled-left=@as []
 | 
					 | 
				
			||||||
toggle-tiled-right=@as []
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/nautilus/compression]
 | 
					 | 
				
			||||||
default-compression-format='zip'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/nautilus/preferences]
 | 
					 | 
				
			||||||
default-folder-viewer='list-view'
 | 
					 | 
				
			||||||
migrated-gtk-settings=true
 | 
					 | 
				
			||||||
search-filter-time-type='last_modified'
 | 
					 | 
				
			||||||
search-view='list-view'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/nautilus/window-state]
 | 
					 | 
				
			||||||
initial-size=(1920, 1048)
 | 
					 | 
				
			||||||
maximized=true
 | 
					 | 
				
			||||||
sidebar-width=157
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/power-manager]
 | 
					 | 
				
			||||||
info-history-time=604800
 | 
					 | 
				
			||||||
info-history-type='charge'
 | 
					 | 
				
			||||||
info-last-device='/org/freedesktop/UPower/devices/battery_BAT0'
 | 
					 | 
				
			||||||
info-page-number=1
 | 
					 | 
				
			||||||
info-stats-type='discharge-accuracy'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/settings-daemon/peripherals/touchscreen]
 | 
					 | 
				
			||||||
orientation-lock=false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/settings-daemon/plugins/media-keys]
 | 
					 | 
				
			||||||
custom-keybindings=['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0]
 | 
					 | 
				
			||||||
binding='<Super>space'
 | 
					 | 
				
			||||||
command='ulauncher'
 | 
					 | 
				
			||||||
name='Ulauncher'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/settings-daemon/plugins/power]
 | 
					 | 
				
			||||||
power-button-action='hibernate'
 | 
					 | 
				
			||||||
sleep-inactive-ac-timeout=3600
 | 
					 | 
				
			||||||
sleep-inactive-battery-type='suspend'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/shell]
 | 
					 | 
				
			||||||
app-picker-layout=[{'org.gnome.Settings.desktop': <{'position': <0>}>, 'com.github.tchx84.Flatseal.desktop': <{'position': <1>}>, 'aee3ca9c-d66d-42f4-9b76-4dda08403814': <{'position': <2>}>, 'org.gnome.Software.desktop': <{'position': <3>}>, 'org.pipewire.Helvum.desktop': <{'position': <4>}>, 'com.spotify.Client.desktop': <{'position': <5>}>, 'org.gnome.Evince.desktop': <{'position': <6>}>, 'org.keepassxc.KeePassXC.desktop': <{'position': <7>}>, 'us.zoom.Zoom.desktop': <{'position': <8>}>, 'org.onlyoffice.desktopeditors.desktop': <{'position': <9>}>, '496a9ca3-5d6b-4231-9434-cf1da320fe55': <{'position': <10>}>, 'io.podman_desktop.PodmanDesktop.desktop': <{'position': <11>}>, 'io.element.Element.desktop': <{'position': <12>}>, '9a796cbb-fc11-4e0c-92ea-bbf29cc78df0': <{'position': <13>}>, 'org.mozilla.Thunderbird.desktop': <{'position': <14>}>, 'com.discordapp.Discord.desktop': <{'position': <15>}>, 'org.gnome.Loupe.desktop': <{'position': <16>}>, 'owncloud.desktop': <{'position': <17>}>, 'Alacritty.desktop': <{'position': <18>}>, 'dev.zed.Zed.desktop': <{'position': <19>}>, 'zen-browser.desktop': <{'position': <20>}>}, {'1aa8a471-a3d4-448f-979d-708f041bd93e': <{'position': <0>}>, 'sqlitebrowser.desktop': <{'position': <1>}>, 'Utilities': <{'position': <2>}>, 'io.github.celluloid_player.Celluloid.desktop': <{'position': <3>}>, 'io.missioncenter.MissionCenter.desktop': <{'position': <4>}>, 'com.logseq.Logseq.desktop': <{'position': <5>}>, '599d49f8-20cb-482c-a619-451cf4f561a3': <{'position': <6>}>, 'org.inkscape.Inkscape.desktop': <{'position': <7>}>, '90c1ffb4-572f-4a17-8793-a248f0ee26e4': <{'position': <8>}>, '5ea1c1fc-c589-42d3-bbaa-05428cb9e434': <{'position': <9>}>, 'nvtop.desktop': <{'position': <10>}>, 'com.github.taiko2k.avvie.desktop': <{'position': <11>}>, 'ds9.desktop': <{'position': <12>}>, 'it.mijorus.gearlever.desktop': <{'position': <13>}>, 'org.gnome.Calculator.desktop': <{'position': <14>}>, 'fish.desktop': <{'position': <15>}>, 'scrcpy.desktop': <{'position': <16>}>, 'scrcpy-console.desktop': <{'position': <17>}>, 'org.gnome.Showtime.desktop': <{'position': <18>}>, 'gparted.desktop': <{'position': <19>}>}]
 | 
					 | 
				
			||||||
command-history=['r', 'restart', 'btop', 'terminal', 'console']
 | 
					 | 
				
			||||||
disable-user-extensions=false
 | 
					 | 
				
			||||||
disabled-extensions=['workspace-indicator@gnome-shell-extensions.gcampax.github.com', 'user-theme@gnome-shell-extensions.gcampax.github.com', 'bluetooth-quick-connect@bjarosze.gmail.com', 'launch-new-instance@gnome-shell-extensions.gcampax.github.com', 'just-perfection-desktop@just-perfection', 'syncthing@gnome.2nv2u.com', 'dash2dock-lite@icedman.github.com', 'awesome-tiles@velitasali.com', 'trayIconsReloaded@selfmade.pl']
 | 
					 | 
				
			||||||
enabled-extensions=['gestureImprovements@gestures', 'pano@elhan.io', 'clipboard-history@alexsaveau.dev', 'WallpaperSwitcher@Rishu', 'gsconnect@andyholmes.github.io', 'tiling-assistant@leleat-on-github', 'azwallpaper@azwallpaper.gitlab.com', 'caffeine@patapon.info', 'Vitals@CoreCoding.com', 'windowgestures@extension.amarullz.com', 'dash-to-dock@micxgx.gmail.com', 'tilingshell@ferrarodomenico.com', 'search-light@icedman.github.com', 'vscode-search-provider@mrmarble.github.com', 'appindicatorsupport@rgcjonas.gmail.com']
 | 
					 | 
				
			||||||
favorite-apps=['org.gnome.Nautilus.desktop', 'org.gnome.Console.desktop', 'obsidian.desktop', 'code.desktop', 'firefox.desktop']
 | 
					 | 
				
			||||||
had-bluetooth-devices-setup=true
 | 
					 | 
				
			||||||
last-selected-power-profile='power-saver'
 | 
					 | 
				
			||||||
remember-mount-password=false
 | 
					 | 
				
			||||||
welcome-dialog-last-shown-version='42.4'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/shell/extensions/azwallpaper]
 | 
					 | 
				
			||||||
slideshow-current-wallpapper='arch_btw_Gilded Glow.png'
 | 
					 | 
				
			||||||
slideshow-directory='/mnt/media/@Bulk/Wallpaper/Linux'
 | 
					 | 
				
			||||||
slideshow-slide-duration=(6, 0, 0)
 | 
					 | 
				
			||||||
slideshow-time-of-slide-start=uint64 1724945866662
 | 
					 | 
				
			||||||
slideshow-timer-remaining=17485
 | 
					 | 
				
			||||||
slideshow-wallpaper-queue=['arch_btw_Morning Dew.png', 'arch_btw_Red Wrath.png', 'arch_btw_Aquatic Shock.png', 'arch_btw_Industrial Blue.png', 'arch_btw_Cutting Edge.png', 'arch_btw_chad-z-lCPfh95L0nc-unsplash.jpg', 'arch_btw_Purple Nerves.png', 'arch_btw_Hypnotic Shock.png', 'arch_btw_New Waves.png', 'arch_btw_Chevron Sunset.png', 'arch_btw_Aurora Hills.png', 'arch_btw_Vileness.png', 'arch_btw_Red Undead.png', 'arch_btw_Sky Fire.png', 'arch_btw_ash-goldsbrough-YfgE8WCcZsQ-unsplash.jpg', 'arch_btw_stars-3840x2160-star-trail-galaxy-sky-4k-6k-18295.jpg', 'arch_btw_blue-green-and-red-abstract-illustration-1566909.jpg', 'arch_btw_patrick-fore-UxPYxMIDcKU-unsplash.jpg', 'arch_btw_Police Chase.png', 'arch_btw_polygon-3840x2160-4k-16202.jpg', 'arch_btw_Pitch.png', 'arch_btw_Acid Arrows.png', 'arch_btw_t-h-chia-1-Zr2ye5588-unsplash.jpg', 'arch_btw_Multiplex.png', 'arch_btw_silhouette-of-mountains-during-dawn-1809644.jpg', 'arch_btw_Hail Storm.png', "arch_btw_Uppin' Flames.png", 'arch_btw_Frostbite.png', 'arch_btw_Android P.png', "arch_btw_Ol' Reliable.png", 'arch_btw_Hex Glow.png', 'arch_btw_star-trail-photography-2868665.jpg', 'arch_btw_Industrial Blood.png', 'arch_btw_mountains_moon_canvas_172262_3840x2160.jpg', 'arch_btw_alex-perez-ioJBsYQ-pPM-unsplash.jpg', 'arch_btw_Neural Network.png', 'arch_btw_Cut Stone.png', 'arch_btw_Armageddon.png']
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/shell/extensions/caffeine]
 | 
					 | 
				
			||||||
countdown-timer=0
 | 
					 | 
				
			||||||
indicator-position-max=1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/shell/extensions/clipboard-history]
 | 
					 | 
				
			||||||
display-mode=0
 | 
					 | 
				
			||||||
private-mode=false
 | 
					 | 
				
			||||||
window-width-percentage=20
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/shell/extensions/gestureImprovements]
 | 
					 | 
				
			||||||
enable-alttab-gesture=false
 | 
					 | 
				
			||||||
enable-forward-back-gesture=true
 | 
					 | 
				
			||||||
forward-back-application-keyboard-shortcuts={'firefox.desktop': (1, false), 'org.chromium.Chromium.desktop': (1, false), 'org.gnome.gThumb.desktop': (2, false), 'org.gnome.eog.desktop': (3, false), 'org.gnome.Photos.desktop': (3, false), 'shotwell.desktop': (3, false), 'com.spotify.Client.desktop': (4, false), 'code.desktop': (5, false), 'code-insiders.desktop': (5, false), 'org.gnome.Terminal.desktop': (5, false), 'com.gexperts.Tilix.desktop': (5, false), 'org.gnome.TextEditor.desktop': (5, false), 'com.brave.Browser.desktop': (1, false)}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/shell/overrides]
 | 
					 | 
				
			||||||
edge-tiling=false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/shell/weather]
 | 
					 | 
				
			||||||
automatic-location=true
 | 
					 | 
				
			||||||
locations=[<(uint32 2, <('Zürich', 'LSZH', true, [(0.82874050067087668, 0.14893475701908529)], [(0.82670429484574492, 0.14922565104551519)])>)>]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/shell/world-clocks]
 | 
					 | 
				
			||||||
locations=@av []
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/software]
 | 
					 | 
				
			||||||
check-timestamp=int64 1724142293
 | 
					 | 
				
			||||||
download-updates=false
 | 
					 | 
				
			||||||
download-updates-notify=false
 | 
					 | 
				
			||||||
first-run=false
 | 
					 | 
				
			||||||
flatpak-purge-timestamp=int64 1724771609
 | 
					 | 
				
			||||||
online-updates-timestamp=int64 1682110589
 | 
					 | 
				
			||||||
update-notification-timestamp=int64 1724699283
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/terminal/legacy]
 | 
					 | 
				
			||||||
theme-variant='dark'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9]
 | 
					 | 
				
			||||||
background-color='rgb(0,0,0)'
 | 
					 | 
				
			||||||
default-size-rows=24
 | 
					 | 
				
			||||||
font='Fira Code 12'
 | 
					 | 
				
			||||||
foreground-color='rgb(170,170,170)'
 | 
					 | 
				
			||||||
use-system-font=false
 | 
					 | 
				
			||||||
use-theme-colors=false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gnome/tweaks]
 | 
					 | 
				
			||||||
show-extensions-notice=false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gtk/gtk4/settings/color-chooser]
 | 
					 | 
				
			||||||
custom-colors=[(0.20333333313465118, 0.20333333313465118, 0.20333333313465118, 0.80236488580703735), (0.20333333313465118, 0.20333333313465118, 0.20333333313465118, 1.0), (0.20333333313465118, 0.20333333313465118, 0.20333333313465118, 0.80666667222976685), (0.0, 0.0, 0.0, 0.56333333253860474), (0.0, 0.0, 0.0, 0.25)]
 | 
					 | 
				
			||||||
selected-color=(true, 0.20333333313465118, 0.20333333313465118, 0.20333333313465118, 0.80236488580703735)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gtk/gtk4/settings/emoji-chooser]
 | 
					 | 
				
			||||||
recent-emotrue
 | 
					 | 
				
			||||||
sort-order='ascending'
 | 
					 | 
				
			||||||
type-format='category'
 | 
					 | 
				
			||||||
view-type='grid'
 | 
					 | 
				
			||||||
window-size=(887, 1027)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gtk/settings/color-chooser]
 | 
					 | 
				
			||||||
custom-colors=[(0.14509803921568629, 0.74509803921568629, 0.54509803921568623, 1.0), (0.0, 0.85882352941176465, 0.37647058823529411, 1.0), (1.0, 0.92156862745098034, 0.062745098039215685, 1.0), (1.0, 0.52156862745098043, 0.10588235294117647, 1.0), (1.0, 0.25490196078431371, 0.21176470588235294, 1.0), (0.49803921568627452, 0.13725490196078433, 1.0, 1.0), (0.098039215686274508, 0.45098039215686275, 1.0, 1.0)]
 | 
					 | 
				
			||||||
selected-color=(true, 0.6470588235294118, 0.11372549019607843, 0.17647058823529413, 1.0)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gtk/settings/file-chooser]
 | 
					 | 
				
			||||||
date-format='regular'
 | 
					 | 
				
			||||||
location-mode='path-bar'
 | 
					 | 
				
			||||||
show-hidden=true
 | 
					 | 
				
			||||||
show-size-column=true
 | 
					 | 
				
			||||||
show-type-column=true
 | 
					 | 
				
			||||||
sidebar-width=275
 | 
					 | 
				
			||||||
sort-column='name'
 | 
					 | 
				
			||||||
sort-directories-first=true
 | 
					 | 
				
			||||||
sort-order='ascending'
 | 
					 | 
				
			||||||
type-format='category'
 | 
					 | 
				
			||||||
window-position=(26, 120)
 | 
					 | 
				
			||||||
window-size=(1573, 856)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/mate/atril/default]
 | 
					 | 
				
			||||||
window-ratio=(3.2268907563025211, 1.2422802850356294)
 | 
					 | 
				
			||||||
.
 | 
					 | 
				
			||||||
[system/proxy]
 | 
					 | 
				
			||||||
mode='none'
 | 
					 | 
				
			||||||
ji=[(([uint32 9888], 'warning', ['warning'], uint32 8), uint32 0)]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gtk/gtk4/settings/file-chooser]
 | 
					 | 
				
			||||||
date-format='regular'
 | 
					 | 
				
			||||||
location-mode='path-bar'
 | 
					 | 
				
			||||||
show-hidden=true
 | 
					 | 
				
			||||||
show-size-column=true
 | 
					 | 
				
			||||||
show-type-column=true
 | 
					 | 
				
			||||||
sidebar-width=170
 | 
					 | 
				
			||||||
sort-column='name'
 | 
					 | 
				
			||||||
sort-directories-first=true
 | 
					 | 
				
			||||||
sort-order='ascending'
 | 
					 | 
				
			||||||
type-format='category'
 | 
					 | 
				
			||||||
view-type='grid'
 | 
					 | 
				
			||||||
window-size=(887, 1027)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gtk/settings/color-chooser]
 | 
					 | 
				
			||||||
custom-colors=[(0.14509803921568629, 0.74509803921568629, 0.54509803921568623, 1.0), (0.0, 0.85882352941176465, 0.37647058823529411, 1.0), (1.0, 0.92156862745098034, 0.062745098039215685, 1.0), (1.0, 0.52156862745098043, 0.10588235294117647, 1.0), (1.0, 0.25490196078431371, 0.21176470588235294, 1.0), (0.49803921568627452, 0.13725490196078433, 1.0, 1.0), (0.098039215686274508, 0.45098039215686275, 1.0, 1.0)]
 | 
					 | 
				
			||||||
selected-color=(true, 0.6470588235294118, 0.11372549019607843, 0.17647058823529413, 1.0)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/gtk/settings/file-chooser]
 | 
					 | 
				
			||||||
date-format='regular'
 | 
					 | 
				
			||||||
location-mode='path-bar'
 | 
					 | 
				
			||||||
show-hidden=true
 | 
					 | 
				
			||||||
show-size-column=true
 | 
					 | 
				
			||||||
show-type-column=true
 | 
					 | 
				
			||||||
sidebar-width=275
 | 
					 | 
				
			||||||
sort-column='name'
 | 
					 | 
				
			||||||
sort-directories-first=true
 | 
					 | 
				
			||||||
sort-order='ascending'
 | 
					 | 
				
			||||||
type-format='category'
 | 
					 | 
				
			||||||
window-position=(26, 120)
 | 
					 | 
				
			||||||
window-size=(1573, 856)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[org/mate/atril/default]
 | 
					 | 
				
			||||||
window-ratio=(3.2268907563025211, 1.2422802850356294)
 | 
					 | 
				
			||||||
.
 | 
					 | 
				
			||||||
[system/proxy]
 | 
					 | 
				
			||||||
mode='none'
 | 
					 | 
				
			||||||
							
								
								
									
										928
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										928
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										24
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								flake.nix
									
									
									
									
									
								
							@@ -11,39 +11,31 @@
 | 
				
			|||||||
    nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";
 | 
					    nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";
 | 
				
			||||||
    # hyprland, plugins and related utils
 | 
					    # hyprland, plugins and related utils
 | 
				
			||||||
    hyprland.url = "github:hyprwm/Hyprland";
 | 
					    hyprland.url = "github:hyprwm/Hyprland";
 | 
				
			||||||
    hyprgrass = {
 | 
					    stylix.url = "github:danth/stylix/release-24.11";
 | 
				
			||||||
        url = "github:horriblename/hyprgrass";
 | 
					    # quicksettings widget
 | 
				
			||||||
        inputs.hyprland.follows = "hyprland"; # IMPORTANT
 | 
					    better-control.url = "github:rishabh5321/better-control-flake";
 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    hyprland-virtual-desktops.url = "github:levnikmyskin/hyprland-virtual-desktops";
 | 
					 | 
				
			||||||
    walker.url = "github:abenz1267/walker";
 | 
					 | 
				
			||||||
    hyprpanel.url = "github:Jas-SinghFSU/HyprPanel";
 | 
					 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  outputs = {
 | 
					  outputs = {
 | 
				
			||||||
    self,
 | 
					    self,
 | 
				
			||||||
    nixpkgs,
 | 
					    nixpkgs,
 | 
				
			||||||
    home-manager,
 | 
					    home-manager,
 | 
				
			||||||
    hyprgrass,
 | 
					    stylix,
 | 
				
			||||||
    hyprland-virtual-desktops,
 | 
					 | 
				
			||||||
    hyprpanel,
 | 
					 | 
				
			||||||
    ...
 | 
					    ...
 | 
				
			||||||
  } @ inputs:
 | 
					  } @ inputs:
 | 
				
			||||||
    let
 | 
					    let
 | 
				
			||||||
      overlays = [
 | 
					 | 
				
			||||||
        inputs.hyprpanel.overlay
 | 
					 | 
				
			||||||
      ];
 | 
					 | 
				
			||||||
    in
 | 
					    in
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ## NixOS configurations are the main output of this flake
 | 
					    ## NixOS configurations are the main output of this flake
 | 
				
			||||||
    # HP Spectre x360 2018
 | 
					    # HP Spectre x360 2018
 | 
				
			||||||
    nixosConfigurations.spectre = nixpkgs.lib.nixosSystem {
 | 
					    nixosConfigurations.Nixtre = nixpkgs.lib.nixosSystem {
 | 
				
			||||||
      system = "x86_64-linux";
 | 
					      system = "x86_64-linux";
 | 
				
			||||||
      specialArgs = { inherit inputs; };
 | 
					      specialArgs = { inherit inputs; };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      modules = [
 | 
					      modules = [
 | 
				
			||||||
        ./hosts/spectre-x360-2018
 | 
					        ./hosts/spectre-x360-2018
 | 
				
			||||||
 | 
					        stylix.nixosModules.stylix
 | 
				
			||||||
        home-manager.nixosModules.home-manager
 | 
					        home-manager.nixosModules.home-manager
 | 
				
			||||||
          {
 | 
					          {
 | 
				
			||||||
            home-manager.useGlobalPkgs = true;
 | 
					            home-manager.useGlobalPkgs = true;
 | 
				
			||||||
@@ -53,11 +45,7 @@
 | 
				
			|||||||
            home-manager.users.remy.imports = [
 | 
					            home-manager.users.remy.imports = [
 | 
				
			||||||
              ./users/remy.nix
 | 
					              ./users/remy.nix
 | 
				
			||||||
              inputs.nix-flatpak.homeManagerModules.nix-flatpak
 | 
					              inputs.nix-flatpak.homeManagerModules.nix-flatpak
 | 
				
			||||||
              inputs.walker.homeManagerModules.default
 | 
					 | 
				
			||||||
            ];
 | 
					            ];
 | 
				
			||||||
 | 
					 | 
				
			||||||
            nixpkgs.overlays = [ inputs.hyprpanel.overlay ];
 | 
					 | 
				
			||||||
            # _module.args = { inherit inputs; };
 | 
					 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,12 +4,19 @@
 | 
				
			|||||||
    imports = [
 | 
					    imports = [
 | 
				
			||||||
        ./configuration.nix
 | 
					        ./configuration.nix
 | 
				
			||||||
        ./hardware-configuration.nix
 | 
					        ./hardware-configuration.nix
 | 
				
			||||||
 | 
					        ../../modules/nixos/bluetooth.nix
 | 
				
			||||||
 | 
					        ../../modules/nixos/flakes.nix
 | 
				
			||||||
 | 
					        ../../modules/nixos/flatpak.nix
 | 
				
			||||||
 | 
					        ../../modules/nixos/fonts.nix
 | 
				
			||||||
        ../../modules/nixos/hyprland.nix
 | 
					        ../../modules/nixos/hyprland.nix
 | 
				
			||||||
        ../../modules/nixos/monitoring.nix
 | 
					        ../../modules/nixos/monitoring.nix
 | 
				
			||||||
        ../../modules/nixos/networking.nix
 | 
					        ../../modules/nixos/networking.nix
 | 
				
			||||||
 | 
					        ../../modules/nixos/nh.nix
 | 
				
			||||||
        ../../modules/nixos/nvidia.nix
 | 
					        ../../modules/nixos/nvidia.nix
 | 
				
			||||||
        ../../modules/nixos/pipewire.nix
 | 
					        ../../modules/nixos/pipewire.nix
 | 
				
			||||||
        ../../modules/nixos/podman.nix
 | 
					        ../../modules/nixos/podman.nix
 | 
				
			||||||
 | 
					        ../../modules/nixos/power.nix
 | 
				
			||||||
 | 
					        ../../modules/nixos/stylix.nix
 | 
				
			||||||
        ../../utils/binary-cache.nix
 | 
					        ../../utils/binary-cache.nix
 | 
				
			||||||
        ../../utils/garbage-collection.nix
 | 
					        ../../utils/garbage-collection.nix
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,8 @@
 | 
				
			|||||||
  programs.vscode = {
 | 
					  programs.vscode = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # profiles = {
 | 
				
			||||||
 | 
					    #   default = {
 | 
				
			||||||
    extensions = with pkgs.vscode-extensions; [
 | 
					    extensions = with pkgs.vscode-extensions; [
 | 
				
			||||||
      # QOL
 | 
					      # QOL
 | 
				
			||||||
      mhutchie.git-graph
 | 
					      mhutchie.git-graph
 | 
				
			||||||
@@ -14,9 +16,117 @@
 | 
				
			|||||||
      ms-python.isort
 | 
					      ms-python.isort
 | 
				
			||||||
      ms-python.debugpy
 | 
					      ms-python.debugpy
 | 
				
			||||||
      ms-python.vscode-pylance
 | 
					      ms-python.vscode-pylance
 | 
				
			||||||
 | 
					      ms-toolsai.jupyter
 | 
				
			||||||
 | 
					      ms-toolsai.vscode-jupyter-slideshow
 | 
				
			||||||
 | 
					      ms-toolsai.jupyter-renderers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Nix language
 | 
					      # Nix language
 | 
				
			||||||
      jnoortheen.nix-ide
 | 
					      jnoortheen.nix-ide
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # typst
 | 
				
			||||||
 | 
					      myriad-dreamin.tinymist
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					      # };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    keybindings = [
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        key = "ctrl+#";
 | 
				
			||||||
 | 
					        command = "editor.action.commentLine";
 | 
				
			||||||
 | 
					        when = "editorTextFocus";
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    userSettings = {
 | 
				
			||||||
 | 
					      # visual
 | 
				
			||||||
 | 
					      "window.menuBarVisibility" = "toggle";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "editor.fontFamily" = "'FiraCode Nerd Font Mono', 'monospace', monospace";
 | 
				
			||||||
 | 
					      "terminal.integrated.fontFamily" = "FiraCode Nerd Font Mono";
 | 
				
			||||||
 | 
					      "workbench.iconTheme" = "vs-seti";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # telemetry
 | 
				
			||||||
 | 
					      "telemetry.enableCrashReporter" = false;
 | 
				
			||||||
 | 
					      "telemetry.enableTelemetry" = false;
 | 
				
			||||||
 | 
					      "redhat.telemetry.enabled" = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # editor QOL
 | 
				
			||||||
 | 
					      "security.workspace.trust.untrustedFiles" = "open";
 | 
				
			||||||
 | 
					      "editor.wordWrap" = "on";
 | 
				
			||||||
 | 
					      "editor.suggestSelection" = "first";
 | 
				
			||||||
 | 
					      "editor.renderWhitespace" = "none";
 | 
				
			||||||
 | 
					      "editor.acceptSuggestionOnEnter" = "off";
 | 
				
			||||||
 | 
					      "editor.fontLigatures" = true;
 | 
				
			||||||
 | 
					      "editor.inlineSuggest.enabled" = true;
 | 
				
			||||||
 | 
					      "editor.bracketPairColorization.enabled" = true;
 | 
				
			||||||
 | 
					      "editor.unicodeHighlight.nonBasicASCII" = false;
 | 
				
			||||||
 | 
					      "editor.unicodeHighlight.invisibleCharacters" = false;
 | 
				
			||||||
 | 
					      "editor.unicodeHighlight.ambiguousCharacters" = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "files.autoSave" = "onWindowChange";
 | 
				
			||||||
 | 
					      "files.autoSaveDelay" = 1000;
 | 
				
			||||||
 | 
					      "files.insertFinalNewline" = true;
 | 
				
			||||||
 | 
					      "files.trimTrailingWhitespace" = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "explorer.confirmDelete" = false;
 | 
				
			||||||
 | 
					      "explorer.confirmDragAndDrop" = false;
 | 
				
			||||||
 | 
					      "terminal.integrated.enableMultiLinePasteWarning" = false;
 | 
				
			||||||
 | 
					      "update.showReleaseNotes" = false;
 | 
				
			||||||
 | 
					      "terminal.external.linuxExec" = "kitty";
 | 
				
			||||||
 | 
					      "workbench.startupEditor" = "newUntitledFile";
 | 
				
			||||||
 | 
					      # "workbench.colorTheme" = "Default Light+";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Extension management
 | 
				
			||||||
 | 
					      "extensions.autoCheckUpdates" = false;
 | 
				
			||||||
 | 
					      "extensions.autoUpdate" = false;
 | 
				
			||||||
 | 
					      "extensions.ignoreRecommendations" = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # git
 | 
				
			||||||
 | 
					      "git.ignoreMissingGitWarning" = true;
 | 
				
			||||||
 | 
					      "git.confirmSync" = false;
 | 
				
			||||||
 | 
					      "git.enableSmartCommit" = true;
 | 
				
			||||||
 | 
					      "git.autofetch" = true;
 | 
				
			||||||
 | 
					      "diffEditor.renderSideBySide" = false;
 | 
				
			||||||
 | 
					      "diffEditor.hideUnchangedRegions.enabled" = true;
 | 
				
			||||||
 | 
					      "diffEditor.ignoreTrimWhitespace" = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Copilot
 | 
				
			||||||
 | 
					      "github.copilot.editor.enableAutoCompletions" = true;
 | 
				
			||||||
 | 
					      "github.copilot.advanced" = {};
 | 
				
			||||||
 | 
					      "github.copilot.enable" = {
 | 
				
			||||||
 | 
					          "*" = true;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Python
 | 
				
			||||||
 | 
					      "python.terminal.activateEnvironment" = false; # let nix-shell handle this
 | 
				
			||||||
 | 
					      "jupyter.disableJupyterAutoStart" = true;
 | 
				
			||||||
 | 
					      "jupyter.askForKernelRestart" = false;
 | 
				
			||||||
 | 
					      "workbench.editorAssociations" = {
 | 
				
			||||||
 | 
					          "*.ipynb" = "jupyter-notebook";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      "notebook.cellToolbarLocation" = {
 | 
				
			||||||
 | 
					          "default" = "right";
 | 
				
			||||||
 | 
					          "jupyter-notebook" = "left";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      "jupyter.widgetScriptSources" = [
 | 
				
			||||||
 | 
					          "jsdelivr.com"
 | 
				
			||||||
 | 
					          "unpkg.com"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Typst
 | 
				
			||||||
 | 
					      "[typst]" = {
 | 
				
			||||||
 | 
					          "editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      "[typst-code]" = {
 | 
				
			||||||
 | 
					      "git.openRepositoryInParentFolders" = "never";
 | 
				
			||||||
 | 
					          "editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      "tinymist.fontPaths" = [
 | 
				
			||||||
 | 
					          "./font"
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										8
									
								
								modules/home-manager/dev.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								modules/home-manager/dev.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					{pkgs, ...}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    programs.direnv = {
 | 
				
			||||||
 | 
					        enable = true;
 | 
				
			||||||
 | 
					        # enableFishIntegration = true; # see note on other shells below
 | 
				
			||||||
 | 
					        nix-direnv.enable = true;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										7
									
								
								modules/home-manager/documents.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								modules/home-manager/documents.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					{pkgs, ...}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  home.packages = [
 | 
				
			||||||
 | 
					    # pdf viewer
 | 
				
			||||||
 | 
					    pkgs.evince
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,9 +1,17 @@
 | 
				
			|||||||
{pkgs, ...}:
 | 
					{pkgs, ...}:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					  # Required by the fzf fish plugin
 | 
				
			||||||
  programs.fzf = {
 | 
					  programs.fzf = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
 | 
					    fd
 | 
				
			||||||
 | 
					    bat
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  programs.fish = {
 | 
					  programs.fish = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
@@ -22,9 +30,6 @@
 | 
				
			|||||||
    ];
 | 
					    ];
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  home.packages = [
 | 
					 | 
				
			||||||
    pkgs.fishPlugins.tide
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # sets the "default" shell to fish
 | 
					  # sets the "default" shell to fish
 | 
				
			||||||
  # actually keeps bash as a posix-compliant default but starts fish if the shell is not bash
 | 
					  # actually keeps bash as a posix-compliant default but starts fish if the shell is not bash
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,24 +1,19 @@
 | 
				
			|||||||
{ lib, pkgs, ... }: {
 | 
					{
 | 
				
			||||||
 | 
					  lib, pkgs, ...
 | 
				
			||||||
  # services.flatpak.enable = true;
 | 
					}:
 | 
				
			||||||
  # xdg.portal.enable = true;
 | 
					{
 | 
				
			||||||
  # # install the xdg-desktop-portal-gtk package
 | 
					  # requires that flatpaks be enabled in the system configuration as well
 | 
				
			||||||
  # # to enable the portal service
 | 
					  services.flatpak.enable = true;
 | 
				
			||||||
  # xdg.portal.extraPortals = with pkgs; [
 | 
					  services.flatpak.update.auto.enable = false;
 | 
				
			||||||
  #   xdg-desktop-portal-gtk
 | 
					  services.flatpak.uninstallUnmanaged = false;
 | 
				
			||||||
  # ];
 | 
					 | 
				
			||||||
  # services.flatpak.update.auto.enable = false;
 | 
					 | 
				
			||||||
  # services.flatpak.uninstallUnmanaged = false;
 | 
					 | 
				
			||||||
  
 | 
					 | 
				
			||||||
  # services.flatpak.packages = [
 | 
					 | 
				
			||||||
  #   "com.calibre_ebook.calibre"
 | 
					 | 
				
			||||||
  #   "com.github.flxzt.rnote"
 | 
					 | 
				
			||||||
  #   "com.github.tchx84.Flatseal"
 | 
					 | 
				
			||||||
  #   "com.spotify.Client"
 | 
					 | 
				
			||||||
  #   "io.podman_desktop.PodmanDesktop"
 | 
					 | 
				
			||||||
  #   "org.pipewire.Helvum"
 | 
					 | 
				
			||||||
  #   "io.github.zen_browser.zen"
 | 
					 | 
				
			||||||
  #   "im.riot.Riot"
 | 
					 | 
				
			||||||
  # ];
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  services.flatpak.packages = [
 | 
				
			||||||
 | 
					    "com.github.flxzt.rnote"
 | 
				
			||||||
 | 
					    "com.github.tchx84.Flatseal"
 | 
				
			||||||
 | 
					    "com.spotify.Client"
 | 
				
			||||||
 | 
					    "io.podman_desktop.PodmanDesktop"
 | 
				
			||||||
 | 
					    "org.pipewire.Helvum"
 | 
				
			||||||
 | 
					    "io.github.zen_browser.zen"
 | 
				
			||||||
 | 
					    "im.riot.Riot"
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -1,87 +0,0 @@
 | 
				
			|||||||
{pkgs, lib,  ...}:
 | 
					 | 
				
			||||||
with lib.hm.gvariant;
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    ## Gnome extensions
 | 
					 | 
				
			||||||
    programs.gnome-shell = {
 | 
					 | 
				
			||||||
        enable = true;
 | 
					 | 
				
			||||||
        extensions = [
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                package = pkgs.gnomeExtensions.dash-to-dock;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                id = "tilingshell@ferrarodomenico.com";
 | 
					 | 
				
			||||||
                package = pkgs.gnome-shell-extensions;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                id = "search-light@icedman.github.com";
 | 
					 | 
				
			||||||
                package = pkgs.gnome-shell-extensions;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                package = pkgs.gnomeExtensions.window-gestures;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                package = pkgs.gnomeExtensions.random-wallpaper;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        ];
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    ## And their settings (stored in dconf)
 | 
					 | 
				
			||||||
    dconf.settings."org/gnome/shell/extensions/tilingshell" = {
 | 
					 | 
				
			||||||
        inner-gaps = mkUint32 8;
 | 
					 | 
				
			||||||
        layouts-json = ''
 | 
					 | 
				
			||||||
            [{"id":"Layout 2","tiles":[{"x":0,"y":0,"width":0.22,"height":1,"groups":[1]},{"x":0.22,"y":0,"width":0.56,"height":1,"groups":[1,2]},{"x":0.78,"y":0,"width":0.22,"height":1,"groups":[2]}]},{"id":"Layout 3","tiles":[{"x":0,"y":0,"width":0.33,"height":1,"groups":[1]},{"x":0.33,"y":0,"width":0.67,"height":1,"groups":[1]}]},{"id":"Layout 4","tiles":[{"x":0,"y":0,"width":0.67,"height":1,"groups":[1]},{"x":0.67,"y":0,"width":0.33,"height":1,"groups":[1]}]},{"id":"2732837","tiles":[{"x":0,"y":0,"width":0.5002604166666667,"height":1,"groups":[1]},{"x":0.5002604166666667,"y":0,"width":0.49973958333333335,"height":1,"groups":[1]}]},{"id":"241562","tiles":[{"x":0,"y":0,"width":0.3328488372093023,"height":1,"groups":[1]},{"x":0.3328488372093023,"y":0,"width":0.33430232558139533,"height":1,"groups":[2,1]},{"x":0.6671511627906976,"y":0,"width":0.3328488372093023,"height":1,"groups":[2]}]}]
 | 
					 | 
				
			||||||
        '';
 | 
					 | 
				
			||||||
        outer-gaps = mkUint32 0;
 | 
					 | 
				
			||||||
        overridden-settings = ''
 | 
					 | 
				
			||||||
            {"org.gnome.mutter.keybindings":{"toggle-tiled-right":"['<Super>Right']","toggle-tiled-left":"['<Super>Left']"},"org.gnome.desktop.wm.keybindings":{"maximize":"['<Super>Up']","unmaximize":"['<Super>Down', '<Alt>F5']"},"org.gnome.mutter":{"edge-tiling":"true"}}
 | 
					 | 
				
			||||||
        '';
 | 
					 | 
				
			||||||
        selected-layouts = [ "Layout 4" ];
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    dconf.settings."org/gnome/shell/extensions/search-light" = {
 | 
					 | 
				
			||||||
        background-color = mkTuple [ 0.20333333313465118 0.20333333313465118 0.20333333313465118 0.80236488580703735 ];
 | 
					 | 
				
			||||||
        blur-background = false;
 | 
					 | 
				
			||||||
        entry-font-size = 1;
 | 
					 | 
				
			||||||
        monitor-count = 1;
 | 
					 | 
				
			||||||
        scale-height = 0.10000000000000001;
 | 
					 | 
				
			||||||
        scale-width = 0.20000000000000001;
 | 
					 | 
				
			||||||
        shortcut-search = [ "<Control><Alt>space" ];
 | 
					 | 
				
			||||||
        popup-at-cursor-monitor = true;
 | 
					 | 
				
			||||||
        show-panel-icon = false;
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    dconf.settings."org/gnome/shell/extensions/windowgestures" = {
 | 
					 | 
				
			||||||
        pinch-enable = false;
 | 
					 | 
				
			||||||
        swipe4-left = 9;
 | 
					 | 
				
			||||||
        swipe4-right = 8;
 | 
					 | 
				
			||||||
        swipe4-updown = 0;
 | 
					 | 
				
			||||||
        three-finger = true;
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    dconf.settings."org/gnome/shell/extensions/dash-to-dock" = {
 | 
					 | 
				
			||||||
        background-opacity = 0.80000000000000004;
 | 
					 | 
				
			||||||
        custom-theme-shrink = true;
 | 
					 | 
				
			||||||
        dash-max-icon-size = 40;
 | 
					 | 
				
			||||||
        dock-position = "BOTTOM";
 | 
					 | 
				
			||||||
        height-fraction = 0.90000000000000002;
 | 
					 | 
				
			||||||
        preview-size-scale = 0.29999999999999999;
 | 
					 | 
				
			||||||
        show-running = true;
 | 
					 | 
				
			||||||
        show-trash = false;
 | 
					 | 
				
			||||||
        show-windows-preview = true;
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    dconf.settings."org/gnome/mutter" = {
 | 
					 | 
				
			||||||
        dynamic-workspaces = true;
 | 
					 | 
				
			||||||
        edge-tiling = false;
 | 
					 | 
				
			||||||
        workspaces-only-on-primary = true;
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    dconf.settings."org/gnome/desktop/interface" = {
 | 
					 | 
				
			||||||
        color-scheme = "prefer-dark";
 | 
					 | 
				
			||||||
        show-battery-percentage = true;
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										11
									
								
								modules/home-manager/hypr/better-control.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								modules/home-manager/hypr/better-control.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  inputs,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  environment.systemPackages =
 | 
				
			||||||
 | 
					    with pkgs; [
 | 
				
			||||||
 | 
					        inputs.better-control.packages.${pkgs.system}.better-control
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										7
									
								
								modules/home-manager/hypr/cursor.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								modules/home-manager/hypr/cursor.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					{inputs, pkgs, ...}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    # Put a cursor theme to the location expected by the hyprland window manager
 | 
				
			||||||
 | 
					    # TODO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										11
									
								
								modules/home-manager/hypr/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								modules/home-manager/hypr/default.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  imports = [
 | 
				
			||||||
 | 
					    # ./better-control.nix
 | 
				
			||||||
 | 
					    ./cursor.nix
 | 
				
			||||||
 | 
					    ./hyprland-customization.nix
 | 
				
			||||||
 | 
					    ./hyprpaper.nix
 | 
				
			||||||
 | 
					    ./hyprlock.nix
 | 
				
			||||||
 | 
					    ./hypridle.nix
 | 
				
			||||||
 | 
					    ./waybar.nix
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										37
									
								
								modules/home-manager/hypr/hypridle.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								modules/home-manager/hypr/hypridle.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
				
			|||||||
 | 
					{inputs, pkgs, ...}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  services.hypridle = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    settings = {
 | 
				
			||||||
 | 
					      general = {
 | 
				
			||||||
 | 
					        lock_cmd = "pidof hyprlock || hyprlock";     # avoid starting multiple hyprlock instances.
 | 
				
			||||||
 | 
					        after_sleep_cmd = "hyprctl dispatch dpms on";
 | 
				
			||||||
 | 
					        ignore_dbus_inhibit = false;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      listener = [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          # dim screen after 4 minutes
 | 
				
			||||||
 | 
					          timeout = 240;
 | 
				
			||||||
 | 
					          on-timeout = "brightnessctl -s set 10";
 | 
				
			||||||
 | 
					          # set monitor backlight to minimum, avoid 0 on OLED monitor.
 | 
				
			||||||
 | 
					          on-resume = "brightnessctl -r";
 | 
				
			||||||
 | 
					          # monitor backlight restore.
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          # lock screen after 5 minutes
 | 
				
			||||||
 | 
					          timeout = 300;
 | 
				
			||||||
 | 
					          on-timeout = "loginctl lock-session && hyprctl dispatch dpms off";
 | 
				
			||||||
 | 
					          on-resume = "hyprctl dispatch dpms on";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          # suspend after 10 minutes
 | 
				
			||||||
 | 
					          timeout = 600;
 | 
				
			||||||
 | 
					          on-timeout = "systemctl suspend";
 | 
				
			||||||
 | 
					          on-resume = "hyprctl dispatch dpms on";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										220
									
								
								modules/home-manager/hypr/hyprland-customization.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										220
									
								
								modules/home-manager/hypr/hyprland-customization.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,220 @@
 | 
				
			|||||||
 | 
					{inputs, pkgs, ...}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  home.packages = [
 | 
				
			||||||
 | 
					    pkgs.hyprshot
 | 
				
			||||||
 | 
					    pkgs.nautilus
 | 
				
			||||||
 | 
					    pkgs.gnome-control-center
 | 
				
			||||||
 | 
					    pkgs.brightnessctl
 | 
				
			||||||
 | 
					    pkgs.cliphist
 | 
				
			||||||
 | 
					    pkgs.wl-clipboard
 | 
				
			||||||
 | 
					    pkgs.gcr # Provides org.gnome.keyring.SystemPrompter
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Also use gnome keyring
 | 
				
			||||||
 | 
					  services.gnome-keyring.enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  wayland.windowManager.hyprland = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    systemd.enable = true;
 | 
				
			||||||
 | 
					    settings = {
 | 
				
			||||||
 | 
					      "$mod" = "SUPER";
 | 
				
			||||||
 | 
					      "$browser" = "firefox";
 | 
				
			||||||
 | 
					      "$launcher-cmd" = "wofi --show drun -n";
 | 
				
			||||||
 | 
					      "$ide" = "code";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Global bindings
 | 
				
			||||||
 | 
					      bind = [
 | 
				
			||||||
 | 
					        # Launch applications
 | 
				
			||||||
 | 
					        "$mod, space, exec, $launcher-cmd"
 | 
				
			||||||
 | 
					        "$mod, return, exec, kitty"
 | 
				
			||||||
 | 
					        "$mod, b, exec, $browser"
 | 
				
			||||||
 | 
					        "$mod, s, exec, $ide"
 | 
				
			||||||
 | 
					        "$mod, e, exec, nautilus"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Lock screen
 | 
				
			||||||
 | 
					        "$mod, l, exec, hyprlock"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Clipboard management
 | 
				
			||||||
 | 
					        "$mod, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Close window
 | 
				
			||||||
 | 
					        "$mod, Q, killactive,"
 | 
				
			||||||
 | 
					        "$mod+Shift, Q, exit," # this is the true kill
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Toggle Floating and reduce size
 | 
				
			||||||
 | 
					        "$mod, f, togglefloating,"
 | 
				
			||||||
 | 
					        "$mod, f, resizeactive, 50% 50%,"
 | 
				
			||||||
 | 
					        # Toggle fullscreen
 | 
				
			||||||
 | 
					        "$mod+Shift, f, fullscreen,"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Alt-tab alternative
 | 
				
			||||||
 | 
					        "$mod, Tab, cyclenext,"
 | 
				
			||||||
 | 
					        "$mod, Tab, bringactivetotop,"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Move the window
 | 
				
			||||||
 | 
					        "$mod+Shift, left, movewindow, l"
 | 
				
			||||||
 | 
					        "$mod+Shift, right, movewindow, r"
 | 
				
			||||||
 | 
					        "$mod+Shift, up, movewindow, u"
 | 
				
			||||||
 | 
					        "$mod+Shift, down, movewindow, d"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        "$mod+Ctrl, left, movetoworkspace, -1"
 | 
				
			||||||
 | 
					        "$mod+Ctrl, right, movetoworkspace, +1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # # Switch workspace
 | 
				
			||||||
 | 
					        "$mod+Alt, left, workspace, -1"
 | 
				
			||||||
 | 
					        "$mod+Alt, right, workspace, +1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Screenshot
 | 
				
			||||||
 | 
					        "$mod, Print, exec, hyprshot -m region -o ~/Pictures/Screenshots"
 | 
				
			||||||
 | 
					        "$mod+Shift, Print, exec, hyprshot -m window -o ~/Pictures/Screenshots"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # repeatable bindings
 | 
				
			||||||
 | 
					      binde = [
 | 
				
			||||||
 | 
					        # Fn keys
 | 
				
			||||||
 | 
					        ", XF86MonBrightnessDown, exec, brightnessctl set -5%"
 | 
				
			||||||
 | 
					        ", XF86MonBrightnessUp, exec, brightnessctl set +5%"
 | 
				
			||||||
 | 
					        ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
 | 
				
			||||||
 | 
					        ", XF86AudioLowerVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%-"
 | 
				
			||||||
 | 
					        ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Reshape the window in focus
 | 
				
			||||||
 | 
					        "$mod, MINUS, resizeactive, -2% -2%"
 | 
				
			||||||
 | 
					        "$mod, KP_Subtract, resizeactive, -2% -2%"
 | 
				
			||||||
 | 
					        "$mod, PLUS, resizeactive, 2% 2%"
 | 
				
			||||||
 | 
					        "$mod, KP_Add, resizeactive, 2% 2%"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # lock-screen bindings
 | 
				
			||||||
 | 
					      bindl = [
 | 
				
			||||||
 | 
					        # on lid close, lock the screen
 | 
				
			||||||
 | 
					        # if another monitor is connected, only turn the internal monitor off and don't lock the screen
 | 
				
			||||||
 | 
					        ", switch:on:Lid Switch, exec, hyprctl dispatch dpms off eDP-1"
 | 
				
			||||||
 | 
					        # if there is no active monitor, perform a screen lock
 | 
				
			||||||
 | 
					        ", switch:on:Lid Switch, exec, hyprctl monitors | grep 'dpmsStatus: 1' || hyprlock"
 | 
				
			||||||
 | 
					        ", switch:off:Lid Switch, exec, hyprctl dispatch dpms on eDP-1"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # bindr = [
 | 
				
			||||||
 | 
					      #     # Overview
 | 
				
			||||||
 | 
					      #   "$mod, , overview:toggle"
 | 
				
			||||||
 | 
					      # ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      bindm = [
 | 
				
			||||||
 | 
					        # move the window
 | 
				
			||||||
 | 
					        "$mod, mouse:272, movewindow"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      exec-once = [
 | 
				
			||||||
 | 
					        "gnome-keyring-daemon --start --components=secrets"
 | 
				
			||||||
 | 
					        # "${pkgs.hyprpaper}/bin/hyprpaper"
 | 
				
			||||||
 | 
					        # hyprpaper is handled as its own service
 | 
				
			||||||
 | 
					        "${pkgs.waybar}/bin/waybar"
 | 
				
			||||||
 | 
					        # listen to clipboard events and send them to cliphist
 | 
				
			||||||
 | 
					        "wl-paste --watch cliphist store"
 | 
				
			||||||
 | 
					        "${pkgs.waybar}/bin/hypridle"
 | 
				
			||||||
 | 
					        "hyprpaper"
 | 
				
			||||||
 | 
					        # # Fixes cursor themes in gnome apps under hyprland
 | 
				
			||||||
 | 
					        # "gsettings set org.gnome.desktop.interface cursor-theme '${config.home.pointerCursor.name}'"
 | 
				
			||||||
 | 
					        # "gsettings set org.gnome.desktop.interface cursor-size ${toString home.pointerCursor.size}"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      general = {
 | 
				
			||||||
 | 
					        resize_on_border = true;
 | 
				
			||||||
 | 
					        gaps_in = 5;
 | 
				
			||||||
 | 
					        gaps_out = 5;
 | 
				
			||||||
 | 
					        border_size = 1;
 | 
				
			||||||
 | 
					        "col.active_border" = "rgb(98971A) rgb(CC241D) 45deg";
 | 
				
			||||||
 | 
					        layout = "master";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      misc = {
 | 
				
			||||||
 | 
					        # disable refreshs when nothing is going on
 | 
				
			||||||
 | 
					        vfr = false;
 | 
				
			||||||
 | 
					        disable_hyprland_logo = true;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      input = {
 | 
				
			||||||
 | 
					        kb_layout = "de";
 | 
				
			||||||
 | 
					        # remap caps lock to ctrl
 | 
				
			||||||
 | 
					        kb_options = "ctrl:nocaps";
 | 
				
			||||||
 | 
					        numlock_by_default = true;
 | 
				
			||||||
 | 
					        # mouse input should be unchanged
 | 
				
			||||||
 | 
					        natural_scroll = false;
 | 
				
			||||||
 | 
					        sensitivity = 0.3;
 | 
				
			||||||
 | 
					        touchpad = {
 | 
				
			||||||
 | 
					          disable_while_typing = false;
 | 
				
			||||||
 | 
					          natural_scroll = true;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      gestures = {
 | 
				
			||||||
 | 
					        workspace_swipe = true;
 | 
				
			||||||
 | 
					        workspace_swipe_fingers = 4;
 | 
				
			||||||
 | 
					        workspace_swipe_touch = true;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      decoration = {
 | 
				
			||||||
 | 
					        rounding = 7;
 | 
				
			||||||
 | 
					        # active_opacity = 0.95;
 | 
				
			||||||
 | 
					        inactive_opacity = 0.9;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        shadow = {
 | 
				
			||||||
 | 
					          enabled = false;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # blur is set on a per-program basis
 | 
				
			||||||
 | 
					        windowrulev2 = [
 | 
				
			||||||
 | 
					          # kitty should behave like a floating window
 | 
				
			||||||
 | 
					          "animation popin, class:kitty"
 | 
				
			||||||
 | 
					          "move cursor -50% -50%, class:kitty"
 | 
				
			||||||
 | 
					          "float, class:kitty"
 | 
				
			||||||
 | 
					          "size 50% 50%, class:kitty"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          # some more floating windows
 | 
				
			||||||
 | 
					          "float, class:org.gnome.Settings"
 | 
				
			||||||
 | 
					          "float, class:desktopclient.owncloud.com"
 | 
				
			||||||
 | 
					          "float, class:org.keepassxc.KeePassXC"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      monitor = [
 | 
				
			||||||
 | 
					        "eDP-1, 3840x2160, 0x0, 1.5" # the internal laptop monitor
 | 
				
			||||||
 | 
					        # Samsung monitor at irchel (matching the description)
 | 
				
			||||||
 | 
					        # "desc:Samsung Electric Company LS27D80xU HK7X800803, 3840x2160, auto-up, 1.5"
 | 
				
			||||||
 | 
					        ", preferred, auto-up, auto" # automatically add any newly detected monitor
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      xwayland = {
 | 
				
			||||||
 | 
					        enabled = false;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      env = [
 | 
				
			||||||
 | 
					        # force apps to use wayland
 | 
				
			||||||
 | 
					        "NIXOS_OZONE_WL, 1"
 | 
				
			||||||
 | 
					        "ELECTRON_OZONE_PLATFORM_HINT, wayland"
 | 
				
			||||||
 | 
					        # set the scale factor for GDK apps
 | 
				
			||||||
 | 
					        "GDK_SCALE, 1.5"
 | 
				
			||||||
 | 
					        # set the scale factor for QT apps
 | 
				
			||||||
 | 
					        "QT_SCALE_FACTOR, 1.5"
 | 
				
			||||||
 | 
					        # set the scale factor for GTK apps
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    plugins = [
 | 
				
			||||||
 | 
					      # Global overview
 | 
				
			||||||
 | 
					      pkgs.hyprlandPlugins.hyprspace
 | 
				
			||||||
 | 
					      # Touch gestures
 | 
				
			||||||
 | 
					      pkgs.hyprlandPlugins.hyprgrass
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  services.swaync.enable = true;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										52
									
								
								modules/home-manager/hypr/hyprlock.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								modules/home-manager/hypr/hyprlock.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,52 @@
 | 
				
			|||||||
 | 
					{inputs, pkgs, ...}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  programs.hyprlock = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    settings = {
 | 
				
			||||||
 | 
					      general = {
 | 
				
			||||||
 | 
					        # immediately lock the screen
 | 
				
			||||||
 | 
					        grace = 0;
 | 
				
			||||||
 | 
					        no_fade_in = false;
 | 
				
			||||||
 | 
					        disable_loading_bar = false;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      background =  {
 | 
				
			||||||
 | 
					        blur_passes = 3;
 | 
				
			||||||
 | 
					        blur_size = 10;
 | 
				
			||||||
 | 
					        # image is set by stylix
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      input-field = {
 | 
				
			||||||
 | 
					        monitor = "";
 | 
				
			||||||
 | 
					        size = "300, 60";
 | 
				
			||||||
 | 
					        # radius = 15;
 | 
				
			||||||
 | 
					        position = "0, -250";
 | 
				
			||||||
 | 
					        halign = "center";
 | 
				
			||||||
 | 
					        valign = "center";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      label = [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          # Day-Month-Date
 | 
				
			||||||
 | 
					          monitor = "";
 | 
				
			||||||
 | 
					          text = ''cmd[update:1000] echo -e "$(date +"%A, %B %d")"'';
 | 
				
			||||||
 | 
					          font_size = 28;
 | 
				
			||||||
 | 
					          position = "0, 490";
 | 
				
			||||||
 | 
					          halign = "center";
 | 
				
			||||||
 | 
					          valign = "center";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        # Time
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          monitor = "";
 | 
				
			||||||
 | 
					          text = ''cmd[update:1000] echo "<span>$(date +"%H:%M")</span>"'';
 | 
				
			||||||
 | 
					          font_size = 160;
 | 
				
			||||||
 | 
					          font_weight = "bold";
 | 
				
			||||||
 | 
					          # font_family = "steelfish outline regular";
 | 
				
			||||||
 | 
					          position = "0, 370";
 | 
				
			||||||
 | 
					          halign = "center";
 | 
				
			||||||
 | 
					          valign = "center";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										63
									
								
								modules/home-manager/hypr/hyprpaper.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								modules/home-manager/hypr/hyprpaper.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,63 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					 ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					with lib; let
 | 
				
			||||||
 | 
					  # # load the wallpapers from the wallpapers directory - this gives a set with the folder content
 | 
				
			||||||
 | 
					  # dirContent = builtins.readDir ../../../wallpapers;
 | 
				
			||||||
 | 
					  # wallpaperString = lib.strings.concatMapStrings (x: " " + x) wallpapers;
 | 
				
			||||||
 | 
					  # # # load each wallpaper and keep its path (now in the nix store) as an array
 | 
				
			||||||
 | 
					  # # wallpapers = map (x: builtins.readDir "${../../../wallpapers}/${x.value}") dirContent;
 | 
				
			||||||
 | 
					  # # wallpaperString = lib.strings.concatMapStrings (x: " " + x) wallpapers;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # # script that picks a random wallpaper from the array and sets it as the desktop background
 | 
				
			||||||
 | 
					  # monitor = ""; # leave empty to set the wallpaper on all monitors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # wallpaperRandomizer = pkgs.writeShellScriptBin "wallpaperRandomizer" ''
 | 
				
			||||||
 | 
					  #   wallpaper=$(shuf -n 1 -e ${wallpaperString})
 | 
				
			||||||
 | 
					  #   hyprctl hyprpaper unload all
 | 
				
			||||||
 | 
					  #   hyprctl hyprpaper preload $wallpaper
 | 
				
			||||||
 | 
					  #   hyprctl hyprpaper wallpaper "${monitor},$wallpaper"
 | 
				
			||||||
 | 
					  # '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					in {
 | 
				
			||||||
 | 
					  # home.packages = [wallpaperRandomizer];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  services.hyprpaper = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  #   settings = {
 | 
				
			||||||
 | 
					  #     ipc = "off";
 | 
				
			||||||
 | 
					  #     splash = false;
 | 
				
			||||||
 | 
					  #   };
 | 
				
			||||||
 | 
					  # };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # systemd.user = {
 | 
				
			||||||
 | 
					  #   services.wallpaperRandomizer = {
 | 
				
			||||||
 | 
					  #     Install = {WantedBy = ["graphical-session.target"];};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  #     Unit = {
 | 
				
			||||||
 | 
					  #       Description = "Set random desktop background using hyprpaper";
 | 
				
			||||||
 | 
					  #       After = ["graphical-session-pre.target"];
 | 
				
			||||||
 | 
					  #       PartOf = ["graphical-session.target"];
 | 
				
			||||||
 | 
					  #     };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  #     Service = {
 | 
				
			||||||
 | 
					  #       Type = "oneshot";
 | 
				
			||||||
 | 
					  #       ExecStart = "${wallpaperRandomizer}/bin/wallpaperRandomizer";
 | 
				
			||||||
 | 
					  #       IOSchedulingClass = "idle";
 | 
				
			||||||
 | 
					  #     };
 | 
				
			||||||
 | 
					  #   };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  #   timers.wallpaperRandomizer = {
 | 
				
			||||||
 | 
					  #     Unit = {Description = "Set random desktop background using hyprpaper on an interval";};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  #     Timer = {OnUnitActiveSec = "6h";};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  #     Install = {WantedBy = ["timers.target"];};
 | 
				
			||||||
 | 
					  #   };
 | 
				
			||||||
 | 
					  # };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										239
									
								
								modules/home-manager/hypr/waybar.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										239
									
								
								modules/home-manager/hypr/waybar.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,239 @@
 | 
				
			|||||||
 | 
					{inputs, pkgs, ...}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    # required to autoload fonts from packages installed via Home Manager
 | 
				
			||||||
 | 
					    fonts.fontconfig.enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # waybar requires font-awesome
 | 
				
			||||||
 | 
					    home.packages = [
 | 
				
			||||||
 | 
					        pkgs.pavucontrol
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # enable waybar
 | 
				
			||||||
 | 
					    programs.waybar.enable = true;
 | 
				
			||||||
 | 
					    programs.waybar = {
 | 
				
			||||||
 | 
					        settings = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            mainBar = {
 | 
				
			||||||
 | 
					                margin-top = 2;
 | 
				
			||||||
 | 
					                margin-bottom = 2;
 | 
				
			||||||
 | 
					                margin-left = 5;
 | 
				
			||||||
 | 
					                margin-right = 5;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                layer = "top";
 | 
				
			||||||
 | 
					                position = "top";
 | 
				
			||||||
 | 
					                spacing = 5;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                modules-left = [
 | 
				
			||||||
 | 
					                    "hyprland/workspaces"
 | 
				
			||||||
 | 
					                    "hyprland/window"
 | 
				
			||||||
 | 
					                ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                modules-center = [
 | 
				
			||||||
 | 
					                    "clock"
 | 
				
			||||||
 | 
					                    "custom/notification"
 | 
				
			||||||
 | 
					                ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                modules-right = [
 | 
				
			||||||
 | 
					                    "tray"
 | 
				
			||||||
 | 
					                    "privacy"
 | 
				
			||||||
 | 
					                    "wireplumber"
 | 
				
			||||||
 | 
					                    "network"
 | 
				
			||||||
 | 
					                    "battery"
 | 
				
			||||||
 | 
					                    "backlight"
 | 
				
			||||||
 | 
					                    "idle_inhibitor"
 | 
				
			||||||
 | 
					                ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                # module specific settings
 | 
				
			||||||
 | 
					                "hyprland/workspaces" = {
 | 
				
			||||||
 | 
					                    format = "{icon}";
 | 
				
			||||||
 | 
					                    format-icons = {
 | 
				
			||||||
 | 
					                        active = "●";
 | 
				
			||||||
 | 
					                        default = "○";
 | 
				
			||||||
 | 
					                    };
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
 | 
					                "hyprland/window"= {
 | 
				
			||||||
 | 
					                    "icon" = true;
 | 
				
			||||||
 | 
					                    "separate-outputs" = true;
 | 
				
			||||||
 | 
					                    "format" = "{}";
 | 
				
			||||||
 | 
					                    "rewrite" = {
 | 
				
			||||||
 | 
					                        "(.*) — Mozilla Firefox" = "$1";
 | 
				
			||||||
 | 
					                        "(.*) - fish" = "> [$1]";
 | 
				
			||||||
 | 
					                        "(.*) - Visual Studio Code" = "$1";
 | 
				
			||||||
 | 
					                    };
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
 | 
					                "clock" = {
 | 
				
			||||||
 | 
					                    format = "{:%H:%M}";
 | 
				
			||||||
 | 
					                    interval = 1;
 | 
				
			||||||
 | 
					                    tooltip-format = "<tt>{calendar}</tt>";
 | 
				
			||||||
 | 
					                    calendar = {
 | 
				
			||||||
 | 
					                        "format" = {
 | 
				
			||||||
 | 
					                            "today" = "<span color='#fAfBfC'><b>{}</b></span>";
 | 
				
			||||||
 | 
					                        };
 | 
				
			||||||
 | 
					                    };
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
 | 
					                "idle_inhibitor" = {
 | 
				
			||||||
 | 
					                    format = "{icon}";
 | 
				
			||||||
 | 
					                    format-icons = {
 | 
				
			||||||
 | 
					                        activated = "";
 | 
				
			||||||
 | 
					                        deactivated = "";
 | 
				
			||||||
 | 
					                    };
 | 
				
			||||||
 | 
					                    tooltip = "true";
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
 | 
					                "bluetooth" = {
 | 
				
			||||||
 | 
					                    format-on = "";
 | 
				
			||||||
 | 
					                    format-off = "BT-off";
 | 
				
			||||||
 | 
					                    format-disabled = "";
 | 
				
			||||||
 | 
					                    format-connected-battery = "{device_battery_percentage}% ";
 | 
				
			||||||
 | 
					                    format-alt = "{device_alias} ";
 | 
				
			||||||
 | 
					                    tooltip-format = "{controller_alias}\t{controller_address}\n\n{num_connections} connected";
 | 
				
			||||||
 | 
					                    tooltip-format-connected = "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}";
 | 
				
			||||||
 | 
					                    tooltip-formaenumeratet-enumerate-connected = "{device_alias}\n{device_address}";
 | 
				
			||||||
 | 
					                    tooltip-format-enumerate-connected-battery = "{device_alias}\n{device_address}\n{device_battery_percentage}%";
 | 
				
			||||||
 | 
					                    on-click-right = "blueman-manager";
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
 | 
					                "battery" = {
 | 
				
			||||||
 | 
					                    interval = 60;
 | 
				
			||||||
 | 
					                    states = {
 | 
				
			||||||
 | 
					                        good = 80;
 | 
				
			||||||
 | 
					                        warning = 30;
 | 
				
			||||||
 | 
					                        critical = 10;
 | 
				
			||||||
 | 
					                    };
 | 
				
			||||||
 | 
					                    format = "{capacity}% {icon}";
 | 
				
			||||||
 | 
					                    format-charging = "{capacity}% ";
 | 
				
			||||||
 | 
					                    format-plugged = "{capacity}%  ";
 | 
				
			||||||
 | 
					                    format-icons = [ "" "" "" "" "" "" ];
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
 | 
					                "backlight" = {
 | 
				
			||||||
 | 
					                    "format" = "{percent}% {icon}";
 | 
				
			||||||
 | 
					                    "format-icons" = ["" "" "" "" "" "" "" "" ""];
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
 | 
					                "wireplumber" = {
 | 
				
			||||||
 | 
					                    scroll-step = 10;
 | 
				
			||||||
 | 
					                    format = "{icon} {volume}%";# {format_source}";
 | 
				
			||||||
 | 
					                    format-bluetooth = "{volume}% {icon}";# {format_source}";
 | 
				
			||||||
 | 
					                    format-bluetooth-muted = " {icon}";# {format_source}";
 | 
				
			||||||
 | 
					                    format-muted = " Muted";# {format_source}";
 | 
				
			||||||
 | 
					                    # format-source = " {volume}%";
 | 
				
			||||||
 | 
					                    # format-source-muted = "";
 | 
				
			||||||
 | 
					                    format-icons = {
 | 
				
			||||||
 | 
					                        headphone = "";
 | 
				
			||||||
 | 
					                        hands-free = "";
 | 
				
			||||||
 | 
					                        headset = "";
 | 
				
			||||||
 | 
					                        phone = "";
 | 
				
			||||||
 | 
					                        portable = "";
 | 
				
			||||||
 | 
					                        default = [
 | 
				
			||||||
 | 
					                            ""
 | 
				
			||||||
 | 
					                            ""
 | 
				
			||||||
 | 
					                            ""
 | 
				
			||||||
 | 
					                        ];
 | 
				
			||||||
 | 
					                    };
 | 
				
			||||||
 | 
					                    on-click = "XDG_CURRENT_DESKTOP=GNOME gnome-control-center sound";
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
 | 
					                "tray" = {
 | 
				
			||||||
 | 
					                    spacing = 5;
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
 | 
					                "custom/notification" = {
 | 
				
			||||||
 | 
					                    tooltip = false;
 | 
				
			||||||
 | 
					                    format = "{icon} {}";
 | 
				
			||||||
 | 
					                    format-icons = {
 | 
				
			||||||
 | 
					                        notification = "<span foreground='red'><sup></sup></span>";
 | 
				
			||||||
 | 
					                        none = "";
 | 
				
			||||||
 | 
					                        dnd-notification = "<span foreground='red'><sup></sup></span>";
 | 
				
			||||||
 | 
					                        dnd-none = "";
 | 
				
			||||||
 | 
					                        inhibited-notification = "<span foreground='red'><sup></sup></span>";
 | 
				
			||||||
 | 
					                        inhibited-none = "";
 | 
				
			||||||
 | 
					                        dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
 | 
				
			||||||
 | 
					                        dnd-inhibited-none = "";
 | 
				
			||||||
 | 
					                    };
 | 
				
			||||||
 | 
					                    return-type = "json";
 | 
				
			||||||
 | 
					                    exec-if = "which swaync-client";
 | 
				
			||||||
 | 
					                    exec = "swaync-client -swb";
 | 
				
			||||||
 | 
					                    on-click = "sleep 0.1 && task-waybar";
 | 
				
			||||||
 | 
					                    escape = true;
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
 | 
					                "network" = {
 | 
				
			||||||
 | 
					                    format =  "";
 | 
				
			||||||
 | 
					                    format-wifi = "{icon} {essid}";
 | 
				
			||||||
 | 
					                    format-icons = [ "" "" "" "" "" ];
 | 
				
			||||||
 | 
					                    format-ethernet = " {ipaddr}/{cidr}";
 | 
				
			||||||
 | 
					                    format-disconnected = "";
 | 
				
			||||||
 | 
					                    tooltip-format = " {ifname} via {gwaddr}";
 | 
				
			||||||
 | 
					                    tooltip-format-wifi = "SSID: {essid}({signalStrength}%), {frequency} MHz\nInterface: {ifname}\nIP: {ipaddr}\nGW: {gwaddr}\n\n<span color='#a6da95'>{bandwidthUpBits}</span>\t<span color='#ee99a0'>{bandwidthDownBits}</span>\t<span color='#c6a0f6'>{bandwidthTotalBits}</span>";
 | 
				
			||||||
 | 
					                    tooltip-format-ethernet = "{ifname} ";
 | 
				
			||||||
 | 
					                    tooltip-format-disconnected = "Disconnected";
 | 
				
			||||||
 | 
					                    on-click = "XDG_CURRENT_DESKTOP=GNOME gnome-control-center wifi";
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
 | 
					                "privacy" = {
 | 
				
			||||||
 | 
					                    icon-spacing = 4;
 | 
				
			||||||
 | 
					                    # icon-size" = 18;
 | 
				
			||||||
 | 
					                    transition-duration = 250;
 | 
				
			||||||
 | 
					                    modules = [
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            type = "screenshare";
 | 
				
			||||||
 | 
					                            tooltip = true;
 | 
				
			||||||
 | 
					                            # tooltip-icon-size = 24
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            type = "audio-out";
 | 
				
			||||||
 | 
					                            tooltip = true;
 | 
				
			||||||
 | 
					                            # tooltip-icon-size = 24
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            type = "audio-in";
 | 
				
			||||||
 | 
					                            tooltip = true;
 | 
				
			||||||
 | 
					                            # tooltip-icon-size = 24
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    ];
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        style = ''
 | 
				
			||||||
 | 
					            * {
 | 
				
			||||||
 | 
					                font-family: "FiraCode Nerd Font";
 | 
				
			||||||
 | 
					                font-weight: bold;
 | 
				
			||||||
 | 
					                font-size: 22px;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            window#waybar {
 | 
				
			||||||
 | 
					                background-color: transparent;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            .module {
 | 
				
			||||||
 | 
					                background: rgba(0, 0, 0, 0.6);
 | 
				
			||||||
 | 
					                color: white;
 | 
				
			||||||
 | 
					                border-radius: 7px;
 | 
				
			||||||
 | 
					                padding: 5px 5px 5px 5px;
 | 
				
			||||||
 | 
					                margin: 5px 0;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            box.module button:hover {
 | 
				
			||||||
 | 
					                box-shadow: inset 0 -3px #ffffff;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            .modules-left {
 | 
				
			||||||
 | 
					                padding: 3px;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            .modules-right {
 | 
				
			||||||
 | 
					                padding: 3px;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            .modules-center {
 | 
				
			||||||
 | 
					                padding: 3px;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            #workspaces button {
 | 
				
			||||||
 | 
					                color: #ffffff;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            #battery.warning {
 | 
				
			||||||
 | 
					                background:rgba(240, 165, 0, 0.6);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            #battery.critical {
 | 
				
			||||||
 | 
					                background:rgba(255, 0, 0, 0.6);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        '';
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,151 +0,0 @@
 | 
				
			|||||||
{inputs, pkgs, ...}: 
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  programs.kitty.enable = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  wayland.windowManager.hyprland = {
 | 
					 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
    systemd.enable = true;
 | 
					 | 
				
			||||||
    settings = {
 | 
					 | 
				
			||||||
      "$mod" = "SUPER";
 | 
					 | 
				
			||||||
      bind =
 | 
					 | 
				
			||||||
        [
 | 
					 | 
				
			||||||
          "$mod, F, exec, firefox"
 | 
					 | 
				
			||||||
          "$mod, return, exec, walker"
 | 
					 | 
				
			||||||
          "$mod_SHIFT, return, exec, kitty"
 | 
					 | 
				
			||||||
          "$mod, s, exec, code"
 | 
					 | 
				
			||||||
          "$mod, Q, killactive," # Close window
 | 
					 | 
				
			||||||
          "$mod, T, togglefloating," # Toggle Floating
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          "$mod, left, movefocus, l" # Move focus left
 | 
					 | 
				
			||||||
          "$mod, right, movefocus, r" # Move focus Right
 | 
					 | 
				
			||||||
          "$mod, up, movefocus, u" # Move focus Up
 | 
					 | 
				
			||||||
          "$mod, down, movefocus, d" # Move focus Down
 | 
					 | 
				
			||||||
          # "$shiftMod, up, focusmonitor, -1" # Focus previous monitor
 | 
					 | 
				
			||||||
          # "$shiftMod, down, focusmonitor, 1" # Focus next monitor
 | 
					 | 
				
			||||||
          # "$shiftMod, left, layoutmsg, addmaster" # Add to master
 | 
					 | 
				
			||||||
          # "$shiftMod, right, layoutmsg, removemaster" # Remove from master
 | 
					 | 
				
			||||||
        ];
 | 
					 | 
				
			||||||
      general = {
 | 
					 | 
				
			||||||
        resize_on_border = true;
 | 
					 | 
				
			||||||
        gaps_in = 5;
 | 
					 | 
				
			||||||
        gaps_out = 5;
 | 
					 | 
				
			||||||
        border_size = 1;
 | 
					 | 
				
			||||||
        layout = "master";
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
      
 | 
					 | 
				
			||||||
      misc = {
 | 
					 | 
				
			||||||
        disable_hyprland_logo = true;
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      input = {
 | 
					 | 
				
			||||||
        kb_layout = "de";
 | 
					 | 
				
			||||||
        kb_options = "caps:control";
 | 
					 | 
				
			||||||
        numlock_by_default = true;
 | 
					 | 
				
			||||||
        # mouse input should be unchanged
 | 
					 | 
				
			||||||
        natural_scroll = false;
 | 
					 | 
				
			||||||
        touchpad = {
 | 
					 | 
				
			||||||
          disable_while_typing = false;
 | 
					 | 
				
			||||||
          natural_scroll = true;
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      gestures = {
 | 
					 | 
				
			||||||
        workspace_swipe = true;
 | 
					 | 
				
			||||||
        workspace_swipe_fingers = 4;
 | 
					 | 
				
			||||||
        workspace_swipe_touch = true;
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
      decoration = {
 | 
					 | 
				
			||||||
        rounding = 5;
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
      # plugin.virtual-desktops = {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      monitor = [
 | 
					 | 
				
			||||||
        "eDP-1, highres, 0x0, 1.5" # the internal laptop monitor
 | 
					 | 
				
			||||||
        ", preferred, auto, 1" # automatically add any newly detected monitor
 | 
					 | 
				
			||||||
      ];
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    plugins = [
 | 
					 | 
				
			||||||
      # Touch gestures: https://github.com/horriblename/hyprgrass
 | 
					 | 
				
			||||||
      # inputs.hyprgrass.packages.${pkgs.system}.default
 | 
					 | 
				
			||||||
      # Virtual desktops: https://github.com/levnikmyskin/hyprland-virtual-desktops
 | 
					 | 
				
			||||||
      # inputs.hyprland-virtual-desktops.packages.${pkgs.system}.virtual-desktops
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ];
 | 
					 | 
				
			||||||
  # the overlay makes this available as a home manager module
 | 
					 | 
				
			||||||
  programs.hyprpanel = {
 | 
					 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
    # autostart after hyprland
 | 
					 | 
				
			||||||
    hyprland.enable = true;
 | 
					 | 
				
			||||||
    overwrite.enable = true;
 | 
					 | 
				
			||||||
    overlay.enable = true;
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    theme = "monochrome";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    settings = {
 | 
					 | 
				
			||||||
      bar = {
 | 
					 | 
				
			||||||
        clock.format = "%H:%M";
 | 
					 | 
				
			||||||
        clock.showIcon = false;
 | 
					 | 
				
			||||||
        launcher.icon = "🚀";
 | 
					 | 
				
			||||||
        launcher.autoDetectIcon = true;
 | 
					 | 
				
			||||||
        workspaces.show_icons = true;
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    layout = {
 | 
					 | 
				
			||||||
      "bar.layouts" = {
 | 
					 | 
				
			||||||
        "*" = {
 | 
					 | 
				
			||||||
          left = ["workspaces"];
 | 
					 | 
				
			||||||
          middle = ["clock"];
 | 
					 | 
				
			||||||
          right = ["volume" "systray" "nm-applet" "notifications" ];
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  programs.walker = {
 | 
					 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
    runAsService = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # All options from the config.json can be used here.
 | 
					 | 
				
			||||||
    config = {
 | 
					 | 
				
			||||||
      search.placeholder = "Search";
 | 
					 | 
				
			||||||
      ui.fullscreen = true;
 | 
					 | 
				
			||||||
      list = {
 | 
					 | 
				
			||||||
        height = 200;
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
      websearch.prefix = "?";
 | 
					 | 
				
			||||||
      switcher.prefix = "/";
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # If this is not set the default styling is used.
 | 
					 | 
				
			||||||
    # style = ''
 | 
					 | 
				
			||||||
    #   * {
 | 
					 | 
				
			||||||
    #     color: #dcd7ba;
 | 
					 | 
				
			||||||
    #   }
 | 
					 | 
				
			||||||
    # '';
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  programs.hyprlock = {
 | 
					 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
    settings = {
 | 
					 | 
				
			||||||
      general = {
 | 
					 | 
				
			||||||
        grace = 5;
 | 
					 | 
				
			||||||
        no_fade_in = false;
 | 
					 | 
				
			||||||
        disable_loading_bar = false;
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
  # Style the lock screen
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  services.network-manager-applet = {
 | 
					 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -3,5 +3,4 @@
 | 
				
			|||||||
  home.packages = [
 | 
					  home.packages = [
 | 
				
			||||||
    pkgs.keepassxc
 | 
					    pkgs.keepassxc
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										65
									
								
								modules/home-manager/kitty.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								modules/home-manager/kitty.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,65 @@
 | 
				
			|||||||
 | 
					{pkgs, lib, ...}:
 | 
				
			||||||
 | 
					let
 | 
				
			||||||
 | 
					  stylix = import ./stylix.nix { inherit pkgs; };
 | 
				
			||||||
 | 
					in
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    programs.kitty = {
 | 
				
			||||||
 | 
					        enable = true;
 | 
				
			||||||
 | 
					        shellIntegration.enableFishIntegration = true;
 | 
				
			||||||
 | 
					        settings = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # # import the colors from the stylix theme, but keep the background black
 | 
				
			||||||
 | 
					            # color0 = stylix.stylix.base16Scheme.base00;
 | 
				
			||||||
 | 
					            # color8 = stylix.stylix.base16Scheme.base08;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # color1 = stylix.stylix.base16Scheme.base01;
 | 
				
			||||||
 | 
					            # color9 = stylix.stylix.base16Scheme.base09;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # color2 = stylix.stylix.base16Scheme.base02;
 | 
				
			||||||
 | 
					            # color10 = stylix.stylix.base16Scheme.base0A;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # color3 = stylix.stylix.base16Scheme.base03;
 | 
				
			||||||
 | 
					            # color11 = stylix.stylix.base16Scheme.base0B;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # color4 = stylix.stylix.base16Scheme.base04;
 | 
				
			||||||
 | 
					            # color12 = stylix.stylix.base16Scheme.base0C;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # color5 = stylix.stylix.base16Scheme.base05;
 | 
				
			||||||
 | 
					            # color13 = stylix.stylix.base16Scheme.base0D;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # color6 = stylix.stylix.base16Scheme.base06;
 | 
				
			||||||
 | 
					            # color14 = stylix.stylix.base16Scheme.base0E;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # color7 = stylix.stylix.base16Scheme.base07;
 | 
				
			||||||
 | 
					            # color15 = stylix.stylix.base16Scheme.base0F;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # also reuse the background opacity by stylix
 | 
				
			||||||
 | 
					            background_opacity = stylix.stylix.opacity.terminal;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            background = "#000000";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            font_family = stylix.stylix.fonts.monospace.name;
 | 
				
			||||||
 | 
					            font_size = stylix.stylix.fonts.sizes.terminal;
 | 
				
			||||||
 | 
					            confirm_os_window_close = 0;
 | 
				
			||||||
 | 
					            enable_audio_bell = false;
 | 
				
			||||||
 | 
					            cursor_trail = 3;
 | 
				
			||||||
 | 
					            cursor_trail_decay = "0.1 0.4";
 | 
				
			||||||
 | 
					            url_style = "curly";
 | 
				
			||||||
 | 
					            notify_on_cmd_finish = "unfocused";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        keybindings = {
 | 
				
			||||||
 | 
					            # copy and paste
 | 
				
			||||||
 | 
					            "ctrl+shift+c" = "copy_to_clipboard";
 | 
				
			||||||
 | 
					            "ctrl+shift+v" = "paste_from_clipboard";
 | 
				
			||||||
 | 
					            # zoom
 | 
				
			||||||
 | 
					            "ctrl+shift+plus" = "increase_font_size";
 | 
				
			||||||
 | 
					            "ctrl+shift+minus" = "decrease_font_size";
 | 
				
			||||||
 | 
					            "ctrl+shift+0" = "reset_font_size";
 | 
				
			||||||
 | 
					            # tabs
 | 
				
			||||||
 | 
					            "ctrl+shift+t" = "new_tab";
 | 
				
			||||||
 | 
					            "ctrl+shift+w" = "close_tab";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										8
									
								
								modules/home-manager/kubectl.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								modules/home-manager/kubectl.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					{pkgs, ...}: 
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    home.packages = [
 | 
				
			||||||
 | 
					        pkgs.kubie
 | 
				
			||||||
 | 
					        pkgs.kubectl
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										96
									
								
								modules/home-manager/stylix.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								modules/home-manager/stylix.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,96 @@
 | 
				
			|||||||
 | 
					{pkgs, ...}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    stylix = {
 | 
				
			||||||
 | 
					        # Stylix is already enabled since the system is configured to use it
 | 
				
			||||||
 | 
					        # enable = true;
 | 
				
			||||||
 | 
					        # don't theme applications by default
 | 
				
			||||||
 | 
					        autoEnable = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        cursor = {
 | 
				
			||||||
 | 
					            package = pkgs.apple-cursor;
 | 
				
			||||||
 | 
					            name = "macOS";
 | 
				
			||||||
 | 
					            size = 35;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        iconTheme = {
 | 
				
			||||||
 | 
					            enable = true;
 | 
				
			||||||
 | 
					            package = pkgs.tela-icon-theme;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        image = ./../../wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        fonts = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            serif = {
 | 
				
			||||||
 | 
					                package = pkgs.dejavu_fonts;
 | 
				
			||||||
 | 
					                name = "DejaVu Serif";
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            sansSerif = {
 | 
				
			||||||
 | 
					                package = pkgs.dejavu_fonts;
 | 
				
			||||||
 | 
					                name = "DejaVu Sans";
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            monospace = {
 | 
				
			||||||
 | 
					                package = pkgs.nerdfonts.override { fonts = [ "FiraCode" ]; };
 | 
				
			||||||
 | 
					                name = "FiraCode Nerd Font Mono";
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            emoji = {
 | 
				
			||||||
 | 
					                package = pkgs.noto-fonts-emoji;
 | 
				
			||||||
 | 
					                name = "Noto Color Emoji";
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            sizes = {
 | 
				
			||||||
 | 
					                applications = 15;
 | 
				
			||||||
 | 
					                desktop = 15;
 | 
				
			||||||
 | 
					                popups = 12;
 | 
				
			||||||
 | 
					                terminal = 15;
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        opacity = {
 | 
				
			||||||
 | 
					            applications = 1.0;
 | 
				
			||||||
 | 
					            desktop = 1.0;
 | 
				
			||||||
 | 
					            popups = 0.9;
 | 
				
			||||||
 | 
					            terminal = 0.8;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    stylix.base16Scheme = {
 | 
				
			||||||
 | 
					        scheme = "onelight";
 | 
				
			||||||
 | 
					        author = "https://github.com/one-dark";
 | 
				
			||||||
 | 
					        base00 = "#fafafa";
 | 
				
			||||||
 | 
					        base01 = "#f4f4f4";
 | 
				
			||||||
 | 
					        base02 = "#e5e5e6";
 | 
				
			||||||
 | 
					        base03 = "#dfdfe0";
 | 
				
			||||||
 | 
					        base04 = "#d7d7d8";
 | 
				
			||||||
 | 
					        base05 = "#383a42";
 | 
				
			||||||
 | 
					        base06 = "#202227";
 | 
				
			||||||
 | 
					        base07 = "#090a0b";
 | 
				
			||||||
 | 
					        base08 = "#d84a3d";
 | 
				
			||||||
 | 
					        base09 = "#a626a4";
 | 
				
			||||||
 | 
					        base0A = "#c18401";
 | 
				
			||||||
 | 
					        base0B = "#50a14f";
 | 
				
			||||||
 | 
					        base0C = "#0070a8";
 | 
				
			||||||
 | 
					        base0D = "#4078f2";
 | 
				
			||||||
 | 
					        base0E = "#a626a4";
 | 
				
			||||||
 | 
					        base0F = "#986801";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    stylix.targets = {
 | 
				
			||||||
 | 
					        hyprpaper.enable = true;
 | 
				
			||||||
 | 
					        hyprlock.enable = true;
 | 
				
			||||||
 | 
					        gnome.enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # disabled because they overwrite too many settings
 | 
				
			||||||
 | 
					        # wofi.enable = true;
 | 
				
			||||||
 | 
					        # vscode.enable = true;
 | 
				
			||||||
 | 
					        # waybar.enable = true;
 | 
				
			||||||
 | 
					        # kitty.enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										95
									
								
								modules/home-manager/wofi.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								modules/home-manager/wofi.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,95 @@
 | 
				
			|||||||
 | 
					{ config, pkgs, lib, ... }:
 | 
				
			||||||
 | 
					let
 | 
				
			||||||
 | 
					  stylix = import ./stylix.nix { inherit pkgs; };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					in {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  home.packages = with pkgs; [ wofi-emoji ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  programs.wofi = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    settings = {
 | 
				
			||||||
 | 
					      # global layout
 | 
				
			||||||
 | 
					      width = "50%";
 | 
				
			||||||
 | 
					      height = "50%";
 | 
				
			||||||
 | 
					      orientation = "vertical";
 | 
				
			||||||
 | 
					      hide_scroll = true;
 | 
				
			||||||
 | 
					      line_wrap = "off";
 | 
				
			||||||
 | 
					      dynamic_lines = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # search behaviour
 | 
				
			||||||
 | 
					      matching = "fuzzy";
 | 
				
			||||||
 | 
					      single_click = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      show = "drun";
 | 
				
			||||||
 | 
					      prompt = "Launch...";
 | 
				
			||||||
 | 
					      # normal_window = true;
 | 
				
			||||||
 | 
					      layer = "top";
 | 
				
			||||||
 | 
					      term = "foot";
 | 
				
			||||||
 | 
					      halign = "fill";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Rich rendering
 | 
				
			||||||
 | 
					      allow_markup = true;
 | 
				
			||||||
 | 
					      allow_images = true;
 | 
				
			||||||
 | 
					      image_size = 24;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      exec_search = false;
 | 
				
			||||||
 | 
					      hide_search = false;
 | 
				
			||||||
 | 
					      parse_search = false;
 | 
				
			||||||
 | 
					      insensitive = true;
 | 
				
			||||||
 | 
					      no_actions = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      filter_rate = 100;
 | 
				
			||||||
 | 
					      key_expand = "Tab";
 | 
				
			||||||
 | 
					      key_exit = "Escape";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    style = ''
 | 
				
			||||||
 | 
					      * {
 | 
				
			||||||
 | 
					        font-family: ${stylix.stylix.fonts.sansSerif.name};
 | 
				
			||||||
 | 
					        font-size: ${builtins.toString (stylix.stylix.fonts.sizes.applications + 10)}px;
 | 
				
			||||||
 | 
					        color: ${stylix.stylix.base16Scheme.base04};
 | 
				
			||||||
 | 
					        background: transparent;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      #window {
 | 
				
			||||||
 | 
					        background: rgba(41, 46, 66, 0.5);
 | 
				
			||||||
 | 
					        margin: auto;
 | 
				
			||||||
 | 
					        padding: 10px;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      #input {
 | 
				
			||||||
 | 
					        padding: 10px;
 | 
				
			||||||
 | 
					        margin-bottom: 10px;
 | 
				
			||||||
 | 
					        border-radius: 15px;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      #outer-box {
 | 
				
			||||||
 | 
					        padding: 20px;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      #img {
 | 
				
			||||||
 | 
					        margin-right: 6px;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      #entry {
 | 
				
			||||||
 | 
					        padding: 10px;
 | 
				
			||||||
 | 
					        border-radius: 15px;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      #entry:selected {
 | 
				
			||||||
 | 
					        background-color: #2e3440;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      #text {
 | 
				
			||||||
 | 
					        margin: 2px;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    '';
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -4,8 +4,19 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  xdg.portal = {
 | 
					  xdg.portal = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    xdgOpenUsePortal = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # configPackages = [ pkgs.hyprland ];
 | 
				
			||||||
 | 
					    config = {
 | 
				
			||||||
 | 
					      common.default = ["gtk"];
 | 
				
			||||||
 | 
					      hyprland.default = ["gtk" "hyprland"];
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    extraPortals = [
 | 
					    extraPortals = [
 | 
				
			||||||
      pkgs.xdg-desktop-portal-gtk
 | 
					      pkgs.xdg-desktop-portal-gtk
 | 
				
			||||||
 | 
					      pkgs.xdg-desktop-portal-wlr
 | 
				
			||||||
 | 
					      pkgs.xdg-desktop-portal-hyprland
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										26
									
								
								modules/nixos/bluetooth.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								modules/nixos/bluetooth.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    config,
 | 
				
			||||||
 | 
					    lib,
 | 
				
			||||||
 | 
					    pkgs,
 | 
				
			||||||
 | 
					    ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  environment.systemPackages = [
 | 
				
			||||||
 | 
					    pkgs.bluez
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					  hardware.bluetooth = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    powerOnBoot = false;
 | 
				
			||||||
 | 
					    settings = {
 | 
				
			||||||
 | 
					      General = {
 | 
				
			||||||
 | 
					        Name = "Hello";
 | 
				
			||||||
 | 
					        ControllerMode = "dual";
 | 
				
			||||||
 | 
					        FastConnectable = "true";
 | 
				
			||||||
 | 
					        Experimental = "true";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      Policy = {
 | 
				
			||||||
 | 
					        AutoEnable = "true";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										3
									
								
								modules/nixos/flakes.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								modules/nixos/flakes.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  nix.settings.experimental-features = [ "nix-command" "flakes" ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										9
									
								
								modules/nixos/flatpak.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								modules/nixos/flatpak.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  config,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  services.flatpak.enable = true;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										11
									
								
								modules/nixos/fonts.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								modules/nixos/fonts.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  config,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  # from here on fonts are managed on a user level
 | 
				
			||||||
 | 
					  fonts.fontDir.enable = true;
 | 
				
			||||||
 | 
					  fonts.fontconfig.enable = true;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -20,5 +20,8 @@
 | 
				
			|||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
    wayland = true;
 | 
					    wayland = true;
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					  security.pam.services.hyprlock = {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  security.pam.services.gdm.enableGnomeKeyring = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										10
									
								
								modules/nixos/nh.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								modules/nixos/nh.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    config,
 | 
				
			||||||
 | 
					    pkgs,
 | 
				
			||||||
 | 
					    ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  programs.nh = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -13,34 +13,34 @@
 | 
				
			|||||||
      configuration = {
 | 
					      configuration = {
 | 
				
			||||||
        system.nixos.tags = [ "nvidia-enabled" ];
 | 
					        system.nixos.tags = [ "nvidia-enabled" ];
 | 
				
			||||||
        # Enable OpenGL
 | 
					        # Enable OpenGL
 | 
				
			||||||
        hardware.graphics = {
 | 
					        hardware.graphics.enable = lib.mkForce true;
 | 
				
			||||||
          enable = true;
 | 
					        hardware.nvidia = lib.mkForce {
 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
        hardware.nvidia = {
 | 
					 | 
				
			||||||
          # prime = {
 | 
					 | 
				
			||||||
          #   nvidiaBusId = "PCI:1:0:0";
 | 
					 | 
				
			||||||
          #   intelBusId = "PCI:0:2:0";
 | 
					 | 
				
			||||||
          # };
 | 
					 | 
				
			||||||
          modesetting.enable = true;
 | 
					          modesetting.enable = true;
 | 
				
			||||||
          powerManagement.enable = true;
 | 
					          powerManagement.enable = true;
 | 
				
			||||||
 | 
					          # features not available for the old graphics card
 | 
				
			||||||
          powerManagement.finegrained = false;
 | 
					          powerManagement.finegrained = false;
 | 
				
			||||||
          open = false;
 | 
					          open = false;
 | 
				
			||||||
          nvidiaSettings = false;
 | 
					          nvidiaSettings = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          prime = {
 | 
				
			||||||
 | 
					            sync.enable = true;
 | 
				
			||||||
 | 
					            nvidiaBusId = "PCI:1:0:0";
 | 
				
			||||||
 | 
					            intelBusId = "PCI:0:2:0";
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
 | 
					          package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
 | 
				
			||||||
            version = "565.77";
 | 
					            version = "575.51.02";
 | 
				
			||||||
            sha256_64bit = "sha256-CnqnQsRrzzTXZpgkAtF7PbH9s7wbiTRNcM0SPByzFHw=";
 | 
					            sha256_64bit = "sha256-XZ0N8ISmoAC8p28DrGHk/YN1rJsInJ2dZNL8O+Tuaa0=";
 | 
				
			||||||
            sha256_aarch64 = "sha256-LSAYUnhfnK3rcuPe1dixOwAujSof19kNOfdRHE7bToE=";
 | 
					            openSha256 = "sha256-NQg+QDm9Gt+5bapbUO96UFsPnz1hG1dtEwT/g/vKHkw=";
 | 
				
			||||||
            openSha256 = "sha256-Fxo0t61KQDs71YA8u7arY+503wkAc1foaa51vi2Pl5I=";
 | 
					            settingsSha256 = "sha256-6n9mVkEL39wJj5FB1HBml7TTJhNAhS/j5hqpNGFQE4w=";
 | 
				
			||||||
            settingsSha256 = "sha256-VUetj3LlOSz/LB+DDfMCN34uA4bNTTpjDrb6C6Iwukk=";
 | 
					            usePersistenced = false;
 | 
				
			||||||
            persistencedSha256 = "sha256-wnDjC099D8d9NJSp9D0CbsL+vfHXyJFYYgU3CwcqKww=";
 | 
					 | 
				
			||||||
          };
 | 
					          };
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        # overwrite the blacklists set previously
 | 
					        # overwrite the blacklists set previously
 | 
				
			||||||
        boot.extraModprobeConfig = "";
 | 
					        boot.extraModprobeConfig = lib.mkForce "";
 | 
				
			||||||
        boot.blacklistedKernelModules = [];
 | 
					        boot.blacklistedKernelModules = lib.mkForce [];
 | 
				
			||||||
        services.udev.extraRules = "";
 | 
					        services.udev.extraRules = lib.mkForce "";
 | 
				
			||||||
        services.xserver.videoDrivers = ["nvidia"];
 | 
					        services.xserver.videoDrivers = lib.mkForce ["nvidia"];
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
@@ -63,34 +63,8 @@
 | 
				
			|||||||
    ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", ATTR{power/control}="auto", ATTR{remove}="1"
 | 
					    ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", ATTR{power/control}="auto", ATTR{remove}="1"
 | 
				
			||||||
  '';
 | 
					  '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
    # # Remove the whole bridge responsible for the VGA/3D controller
 | 
					    # # Remove the whole bridge responsible for the VGA/3D controller
 | 
				
			||||||
    # ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x8086", ATTR{class}=="0x060400", ATTR{power/control}="auto", ATTR{remove}="1"
 | 
					    # ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x8086", ATTR{class}=="0x060400", ATTR{power/control}="auto", ATTR{remove}="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # # somehow the udev rules are not enough to prevent the nouveau driver from loading
 | 
					 | 
				
			||||||
  # # Also unload remove the bus by id manually
 | 
					 | 
				
			||||||
  # # unload 0000:01:00.1 and 0000:01:00.0
 | 
					 | 
				
			||||||
  # # at boot echo 1 > /sys/bus/pci/devices/0000:01:00.1/remove
 | 
					 | 
				
			||||||
  # # at boot echo 1 > /sys/bus/pci/devices/0000:01:00.0/remove
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # systemd.services.remove-nouveau = {
 | 
					 | 
				
			||||||
  #   description = "Remove Nouveau PCI devices";
 | 
					 | 
				
			||||||
  #   wantedBy = [ "multi-user.target" ];
 | 
					 | 
				
			||||||
  #   after = [ "sysinit.target" ];
 | 
					 | 
				
			||||||
  #   serviceConfig = {
 | 
					 | 
				
			||||||
  #     Type = "oneshot";
 | 
					 | 
				
			||||||
  #     ExecStart = "${pkgs.coreutils}/bin/echo 1 > /sys/bus/pci/devices/0000:01:00.1/remove";
 | 
					 | 
				
			||||||
  #     ExecStart = "${pkgs.coreutils}/bin/echo auto > /sys/bus/pci/devices/0000:00:01.0/power/control";
 | 
					 | 
				
			||||||
  #     ExecStart = "${pkgs.coreutils}/bin/echo 1 > /sys/bus/pci/devices/0000:01:00.0/remove";
 | 
					 | 
				
			||||||
  #     ExecStart = "${pkgs.coreutils}/bin/echo auto > /sys/bus/pci/devices/0000:00:01.0/power/control";
 | 
					 | 
				
			||||||
  #   };
 | 
					 | 
				
			||||||
  # };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  boot.blacklistedKernelModules = [ "nouveau" "nvidia" "nvidia_drm" "nvidia_modeset" ];
 | 
					  boot.blacklistedKernelModules = [ "nouveau" "nvidia" "nvidia_drm" "nvidia_modeset" ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Warning: used to have
 | 
					 | 
				
			||||||
# lib.mkdDefault
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										30
									
								
								modules/nixos/power.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								modules/nixos/power.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  config,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  services.tlp = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    settings = {
 | 
				
			||||||
 | 
					      CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
 | 
				
			||||||
 | 
					      CPU_SCALING_GOVERNOR_ON_AC = "performance";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
 | 
				
			||||||
 | 
					      CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      CPU_MIN_PERF_ON_AC = 0;
 | 
				
			||||||
 | 
					      CPU_MAX_PERF_ON_AC = 100;
 | 
				
			||||||
 | 
					      CPU_MIN_PERF_ON_BAT = 0;
 | 
				
			||||||
 | 
					      CPU_MAX_PERF_ON_BAT = 50;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  systemd.sleep.extraConfig = ''
 | 
				
			||||||
 | 
					    AllowSuspend=yes
 | 
				
			||||||
 | 
					    AllowHibernation=yes
 | 
				
			||||||
 | 
					    AllowHybridSleep=yes
 | 
				
			||||||
 | 
					    AllowSuspendThenHibernate=yes
 | 
				
			||||||
 | 
					  '';
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										11
									
								
								modules/nixos/stylix.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								modules/nixos/stylix.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  config,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  stylix.enable = true;
 | 
				
			||||||
 | 
					  stylix.image = ./../../wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -4,13 +4,19 @@ with lib.hm.gvariant;
 | 
				
			|||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
    ../modules/home-manager/browser.nix
 | 
					    ../modules/home-manager/browser.nix
 | 
				
			||||||
    ../modules/home-manager/code.nix
 | 
					    ../modules/home-manager/code.nix
 | 
				
			||||||
 | 
					    ../modules/home-manager/dev.nix
 | 
				
			||||||
 | 
					    ../modules/home-manager/documents.nix
 | 
				
			||||||
    ../modules/home-manager/fish.nix
 | 
					    ../modules/home-manager/fish.nix
 | 
				
			||||||
    ../modules/home-manager/flatpaks.nix
 | 
					    ../modules/home-manager/flatpaks.nix
 | 
				
			||||||
    ../modules/home-manager/hyprland-customization.nix
 | 
					    ../modules/home-manager/hypr
 | 
				
			||||||
    ../modules/home-manager/keepassxc.nix
 | 
					    ../modules/home-manager/keepassxc.nix
 | 
				
			||||||
 | 
					    ../modules/home-manager/kitty.nix
 | 
				
			||||||
 | 
					    ../modules/home-manager/kubectl.nix
 | 
				
			||||||
    ../modules/home-manager/obsidian.nix
 | 
					    ../modules/home-manager/obsidian.nix
 | 
				
			||||||
    ../modules/home-manager/owncloud-client.nix
 | 
					    ../modules/home-manager/owncloud-client.nix
 | 
				
			||||||
 | 
					    ../modules/home-manager/stylix.nix
 | 
				
			||||||
    ../modules/home-manager/thunderbird.nix
 | 
					    ../modules/home-manager/thunderbird.nix
 | 
				
			||||||
 | 
					    ../modules/home-manager/wofi.nix
 | 
				
			||||||
    ../modules/home-manager/xdg-portals.nix
 | 
					    ../modules/home-manager/xdg-portals.nix
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -23,8 +29,6 @@ with lib.hm.gvariant;
 | 
				
			|||||||
  home.username = "remy";
 | 
					  home.username = "remy";
 | 
				
			||||||
  home.homeDirectory = "/home/remy";
 | 
					  home.homeDirectory = "/home/remy";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  #home.file.<filepath> = <content>;
 | 
					 | 
				
			||||||
  
 | 
					 | 
				
			||||||
  ## Utils relevant to this user only
 | 
					  ## Utils relevant to this user only
 | 
				
			||||||
  programs.git = {
 | 
					  programs.git = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
@@ -32,29 +36,38 @@ with lib.hm.gvariant;
 | 
				
			|||||||
    userEmail = "me@moll.re";
 | 
					    userEmail = "me@moll.re";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ## XDG configuration
 | 
				
			||||||
 | 
					  xdg = {
 | 
				
			||||||
 | 
					    userDirs = {
 | 
				
			||||||
 | 
					      enable = true;
 | 
				
			||||||
 | 
					      desktop = "Desktop";
 | 
				
			||||||
 | 
					      pictures = "Pictures";
 | 
				
			||||||
 | 
					      documents = "Documents";
 | 
				
			||||||
 | 
					      publicShare = null;
 | 
				
			||||||
 | 
					      music = null;
 | 
				
			||||||
 | 
					      templates = null;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # ## Gnome keyboard and mouse settings
 | 
					    mimeApps = {
 | 
				
			||||||
  # dconf.settings = {
 | 
					      enable = true;
 | 
				
			||||||
  #   # set the keyboard layout to german
 | 
					      defaultApplications = {
 | 
				
			||||||
  #   "org/gnome/desktop/input-sources" = {
 | 
					        "inode/directory" = "org.gnome.Nautilus.desktop";
 | 
				
			||||||
  #     current = mkUint32 0;
 | 
					        "application/zip" = "org.gnome.FileRoller.desktop";
 | 
				
			||||||
  #     sources = [ (mkTuple [ "xkb" "de" ]) (mkTuple [ "xkb" "ch" ]) (mkTuple [ "xkb" "us" ]) ];
 | 
					        "application/octet-stream" = "org.gnome.GHex.desktop";
 | 
				
			||||||
  #     xkb-options = [ "lv3:ralt_switch" ];
 | 
					        # pdfs
 | 
				
			||||||
  #   };
 | 
					        "application/pdf" = "org.gnome.Evince.desktop";
 | 
				
			||||||
 | 
					        # links
 | 
				
			||||||
  #   "org/gnome/desktop/peripherals/keyboard" = {
 | 
					        "x-scheme-handler/https" = "firefox.desktop"; # Links
 | 
				
			||||||
  #     numlock-state = true;
 | 
					        "x-scheme-handler/http" = "firefox.desktop"; # Links
 | 
				
			||||||
  #   };
 | 
					        # images
 | 
				
			||||||
 | 
					        # "image/png" = "org.gnome.Evince.desktop";
 | 
				
			||||||
  #   "org/gnome/desktop/peripherals/mouse" = {
 | 
					        # "image/jpeg" = "org.gnome.Evince.desktop";
 | 
				
			||||||
  #     natural-scroll = false;
 | 
					        # "image/gif" = "org.gnome.Evince.desktop";
 | 
				
			||||||
  #     speed = 0.20851063829787231;
 | 
					        # "image/svg+xml" = "org.gnome.Evince.desktop";
 | 
				
			||||||
  #   };
 | 
					        # "image/tiff" = "org.gnome.Evince.desktop";
 | 
				
			||||||
 | 
					        # text-based
 | 
				
			||||||
  #   "org/gnome/desktop/peripherals/touchpad" = {
 | 
					        "text/*" = "vscode.desktop";
 | 
				
			||||||
  #     tap-to-click = true;
 | 
					      };
 | 
				
			||||||
  #     two-finger-scrolling-enabled = true;
 | 
					    };
 | 
				
			||||||
  #     speed = 0.16872427983539096;
 | 
					  };
 | 
				
			||||||
  #   };
 | 
					 | 
				
			||||||
  # };
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								wallpapers/codioful-formerly-gradienta-lweK7Wme_jo-unsplash.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								wallpapers/codioful-formerly-gradienta-lweK7Wme_jo-unsplash.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 329 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								wallpapers/codioful-formerly-gradienta-n2XqPm7Bqhk-unsplash.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								wallpapers/codioful-formerly-gradienta-n2XqPm7Bqhk-unsplash.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 381 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								wallpapers/luke-chesser-eICUFSeirc0-unsplash.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								wallpapers/luke-chesser-eICUFSeirc0-unsplash.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1.6 MiB  | 
							
								
								
									
										
											BIN
										
									
								
								wallpapers/luke-chesser-pJadQetzTkI-unsplash.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								wallpapers/luke-chesser-pJadQetzTkI-unsplash.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1.8 MiB  | 
							
								
								
									
										
											BIN
										
									
								
								wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 3.5 MiB  | 
		Reference in New Issue
	
	Block a user