diff --git a/README.md b/README.md index ec15675..67d9d2b 100644 --- a/README.md +++ b/README.md @@ -22,14 +22,22 @@ Don't forget to add the `#` to the end of the target to specify the host c ## Usage ### Deploying to a machine -Run +Run ```bash nixos-rebuild switch --flake # # for instance -nixos-rebuild switch --flake .#spectre +nixos-rebuild switch --flake .#Nixtre ``` 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 To build an installer iso, run ```bash @@ -38,11 +46,32 @@ nix build .#nixosConfigurations.bcachefs-iso.config.system.build.isoImage 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 - https://github.com/the-nix-way/dev-templates - 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/mwaldleben/nix-config - 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 diff --git a/dconf.conf b/dconf.conf deleted file mode 100644 index 68c8a56..0000000 --- a/dconf.conf +++ /dev/null @@ -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='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' diff --git a/flake.lock b/flake.lock index 050efff..2ab2342 100644 --- a/flake.lock +++ b/flake.lock @@ -1,27 +1,5 @@ { "nodes": { - "ags": { - "inputs": { - "astal": "astal", - "nixpkgs": [ - "hyprpanel", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1736090999, - "narHash": "sha256-B5CJuHqfJrzPa7tObK0H9669/EClSHpa/P7B9EuvElU=", - "owner": "aylur", - "repo": "ags", - "rev": "5527c3c07d92c11e04e7fd99d58429493dba7e3c", - "type": "github" - }, - "original": { - "owner": "aylur", - "repo": "ags", - "type": "github" - } - }, "aquamarine": { "inputs": { "hyprutils": [ @@ -42,11 +20,11 @@ ] }, "locked": { - "lastModified": 1736102453, - "narHash": "sha256-5qb4kb7Xbt8jJFL/oDqOor9Z2+E+A+ql3PiyDvsfWZ0=", + "lastModified": 1745357003, + "narHash": "sha256-jYwzQkv1r7HN/4qrAuKp+NR4YYNp2xDrOX5O9YVqkWo=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "4846091641f3be0ad7542086d52769bb7932bde6", + "rev": "a19cf76ee1a15c1c12083fa372747ce46387289f", "type": "github" }, "original": { @@ -55,62 +33,105 @@ "type": "github" } }, - "aquamarine_2": { + "base16": { "inputs": { - "hyprutils": [ - "hyprland-virtual-desktops", - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland-virtual-desktops", - "hyprland", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland-virtual-desktops", - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland-virtual-desktops", - "hyprland", - "systems" - ] + "fromYaml": "fromYaml" }, "locked": { - "lastModified": 1734906446, - "narHash": "sha256-6OWluVE2A8xi+8V3jN9KA72RCgJjYdyyuLBUjxZ2q2U=", - "owner": "hyprwm", - "repo": "aquamarine", - "rev": "eecb74dc79bb6752a2a507e6edee3042390a6091", + "lastModified": 1745523430, + "narHash": "sha256-EAYWV+kXbwsH+8G/8UtmcunDeKwLwSOyfcmzZUkWE/c=", + "owner": "SenchoPens", + "repo": "base16.nix", + "rev": "58bfe2553d937d8af0564f79d5b950afbef69717", "type": "github" }, "original": { - "owner": "hyprwm", - "repo": "aquamarine", + "owner": "SenchoPens", + "repo": "base16.nix", "type": "github" } }, - "astal": { - "inputs": { - "nixpkgs": [ - "hyprpanel", - "ags", - "nixpkgs" - ] - }, + "base16-fish": { + "flake": false, "locked": { - "lastModified": 1735172721, - "narHash": "sha256-rtEAwGsHSppnkR3Qg3eRJ6Xh/F84IY9CrBBLzYabalY=", - "owner": "aylur", - "repo": "astal", - "rev": "6c84b64efc736e039a8a10774a4a1bf772c37aa2", + "lastModified": 1622559957, + "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", + "owner": "tomyun", + "repo": "base16-fish", + "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", "type": "github" }, "original": { - "owner": "aylur", - "repo": "astal", + "owner": "tomyun", + "repo": "base16-fish", + "type": "github" + } + }, + "base16-helix": { + "flake": false, + "locked": { + "lastModified": 1736852337, + "narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=", + "owner": "tinted-theming", + "repo": "base16-helix", + "rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-helix", + "type": "github" + } + }, + "base16-vim": { + "flake": false, + "locked": { + "lastModified": 1732806396, + "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=", + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + } + }, + "better-control": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1747462495, + "narHash": "sha256-1tL0AwbfmjWri0kBGEdc/vtoeFivfZe/Q5O+QCMpu5M=", + "owner": "rishabh5321", + "repo": "better-control-flake", + "rev": "e3d54fad4ada7dab63e1862f21fc2419378e1cb0", + "type": "github" + }, + "original": { + "owner": "rishabh5321", + "repo": "better-control-flake", + "type": "github" + } + }, + "firefox-gnome-theme": { + "flake": false, + "locked": { + "lastModified": 1743774811, + "narHash": "sha256-oiHLDHXq7ymsMVYSg92dD1OLnKLQoU/Gf2F1GoONLCE=", + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "rev": "df53a7a31872faf5ca53dd0730038a62ec63ca9e", + "type": "github" + }, + "original": { + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", "type": "github" } }, @@ -133,11 +154,11 @@ "flake-compat_2": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", "type": "github" }, "original": { @@ -146,24 +167,84 @@ "type": "github" } }, - "flake-parts": { + "flake-utils": { "inputs": { - "nixpkgs-lib": [ - "walker", + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": [ + "stylix", + "systems" + ] + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "fromYaml": { + "flake": false, + "locked": { + "lastModified": 1731966426, + "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", + "owner": "SenchoPens", + "repo": "fromYaml", + "rev": "106af9e2f715e2d828df706c386a685698f3223b", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "fromYaml", + "type": "github" + } + }, + "git-hooks": { + "inputs": { + "flake-compat": [ + "stylix", + "flake-compat" + ], + "gitignore": "gitignore_2", + "nixpkgs": [ + "stylix", "nixpkgs" ] }, "locked": { - "lastModified": 1719994518, - "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", + "lastModified": 1742649964, + "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", "type": "github" }, "original": { - "owner": "hercules-ci", - "repo": "flake-parts", + "owner": "cachix", + "repo": "git-hooks.nix", "type": "github" } }, @@ -192,9 +273,8 @@ "gitignore_2": { "inputs": { "nixpkgs": [ - "hyprland-virtual-desktops", - "hyprland", - "pre-commit-hooks", + "stylix", + "git-hooks", "nixpkgs" ] }, @@ -212,6 +292,23 @@ "type": "github" } }, + "gnome-shell": { + "flake": false, + "locked": { + "lastModified": 1732369855, + "narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=", + "owner": "GNOME", + "repo": "gnome-shell", + "rev": "dadd58f630eeea41d645ee225a63f719390829dc", + "type": "github" + }, + "original": { + "owner": "GNOME", + "ref": "47.2", + "repo": "gnome-shell", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -219,11 +316,33 @@ ] }, "locked": { - "lastModified": 1736373539, - "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=", + "lastModified": 1747331121, + "narHash": "sha256-3MmiUN/jOHBHQUnjqzg6qKArc17j2OS6jisEppDY4g8=", "owner": "nix-community", "repo": "home-manager", - "rev": "bd65bc3cde04c16755955630b344bc9e35272c56", + "rev": "1eec32f0efe3b830927989767a9e6ece0d82d608", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-24.11", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1743808813, + "narHash": "sha256-2lDQBOmlz9ggPxcS7/GvcVdzXMIiT+PpMao6FbLJSr0=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "a9f8b3db211b4609ddd83683f9db89796c7f6ac6", "type": "github" }, "original": { @@ -249,43 +368,11 @@ ] }, "locked": { - "lastModified": 1734906540, - "narHash": "sha256-vQ/L9hZFezC0LquLo4TWXkyniWtYBlFHAKIsDc7PYJE=", + "lastModified": 1745948457, + "narHash": "sha256-lzTV10FJTCGNtMdgW5YAhCAqezeAzKOd/97HbQK8GTU=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "69270ba8f057d55b0e6c2dca0e165d652856e613", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprcursor", - "type": "github" - } - }, - "hyprcursor_2": { - "inputs": { - "hyprlang": [ - "hyprland-virtual-desktops", - "hyprland", - "hyprlang" - ], - "nixpkgs": [ - "hyprland-virtual-desktops", - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland-virtual-desktops", - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1734906540, - "narHash": "sha256-vQ/L9hZFezC0LquLo4TWXkyniWtYBlFHAKIsDc7PYJE=", - "owner": "hyprwm", - "repo": "hyprcursor", - "rev": "69270ba8f057d55b0e6c2dca0e165d652856e613", + "rev": "ac903e80b33ba6a88df83d02232483d99f327573", "type": "github" }, "original": { @@ -310,11 +397,11 @@ ] }, "locked": { - "lastModified": 1736115290, - "narHash": "sha256-Jcn6yAzfUMcxy3tN/iZRbi/QgrYm7XLyVRl9g/nbUl4=", + "lastModified": 1745015490, + "narHash": "sha256-apEJ9zoSzmslhJ2vOKFcXTMZLUFYzh1ghfB6Rbw3Low=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "52202272d89da32a9f866c0d10305a5e3d954c50", + "rev": "60754910946b4e2dc1377b967b7156cb989c5873", "type": "github" }, "original": { @@ -323,58 +410,6 @@ "type": "github" } }, - "hyprgraphics_2": { - "inputs": { - "hyprutils": [ - "hyprland-virtual-desktops", - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland-virtual-desktops", - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland-virtual-desktops", - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1734906236, - "narHash": "sha256-vH/ysV2ONGQgYZPtcJKwc8jJivzyVxru2aaOxC20ZOE=", - "owner": "hyprwm", - "repo": "hyprgraphics", - "rev": "6dea3fba08fd704dd624b6d4b261638fb4003c9c", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprgraphics", - "type": "github" - } - }, - "hyprgrass": { - "inputs": { - "hyprland": [ - "hyprland" - ] - }, - "locked": { - "lastModified": 1736771168, - "narHash": "sha256-8TaiwQorn5etYxUtyUYPJBkWuzfoULHSwGDEf+cOhh4=", - "owner": "horriblename", - "repo": "hyprgrass", - "rev": "d324904d70e8c9710bcf772227f364262baf3820", - "type": "github" - }, - "original": { - "owner": "horriblename", - "repo": "hyprgrass", - "type": "github" - } - }, "hyprland": { "inputs": { "aquamarine": "aquamarine", @@ -385,17 +420,17 @@ "hyprlang": "hyprlang", "hyprutils": "hyprutils", "hyprwayland-scanner": "hyprwayland-scanner", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "pre-commit-hooks": "pre-commit-hooks", - "systems": "systems", + "systems": "systems_2", "xdph": "xdph" }, "locked": { - "lastModified": 1737038559, - "narHash": "sha256-irqN8zKwpQ0NFxEvV/wQRdopClwkyZXCQoF7mgX/Uss=", + "lastModified": 1747503792, + "narHash": "sha256-Okd5cu0jxGa+x4xpfMX9S8QH/zddaFUQvw97V6H2W3E=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "0dc7367a7006cc3cc877d52bf34c4998144bff84", + "rev": "705b97c4ac93148820012c701fe39445cf76a590", "type": "github" }, "original": { @@ -416,11 +451,11 @@ ] }, "locked": { - "lastModified": 1735774328, - "narHash": "sha256-vIRwLS9w+N99EU1aJ+XNOU6mJTxrUBa31i1r82l0V7s=", + "lastModified": 1743714874, + "narHash": "sha256-yt8F7NhMFCFHUHy/lNjH/pjZyIDFNk52Q4tivQ31WFo=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "e3b6af97ddcfaafbda8e2828c719a5af84f662cb", + "rev": "3a5c2bda1c1a4e55cc1330c782547695a93f05b2", "type": "github" }, "original": { @@ -429,37 +464,49 @@ "type": "github" } }, - "hyprland-protocols_2": { + "hyprland-qt-support": { "inputs": { - "nixpkgs": [ - "hyprland-virtual-desktops", + "hyprlang": [ "hyprland", + "hyprland-qtutils", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "hyprland-qtutils", "nixpkgs" ], "systems": [ - "hyprland-virtual-desktops", "hyprland", + "hyprland-qtutils", "systems" ] }, "locked": { - "lastModified": 1728345020, - "narHash": "sha256-xGbkc7U/Roe0/Cv3iKlzijIaFBNguasI31ynL2IlEoM=", + "lastModified": 1737634706, + "narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=", "owner": "hyprwm", - "repo": "hyprland-protocols", - "rev": "a7c183800e74f337753de186522b9017a07a8cee", + "repo": "hyprland-qt-support", + "rev": "8810df502cdee755993cb803eba7b23f189db795", "type": "github" }, "original": { "owner": "hyprwm", - "repo": "hyprland-protocols", + "repo": "hyprland-qt-support", "type": "github" } }, "hyprland-qtutils": { "inputs": { + "hyprland-qt-support": "hyprland-qt-support", + "hyprlang": [ + "hyprland", + "hyprlang" + ], "hyprutils": [ "hyprland", + "hyprland-qtutils", + "hyprlang", "hyprutils" ], "nixpkgs": [ @@ -472,11 +519,11 @@ ] }, "locked": { - "lastModified": 1736114838, - "narHash": "sha256-FxbuGQExtN37ToWYnGmO6weOYN6WPHN/RAqbr7gNPek=", + "lastModified": 1745951494, + "narHash": "sha256-2dModE32doiyQMmd6EDAQeZnz+5LOs6KXyE0qX76WIg=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "6997fe382dcf396704227d2b98ffdd5066da6959", + "rev": "4be1d324faf8d6e82c2be9f8510d299984dfdd2e", "type": "github" }, "original": { @@ -485,87 +532,6 @@ "type": "github" } }, - "hyprland-qtutils_2": { - "inputs": { - "hyprutils": [ - "hyprland-virtual-desktops", - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland-virtual-desktops", - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland-virtual-desktops", - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1734906472, - "narHash": "sha256-pWPRv/GA/X/iAwoE6gMNUqn/ZeJX1IeLPRpZI0tTPK0=", - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "rev": "c77109d7e1ddbcdb87cafd32ce411f76328ae152", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "type": "github" - } - }, - "hyprland-virtual-desktops": { - "inputs": { - "hyprland": "hyprland_2", - "nixpkgs": "nixpkgs_3" - }, - "locked": { - "lastModified": 1734967974, - "narHash": "sha256-7wKaTYpeLoPnjgDoRxQwW1qb+DKJoIbIXVcTZzfHSik=", - "owner": "levnikmyskin", - "repo": "hyprland-virtual-desktops", - "rev": "e4469b8f0b0cea850876f42f0ae91c5994705c4d", - "type": "github" - }, - "original": { - "owner": "levnikmyskin", - "repo": "hyprland-virtual-desktops", - "type": "github" - } - }, - "hyprland_2": { - "inputs": { - "aquamarine": "aquamarine_2", - "hyprcursor": "hyprcursor_2", - "hyprgraphics": "hyprgraphics_2", - "hyprland-protocols": "hyprland-protocols_2", - "hyprland-qtutils": "hyprland-qtutils_2", - "hyprlang": "hyprlang_2", - "hyprutils": "hyprutils_2", - "hyprwayland-scanner": "hyprwayland-scanner_2", - "nixpkgs": "nixpkgs_2", - "pre-commit-hooks": "pre-commit-hooks_2", - "systems": "systems_2", - "xdph": "xdph_2" - }, - "locked": { - "lastModified": 1737136603, - "narHash": "sha256-fUY5Rr3ct03bynJdbMF6dorXkSZdUzZQ/YF3sRsrAxM=", - "owner": "hyprwm", - "repo": "Hyprland", - "rev": "b65f8a87232c13697f0469fb7dfa31ff4f14af22", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "ref": "main", - "repo": "Hyprland", - "type": "github" - } - }, "hyprlang": { "inputs": { "hyprutils": [ @@ -582,11 +548,11 @@ ] }, "locked": { - "lastModified": 1735393019, - "narHash": "sha256-NPpqA8rtmDLsEmZOmz+qR67zsB6Y503Jnv+nSFLKJZ8=", + "lastModified": 1746655412, + "narHash": "sha256-kVQ0bHVtX6baYxRWWIh4u3LNJZb9Zcm2xBeDPOGz5BY=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "55608efdaa387af7bfdc0eddb404c409958efa43", + "rev": "557241780c179cf7ef224df392f8e67dab6cef83", "type": "github" }, "original": { @@ -595,57 +561,6 @@ "type": "github" } }, - "hyprlang_2": { - "inputs": { - "hyprutils": [ - "hyprland-virtual-desktops", - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland-virtual-desktops", - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland-virtual-desktops", - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1734906259, - "narHash": "sha256-P79t/7HbACO4/PuJBroGpTptvCWJtXTv+gWsF+sM6MI=", - "owner": "hyprwm", - "repo": "hyprlang", - "rev": "0404833ea18d543df44df935ebf1b497310eb046", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprlang", - "type": "github" - } - }, - "hyprpanel": { - "inputs": { - "ags": "ags", - "nixpkgs": "nixpkgs_4" - }, - "locked": { - "lastModified": 1737011541, - "narHash": "sha256-YAT1VozLQ29V56EvEzJQswBOCLZDqn/gTU05mf+UFts=", - "owner": "Jas-SinghFSU", - "repo": "HyprPanel", - "rev": "88609f7e4c244326face34cb992a79053f2c7810", - "type": "github" - }, - "original": { - "owner": "Jas-SinghFSU", - "repo": "HyprPanel", - "type": "github" - } - }, "hyprutils": { "inputs": { "nixpkgs": [ @@ -658,38 +573,11 @@ ] }, "locked": { - "lastModified": 1736164519, - "narHash": "sha256-1LimBKvDpBbeX+qW7T240WEyw+DBVpDotZB4JYm8Aps=", + "lastModified": 1746635225, + "narHash": "sha256-W9G9bb0zRYDBRseHbVez0J8qVpD5QbizX67H/vsudhM=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "3c895da64b0eb19870142196fa48c07090b441c4", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprutils", - "type": "github" - } - }, - "hyprutils_2": { - "inputs": { - "nixpkgs": [ - "hyprland-virtual-desktops", - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland-virtual-desktops", - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1734796073, - "narHash": "sha256-TnuKsa8OHrSJEmHm3TLGOWbPNA1gRjmZLsRzKrCqOsg=", - "owner": "hyprwm", - "repo": "hyprutils", - "rev": "c3331116ebd0b71df5ae8c6efe9a7f94148b03bf", + "rev": "674ea57373f08b7609ce93baff131117a0dfe70d", "type": "github" }, "original": { @@ -710,38 +598,11 @@ ] }, "locked": { - "lastModified": 1735493474, - "narHash": "sha256-fktzv4NaqKm94VAkAoVqO/nqQlw+X0/tJJNAeCSfzK4=", + "lastModified": 1739870480, + "narHash": "sha256-SiDN5BGxa/1hAsqhgJsS03C3t2QrLgBT8u+ENJ0Qzwc=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "de913476b59ee88685fdc018e77b8f6637a2ae0b", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "type": "github" - } - }, - "hyprwayland-scanner_2": { - "inputs": { - "nixpkgs": [ - "hyprland-virtual-desktops", - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland-virtual-desktops", - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1734793513, - "narHash": "sha256-rrrHcXapXJvGFqX+L/Bb0182L25jofAZ0fm1FInvrTQ=", - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "rev": "4d7367b6eee87397e2dbca2e78078dd0a4ef4c61", + "rev": "206367a08dc5ac4ba7ad31bdca391d098082e64b", "type": "github" }, "original": { @@ -768,11 +629,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1736012469, - "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", + "lastModified": 1747327360, + "narHash": "sha256-LSmTbiq/nqZR9B2t4MRnWG7cb0KVNU70dB7RT4+wYK4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", + "rev": "e06158e58f3adee28b139e9c2bcfcc41f8625b46", "type": "github" }, "original": { @@ -782,29 +643,13 @@ "type": "github" } }, - "nixpkgs-stable": { - "locked": { - "lastModified": 1730741070, - "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.05", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-unstable": { "locked": { - "lastModified": 1724819573, - "narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=", + "lastModified": 1747327360, + "narHash": "sha256-LSmTbiq/nqZR9B2t4MRnWG7cb0KVNU70dB7RT4+wYK4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "71e91c409d1e654808b2621f28a327acfdad8dc2", + "rev": "e06158e58f3adee28b139e9c2bcfcc41f8625b46", "type": "github" }, "original": { @@ -816,11 +661,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1734649271, - "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", + "lastModified": 1747327360, + "narHash": "sha256-LSmTbiq/nqZR9B2t4MRnWG7cb0KVNU70dB7RT4+wYK4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", + "rev": "e06158e58f3adee28b139e9c2bcfcc41f8625b46", "type": "github" }, "original": { @@ -832,43 +677,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1734649271, - "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { - "locked": { - "lastModified": 1736344531, - "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", + "lastModified": 1747335874, + "narHash": "sha256-IKKIXTSYJMmUtE+Kav5Rob8SgLPnfnq4Qu8LyT4gdqQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_5": { - "locked": { - "lastModified": 1736549401, - "narHash": "sha256-ibkQrMHxF/7TqAYcQE+tOnIsSEzXmMegzyBWza6uHKM=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "1dab772dd4a68a7bba5d9460685547ff8e17d899", + "rev": "ba8b70ee098bc5654c459d6a95dfc498b91ff858", "type": "github" }, "original": { @@ -878,18 +691,18 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_4": { "locked": { - "lastModified": 1720957393, - "narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=", + "lastModified": 1743703532, + "narHash": "sha256-s1KLDALEeqy+ttrvqV3jx9mBZEvmthQErTVOAzbjHZs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "693bc46d169f5af9c992095736e82c3488bf7dbb", + "rev": "bdb91860de2f719b57eef819b5617762f7120c70", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } @@ -904,36 +717,11 @@ ] }, "locked": { - "lastModified": 1735882644, - "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", + "lastModified": 1747372754, + "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "pre-commit-hooks_2": { - "inputs": { - "flake-compat": "flake-compat_2", - "gitignore": "gitignore_2", - "nixpkgs": [ - "hyprland-virtual-desktops", - "hyprland", - "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable" - }, - "locked": { - "lastModified": 1734797603, - "narHash": "sha256-ulZN7ps8nBV31SE+dwkDvKIzvN6hroRY8sYOT0w+E28=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "f0f0dc4920a903c3e08f5bdb9246bb572fcae498", + "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", "type": "github" }, "original": { @@ -944,29 +732,60 @@ }, "root": { "inputs": { + "better-control": "better-control", "home-manager": "home-manager", - "hyprgrass": "hyprgrass", "hyprland": "hyprland", - "hyprland-virtual-desktops": "hyprland-virtual-desktops", - "hyprpanel": "hyprpanel", "nix-flatpak": "nix-flatpak", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_3", "nixpkgs-unstable": "nixpkgs-unstable", - "walker": "walker" + "stylix": "stylix" + } + }, + "stylix": { + "inputs": { + "base16": "base16", + "base16-fish": "base16-fish", + "base16-helix": "base16-helix", + "base16-vim": "base16-vim", + "firefox-gnome-theme": "firefox-gnome-theme", + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils_2", + "git-hooks": "git-hooks", + "gnome-shell": "gnome-shell", + "home-manager": "home-manager_2", + "nixpkgs": "nixpkgs_4", + "systems": "systems_3", + "tinted-foot": "tinted-foot", + "tinted-kitty": "tinted-kitty", + "tinted-tmux": "tinted-tmux" + }, + "locked": { + "lastModified": 1747543250, + "narHash": "sha256-NuT/y8zMRFG0I3KeMSLxCXCO/d9TEEB0ZTXcYdYENWw=", + "owner": "danth", + "repo": "stylix", + "rev": "5ff94fe0108bb361bddfbe1541713c93f369554a", + "type": "github" + }, + "original": { + "owner": "danth", + "ref": "release-24.11", + "repo": "stylix", + "type": "github" } }, "systems": { "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default-linux", + "repo": "default", "type": "github" } }, @@ -987,36 +806,66 @@ }, "systems_3": { "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default-linux", + "repo": "default", "type": "github" } }, - "walker": { - "inputs": { - "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_6", - "systems": "systems_3" - }, + "tinted-foot": { + "flake": false, "locked": { - "lastModified": 1737092107, - "narHash": "sha256-p1+wUOOLZoeyBanKVN5XNI2kLaBTVVfErs9AR1fg0Xc=", - "owner": "abenz1267", - "repo": "walker", - "rev": "712445d0738e713d23cdbf7dbad07c3e7ae4484e", + "lastModified": 1726913040, + "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", "type": "github" }, "original": { - "owner": "abenz1267", - "repo": "walker", + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + } + }, + "tinted-kitty": { + "flake": false, + "locked": { + "lastModified": 1716423189, + "narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=", + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "eb39e141db14baef052893285df9f266df041ff8", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "eb39e141db14baef052893285df9f266df041ff8", + "type": "github" + } + }, + "tinted-tmux": { + "flake": false, + "locked": { + "lastModified": 1743296873, + "narHash": "sha256-8IQulrb1OBSxMwdKijO9fB70ON//V32dpK9Uioy7FzY=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "af5152c8d7546dfb4ff6df94080bf5ff54f64e3a", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-tmux", "type": "github" } }, @@ -1048,58 +897,11 @@ ] }, "locked": { - "lastModified": 1734907020, - "narHash": "sha256-p6HxwpRKVl1KIiY5xrJdjcEeK3pbmc///UOyV6QER+w=", + "lastModified": 1745871725, + "narHash": "sha256-M24SNc2flblWGXFkGQfqSlEOzAGZnMc9QG3GH4K/KbE=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "d7f18dda5e511749fa1511185db3536208fb1a63", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "type": "github" - } - }, - "xdph_2": { - "inputs": { - "hyprland-protocols": [ - "hyprland-virtual-desktops", - "hyprland", - "hyprland-protocols" - ], - "hyprlang": [ - "hyprland-virtual-desktops", - "hyprland", - "hyprlang" - ], - "hyprutils": [ - "hyprland-virtual-desktops", - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland-virtual-desktops", - "hyprland", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland-virtual-desktops", - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland-virtual-desktops", - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1734907020, - "narHash": "sha256-p6HxwpRKVl1KIiY5xrJdjcEeK3pbmc///UOyV6QER+w=", - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "rev": "d7f18dda5e511749fa1511185db3536208fb1a63", + "rev": "76bbf1a6b1378e4ab5230bad00ad04bc287c969e", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 95bce6e..b03c777 100644 --- a/flake.nix +++ b/flake.nix @@ -11,39 +11,31 @@ nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1"; # hyprland, plugins and related utils hyprland.url = "github:hyprwm/Hyprland"; - hyprgrass = { - url = "github:horriblename/hyprgrass"; - inputs.hyprland.follows = "hyprland"; # IMPORTANT - }; - hyprland-virtual-desktops.url = "github:levnikmyskin/hyprland-virtual-desktops"; - walker.url = "github:abenz1267/walker"; - hyprpanel.url = "github:Jas-SinghFSU/HyprPanel"; + stylix.url = "github:danth/stylix/release-24.11"; + # quicksettings widget + better-control.url = "github:rishabh5321/better-control-flake"; }; outputs = { self, nixpkgs, home-manager, - hyprgrass, - hyprland-virtual-desktops, - hyprpanel, + stylix, ... - } @ inputs: + } @ inputs: let - overlays = [ - inputs.hyprpanel.overlay - ]; in { ## NixOS configurations are the main output of this flake # HP Spectre x360 2018 - nixosConfigurations.spectre = nixpkgs.lib.nixosSystem { + nixosConfigurations.Nixtre = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ ./hosts/spectre-x360-2018 + stylix.nixosModules.stylix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; @@ -53,11 +45,7 @@ home-manager.users.remy.imports = [ ./users/remy.nix inputs.nix-flatpak.homeManagerModules.nix-flatpak - inputs.walker.homeManagerModules.default ]; - - nixpkgs.overlays = [ inputs.hyprpanel.overlay ]; - # _module.args = { inherit inputs; }; } ]; }; diff --git a/hosts/spectre-x360-2018/default.nix b/hosts/spectre-x360-2018/default.nix index ded8da5..fde9f0f 100644 --- a/hosts/spectre-x360-2018/default.nix +++ b/hosts/spectre-x360-2018/default.nix @@ -4,12 +4,19 @@ imports = [ ./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/monitoring.nix ../../modules/nixos/networking.nix + ../../modules/nixos/nh.nix ../../modules/nixos/nvidia.nix ../../modules/nixos/pipewire.nix ../../modules/nixos/podman.nix + ../../modules/nixos/power.nix + ../../modules/nixos/stylix.nix ../../utils/binary-cache.nix ../../utils/garbage-collection.nix ]; diff --git a/modules/home-manager/backup.nix b/modules/home-manager/backup.nix index dfebe68..c843f07 100644 --- a/modules/home-manager/backup.nix +++ b/modules/home-manager/backup.nix @@ -1,4 +1,4 @@ -{pkgs, ...}: +{pkgs, ...}: { # Add a udev rule that launches a backup using restic when a specific USB device (the backup drive) is plugged in @@ -22,4 +22,4 @@ ExecStart = "${pkgs.restic}/bin/restic backup /home/username"; }; }; -} \ No newline at end of file +} diff --git a/modules/home-manager/code.nix b/modules/home-manager/code.nix index 93194ff..b03339e 100644 --- a/modules/home-manager/code.nix +++ b/modules/home-manager/code.nix @@ -1,8 +1,10 @@ -{pkgs, ...}: +{pkgs, ...}: { programs.vscode = { enable = true; + # profiles = { + # default = { extensions = with pkgs.vscode-extensions; [ # QOL mhutchie.git-graph @@ -14,9 +16,117 @@ ms-python.isort ms-python.debugpy ms-python.vscode-pylance + ms-toolsai.jupyter + ms-toolsai.vscode-jupyter-slideshow + ms-toolsai.jupyter-renderers # Nix language 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" + ]; + }; }; + } diff --git a/modules/home-manager/dev.nix b/modules/home-manager/dev.nix new file mode 100644 index 0000000..1ef4961 --- /dev/null +++ b/modules/home-manager/dev.nix @@ -0,0 +1,8 @@ +{pkgs, ...}: +{ + programs.direnv = { + enable = true; + # enableFishIntegration = true; # see note on other shells below + nix-direnv.enable = true; + }; +} diff --git a/modules/home-manager/documents.nix b/modules/home-manager/documents.nix new file mode 100644 index 0000000..93cad4b --- /dev/null +++ b/modules/home-manager/documents.nix @@ -0,0 +1,7 @@ +{pkgs, ...}: +{ + home.packages = [ + # pdf viewer + pkgs.evince + ]; +} diff --git a/modules/home-manager/fish.nix b/modules/home-manager/fish.nix index 024591e..d5dbb08 100644 --- a/modules/home-manager/fish.nix +++ b/modules/home-manager/fish.nix @@ -1,9 +1,17 @@ -{pkgs, ...}: +{pkgs, ...}: { + # Required by the fzf fish plugin programs.fzf = { enable = true; }; + home.packages = with pkgs; [ + fd + bat + ]; + + + programs.fish = { enable = true; @@ -22,9 +30,6 @@ ]; }; - home.packages = [ - pkgs.fishPlugins.tide - ]; # sets the "default" shell to fish # actually keeps bash as a posix-compliant default but starts fish if the shell is not bash diff --git a/modules/home-manager/flatpaks.nix b/modules/home-manager/flatpaks.nix index 60d8313..ad2ca0f 100644 --- a/modules/home-manager/flatpaks.nix +++ b/modules/home-manager/flatpaks.nix @@ -1,24 +1,19 @@ -{ lib, pkgs, ... }: { +{ + lib, pkgs, ... +}: +{ + # requires that flatpaks be enabled in the system configuration as well + services.flatpak.enable = true; + services.flatpak.update.auto.enable = false; + services.flatpak.uninstallUnmanaged = false; - # services.flatpak.enable = true; - # xdg.portal.enable = true; - # # install the xdg-desktop-portal-gtk package - # # to enable the portal service - # xdg.portal.extraPortals = with pkgs; [ - # xdg-desktop-portal-gtk - # ]; - # 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" - # ]; - -} \ No newline at end of file + 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" + ]; +} diff --git a/modules/home-manager/gnome-shell-customization.nix b/modules/home-manager/gnome-shell-customization.nix deleted file mode 100644 index f033377..0000000 --- a/modules/home-manager/gnome-shell-customization.nix +++ /dev/null @@ -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":"['Right']","toggle-tiled-left":"['Left']"},"org.gnome.desktop.wm.keybindings":{"maximize":"['Up']","unmaximize":"['Down', '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 = [ "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; - }; - -} \ No newline at end of file diff --git a/modules/home-manager/hypr/better-control.nix b/modules/home-manager/hypr/better-control.nix new file mode 100644 index 0000000..3e4d5ae --- /dev/null +++ b/modules/home-manager/hypr/better-control.nix @@ -0,0 +1,11 @@ +{ + inputs, + pkgs, + ... +}: +{ + environment.systemPackages = + with pkgs; [ + inputs.better-control.packages.${pkgs.system}.better-control + ]; +} diff --git a/modules/home-manager/hypr/cursor.nix b/modules/home-manager/hypr/cursor.nix new file mode 100644 index 0000000..05ab959 --- /dev/null +++ b/modules/home-manager/hypr/cursor.nix @@ -0,0 +1,7 @@ +{inputs, pkgs, ...}: +{ + # Put a cursor theme to the location expected by the hyprland window manager + # TODO + + +} diff --git a/modules/home-manager/hypr/default.nix b/modules/home-manager/hypr/default.nix new file mode 100644 index 0000000..970f01a --- /dev/null +++ b/modules/home-manager/hypr/default.nix @@ -0,0 +1,11 @@ +{ + imports = [ + # ./better-control.nix + ./cursor.nix + ./hyprland-customization.nix + ./hyprpaper.nix + ./hyprlock.nix + ./hypridle.nix + ./waybar.nix + ]; +} diff --git a/modules/home-manager/hypr/hypridle.nix b/modules/home-manager/hypr/hypridle.nix new file mode 100644 index 0000000..921c06b --- /dev/null +++ b/modules/home-manager/hypr/hypridle.nix @@ -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"; + } + ]; + }; + + }; +} diff --git a/modules/home-manager/hypr/hyprland-customization.nix b/modules/home-manager/hypr/hyprland-customization.nix new file mode 100644 index 0000000..f3ed343 --- /dev/null +++ b/modules/home-manager/hypr/hyprland-customization.nix @@ -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; +} diff --git a/modules/home-manager/hypr/hyprlock.nix b/modules/home-manager/hypr/hyprlock.nix new file mode 100644 index 0000000..0c955d8 --- /dev/null +++ b/modules/home-manager/hypr/hyprlock.nix @@ -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 "$(date +"%H:%M")"''; + font_size = 160; + font_weight = "bold"; + # font_family = "steelfish outline regular"; + position = "0, 370"; + halign = "center"; + valign = "center"; + } + ]; + }; + }; +} diff --git a/modules/home-manager/hypr/hyprpaper.nix b/modules/home-manager/hypr/hyprpaper.nix new file mode 100644 index 0000000..2d9b032 --- /dev/null +++ b/modules/home-manager/hypr/hyprpaper.nix @@ -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"];}; + # }; + # }; +} diff --git a/modules/home-manager/hypr/waybar.nix b/modules/home-manager/hypr/waybar.nix new file mode 100644 index 0000000..2146f7d --- /dev/null +++ b/modules/home-manager/hypr/waybar.nix @@ -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 = "{calendar}"; + calendar = { + "format" = { + "today" = "{}"; + }; + }; + }; + "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 = ""; + none = ""; + dnd-notification = ""; + dnd-none = ""; + inhibited-notification = ""; + inhibited-none = ""; + dnd-inhibited-notification = ""; + 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{bandwidthUpBits}\t{bandwidthDownBits}\t󰹹{bandwidthTotalBits}"; + 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); + } + ''; + }; +} diff --git a/modules/home-manager/hyprland-customization.nix b/modules/home-manager/hyprland-customization.nix deleted file mode 100644 index 6c051bd..0000000 --- a/modules/home-manager/hyprland-customization.nix +++ /dev/null @@ -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; - }; - -} diff --git a/modules/home-manager/keepassxc.nix b/modules/home-manager/keepassxc.nix index 5a0edcf..58ecc70 100644 --- a/modules/home-manager/keepassxc.nix +++ b/modules/home-manager/keepassxc.nix @@ -3,5 +3,4 @@ home.packages = [ pkgs.keepassxc ]; - } diff --git a/modules/home-manager/kitty.nix b/modules/home-manager/kitty.nix new file mode 100644 index 0000000..17b010a --- /dev/null +++ b/modules/home-manager/kitty.nix @@ -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"; + }; + }; +} diff --git a/modules/home-manager/kubectl.nix b/modules/home-manager/kubectl.nix new file mode 100644 index 0000000..aa02f78 --- /dev/null +++ b/modules/home-manager/kubectl.nix @@ -0,0 +1,8 @@ +{pkgs, ...}: +{ + home.packages = [ + pkgs.kubie + pkgs.kubectl + ]; + +} diff --git a/modules/home-manager/stylix.nix b/modules/home-manager/stylix.nix new file mode 100644 index 0000000..4a27a3c --- /dev/null +++ b/modules/home-manager/stylix.nix @@ -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; + + }; +} diff --git a/modules/home-manager/wofi.nix b/modules/home-manager/wofi.nix new file mode 100644 index 0000000..13b1290 --- /dev/null +++ b/modules/home-manager/wofi.nix @@ -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; + } + ''; + }; +} diff --git a/modules/home-manager/xdg-portals.nix b/modules/home-manager/xdg-portals.nix index 4c1b255..446788c 100644 --- a/modules/home-manager/xdg-portals.nix +++ b/modules/home-manager/xdg-portals.nix @@ -1,11 +1,22 @@ -{inputs, pkgs, ...}: +{inputs, pkgs, ...}: { xdg.enable = true; xdg.portal = { enable = true; + xdgOpenUsePortal = true; + + # configPackages = [ pkgs.hyprland ]; + config = { + common.default = ["gtk"]; + hyprland.default = ["gtk" "hyprland"]; + }; + extraPortals = [ - pkgs.xdg-desktop-portal-gtk + pkgs.xdg-desktop-portal-gtk + pkgs.xdg-desktop-portal-wlr + pkgs.xdg-desktop-portal-hyprland ]; }; + } diff --git a/modules/nixos/bluetooth.nix b/modules/nixos/bluetooth.nix new file mode 100644 index 0000000..9ee4728 --- /dev/null +++ b/modules/nixos/bluetooth.nix @@ -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"; + }; + }; + }; +} diff --git a/modules/nixos/flakes.nix b/modules/nixos/flakes.nix new file mode 100644 index 0000000..2b6f25a --- /dev/null +++ b/modules/nixos/flakes.nix @@ -0,0 +1,3 @@ +{ + nix.settings.experimental-features = [ "nix-command" "flakes" ]; +} \ No newline at end of file diff --git a/modules/nixos/flatpak.nix b/modules/nixos/flatpak.nix new file mode 100644 index 0000000..59ba40f --- /dev/null +++ b/modules/nixos/flatpak.nix @@ -0,0 +1,9 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + services.flatpak.enable = true; +} diff --git a/modules/nixos/fonts.nix b/modules/nixos/fonts.nix new file mode 100644 index 0000000..890fe39 --- /dev/null +++ b/modules/nixos/fonts.nix @@ -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; +} diff --git a/modules/nixos/hyprland.nix b/modules/nixos/hyprland.nix index 5768876..d2a0969 100644 --- a/modules/nixos/hyprland.nix +++ b/modules/nixos/hyprland.nix @@ -20,5 +20,8 @@ enable = true; wayland = true; }; + security.pam.services.hyprlock = {}; + + security.pam.services.gdm.enableGnomeKeyring = true; } diff --git a/modules/nixos/nh.nix b/modules/nixos/nh.nix new file mode 100644 index 0000000..6236078 --- /dev/null +++ b/modules/nixos/nh.nix @@ -0,0 +1,10 @@ +{ + config, + pkgs, + ... +}: +{ + programs.nh = { + enable = true; + }; +} diff --git a/modules/nixos/nvidia.nix b/modules/nixos/nvidia.nix index 0302f11..d6acde7 100644 --- a/modules/nixos/nvidia.nix +++ b/modules/nixos/nvidia.nix @@ -1,8 +1,8 @@ { - config, - lib, - pkgs, - ... + config, + lib, + pkgs, + ... }: { @@ -13,34 +13,34 @@ configuration = { system.nixos.tags = [ "nvidia-enabled" ]; # Enable OpenGL - hardware.graphics = { - enable = true; - }; - hardware.nvidia = { - # prime = { - # nvidiaBusId = "PCI:1:0:0"; - # intelBusId = "PCI:0:2:0"; - # }; + hardware.graphics.enable = lib.mkForce true; + hardware.nvidia = lib.mkForce { modesetting.enable = true; powerManagement.enable = true; + # features not available for the old graphics card powerManagement.finegrained = false; open = false; nvidiaSettings = false; + prime = { + sync.enable = true; + nvidiaBusId = "PCI:1:0:0"; + intelBusId = "PCI:0:2:0"; + }; + package = config.boot.kernelPackages.nvidiaPackages.mkDriver { - version = "565.77"; - sha256_64bit = "sha256-CnqnQsRrzzTXZpgkAtF7PbH9s7wbiTRNcM0SPByzFHw="; - sha256_aarch64 = "sha256-LSAYUnhfnK3rcuPe1dixOwAujSof19kNOfdRHE7bToE="; - openSha256 = "sha256-Fxo0t61KQDs71YA8u7arY+503wkAc1foaa51vi2Pl5I="; - settingsSha256 = "sha256-VUetj3LlOSz/LB+DDfMCN34uA4bNTTpjDrb6C6Iwukk="; - persistencedSha256 = "sha256-wnDjC099D8d9NJSp9D0CbsL+vfHXyJFYYgU3CwcqKww="; + version = "575.51.02"; + sha256_64bit = "sha256-XZ0N8ISmoAC8p28DrGHk/YN1rJsInJ2dZNL8O+Tuaa0="; + openSha256 = "sha256-NQg+QDm9Gt+5bapbUO96UFsPnz1hG1dtEwT/g/vKHkw="; + settingsSha256 = "sha256-6n9mVkEL39wJj5FB1HBml7TTJhNAhS/j5hqpNGFQE4w="; + usePersistenced = false; }; }; # overwrite the blacklists set previously - boot.extraModprobeConfig = ""; - boot.blacklistedKernelModules = []; - services.udev.extraRules = ""; - services.xserver.videoDrivers = ["nvidia"]; + boot.extraModprobeConfig = lib.mkForce ""; + boot.blacklistedKernelModules = lib.mkForce []; + services.udev.extraRules = lib.mkForce ""; + services.xserver.videoDrivers = lib.mkForce ["nvidia"]; }; }; }; @@ -51,7 +51,7 @@ blacklist nouveau options nouveau modeset=0 ''; - + services.udev.extraRules = '' # Remove NVIDIA USB xHCI Host Controller devices, if present ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{power/control}="auto", ATTR{remove}="1" @@ -63,34 +63,8 @@ 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 # 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" ]; } - - -# Warning: used to have -# lib.mkdDefault diff --git a/modules/nixos/power.nix b/modules/nixos/power.nix new file mode 100644 index 0000000..5e5a357 --- /dev/null +++ b/modules/nixos/power.nix @@ -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 + ''; +} diff --git a/modules/nixos/stylix.nix b/modules/nixos/stylix.nix new file mode 100644 index 0000000..426a694 --- /dev/null +++ b/modules/nixos/stylix.nix @@ -0,0 +1,11 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + stylix.enable = true; + stylix.image = ./../../wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg; + +} diff --git a/users/remy.nix b/users/remy.nix index 507af02..f0d6b6e 100644 --- a/users/remy.nix +++ b/users/remy.nix @@ -4,13 +4,19 @@ with lib.hm.gvariant; imports = [ ../modules/home-manager/browser.nix ../modules/home-manager/code.nix + ../modules/home-manager/dev.nix + ../modules/home-manager/documents.nix ../modules/home-manager/fish.nix ../modules/home-manager/flatpaks.nix - ../modules/home-manager/hyprland-customization.nix + ../modules/home-manager/hypr ../modules/home-manager/keepassxc.nix + ../modules/home-manager/kitty.nix + ../modules/home-manager/kubectl.nix ../modules/home-manager/obsidian.nix ../modules/home-manager/owncloud-client.nix + ../modules/home-manager/stylix.nix ../modules/home-manager/thunderbird.nix + ../modules/home-manager/wofi.nix ../modules/home-manager/xdg-portals.nix ]; @@ -23,38 +29,45 @@ with lib.hm.gvariant; home.username = "remy"; home.homeDirectory = "/home/remy"; - #home.file. = ; - ## Utils relevant to this user only programs.git = { enable = true; userName = "Remy Moll"; userEmail = "me@moll.re"; }; - - # ## Gnome keyboard and mouse settings - # dconf.settings = { - # # set the keyboard layout to german - # "org/gnome/desktop/input-sources" = { - # current = mkUint32 0; - # sources = [ (mkTuple [ "xkb" "de" ]) (mkTuple [ "xkb" "ch" ]) (mkTuple [ "xkb" "us" ]) ]; - # xkb-options = [ "lv3:ralt_switch" ]; - # }; + ## XDG configuration + xdg = { + userDirs = { + enable = true; + desktop = "Desktop"; + pictures = "Pictures"; + documents = "Documents"; + publicShare = null; + music = null; + templates = null; + }; - # "org/gnome/desktop/peripherals/keyboard" = { - # numlock-state = true; - # }; - - # "org/gnome/desktop/peripherals/mouse" = { - # natural-scroll = false; - # speed = 0.20851063829787231; - # }; - - # "org/gnome/desktop/peripherals/touchpad" = { - # tap-to-click = true; - # two-finger-scrolling-enabled = true; - # speed = 0.16872427983539096; - # }; - # }; + mimeApps = { + enable = true; + defaultApplications = { + "inode/directory" = "org.gnome.Nautilus.desktop"; + "application/zip" = "org.gnome.FileRoller.desktop"; + "application/octet-stream" = "org.gnome.GHex.desktop"; + # pdfs + "application/pdf" = "org.gnome.Evince.desktop"; + # links + "x-scheme-handler/https" = "firefox.desktop"; # Links + "x-scheme-handler/http" = "firefox.desktop"; # Links + # images + # "image/png" = "org.gnome.Evince.desktop"; + # "image/jpeg" = "org.gnome.Evince.desktop"; + # "image/gif" = "org.gnome.Evince.desktop"; + # "image/svg+xml" = "org.gnome.Evince.desktop"; + # "image/tiff" = "org.gnome.Evince.desktop"; + # text-based + "text/*" = "vscode.desktop"; + }; + }; + }; } diff --git a/wallpapers/codioful-formerly-gradienta-lweK7Wme_jo-unsplash.jpg b/wallpapers/codioful-formerly-gradienta-lweK7Wme_jo-unsplash.jpg new file mode 100644 index 0000000..0ea133b Binary files /dev/null and b/wallpapers/codioful-formerly-gradienta-lweK7Wme_jo-unsplash.jpg differ diff --git a/wallpapers/codioful-formerly-gradienta-n2XqPm7Bqhk-unsplash.jpg b/wallpapers/codioful-formerly-gradienta-n2XqPm7Bqhk-unsplash.jpg new file mode 100644 index 0000000..c9b6a8c Binary files /dev/null and b/wallpapers/codioful-formerly-gradienta-n2XqPm7Bqhk-unsplash.jpg differ diff --git a/wallpapers/luke-chesser-eICUFSeirc0-unsplash.jpg b/wallpapers/luke-chesser-eICUFSeirc0-unsplash.jpg new file mode 100644 index 0000000..048bafe Binary files /dev/null and b/wallpapers/luke-chesser-eICUFSeirc0-unsplash.jpg differ diff --git a/wallpapers/luke-chesser-pJadQetzTkI-unsplash.jpg b/wallpapers/luke-chesser-pJadQetzTkI-unsplash.jpg new file mode 100644 index 0000000..5e5a224 Binary files /dev/null and b/wallpapers/luke-chesser-pJadQetzTkI-unsplash.jpg differ diff --git a/wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg b/wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg new file mode 100644 index 0000000..035dd9b Binary files /dev/null and b/wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg differ