Compare commits
No commits in common. "feature/desktop-customization" and "main" have entirely different histories.
feature/de
...
main
23
README.md
23
README.md
@ -22,7 +22,7 @@ Don't forget to add the `#<host>` to the end of the target to specify the host c
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
### Deploying to a machine
|
### Deploying to a machine
|
||||||
Run
|
Run
|
||||||
```bash
|
```bash
|
||||||
nixos-rebuild switch --flake <target>#<machine>
|
nixos-rebuild switch --flake <target>#<machine>
|
||||||
# for instance
|
# for instance
|
||||||
@ -30,7 +30,6 @@ nixos-rebuild switch --flake .#spectre
|
|||||||
```
|
```
|
||||||
to apply the configuration.
|
to apply the configuration.
|
||||||
|
|
||||||
|
|
||||||
### Installer iso
|
### Installer iso
|
||||||
To build an installer iso, run
|
To build an installer iso, run
|
||||||
```bash
|
```bash
|
||||||
@ -39,29 +38,11 @@ nix build .#nixosConfigurations.bcachefs-iso.config.system.build.isoImage
|
|||||||
This will create an iso image in the result directory.
|
This will create an iso image in the result directory.
|
||||||
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
TODO - disable root user
|
|
||||||
```
|
|
||||||
I install with --no-root-passwd and set users.mutableUsers = false in configuration.nix
|
|
||||||
```
|
|
||||||
|
|
||||||
## TODO
|
|
||||||
- Have a wofi power menu with https://github.com/RiteshChepuri/wofi-scripts/blob/main/wofi-power-menu
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Inspirations
|
## Inspirations
|
||||||
- https://github.com/the-nix-way/dev-templates
|
- https://github.com/the-nix-way/dev-templates
|
||||||
- https://fasterthanli.me/series/building-a-rust-service-with-nix/part-10
|
- https://fasterthanli.me/series/building-a-rust-service-with-nix/part-10
|
||||||
- https://ianthehenry.com/posts/how-to-learn-nix/profiles
|
- https://ianthehenry.com/posts/how-to-learn-nix/profiles/
|
||||||
- https://github.com/JohnRTitor/nix-conf
|
- https://github.com/JohnRTitor/nix-conf
|
||||||
- https://github.com/mwaldleben/nix-config
|
- https://github.com/mwaldleben/nix-config
|
||||||
- https://github.com/anotherhadi/nixy
|
- https://github.com/anotherhadi/nixy
|
||||||
- https://github.com/Numb-0/nix-0
|
|
||||||
- https://github.com/Frost-Phoenix/nixos-config
|
|
||||||
- https://github.com/elifouts/Dotfiles
|
|
||||||
- https://github.com/nomadics9/nixcfg
|
|
||||||
- https://github.com/Daholli/nixos-config
|
|
||||||
- https://github.com/khaneliman/khanelinix
|
|
||||||
- https://github.com/NotAShelf/nyx
|
|
||||||
|
471
dconf.conf
Normal file
471
dconf.conf
Normal file
@ -0,0 +1,471 @@
|
|||||||
|
[io/github/celluloid-player/celluloid]
|
||||||
|
settings-migrated=true
|
||||||
|
|
||||||
|
[io/github/celluloid-player/celluloid/window-state]
|
||||||
|
height=425
|
||||||
|
loop-playlist=false
|
||||||
|
maximized=true
|
||||||
|
playlist-width=250
|
||||||
|
show-controls=true
|
||||||
|
show-playlist=false
|
||||||
|
volume=0.80000000000000004
|
||||||
|
width=296
|
||||||
|
|
||||||
|
[org/gnome/Console]
|
||||||
|
audible-bell=false
|
||||||
|
font-scale=1.0
|
||||||
|
last-window-maximised=true
|
||||||
|
last-window-size=(1131, 1048)
|
||||||
|
theme='night'
|
||||||
|
|
||||||
|
[org/gnome/Extensions]
|
||||||
|
window-maximized=true
|
||||||
|
|
||||||
|
[org/gnome/Loupe]
|
||||||
|
show-properties=true
|
||||||
|
|
||||||
|
[org/gnome/Weather]
|
||||||
|
locations=[<(uint32 2, <('Zürich', 'LSZH', true, [(0.82874050067087668, 0.14893475701908529)], [(0.82670429484574492, 0.14922565104551519)])>)>]
|
||||||
|
window-height=495
|
||||||
|
window-maximized=false
|
||||||
|
window-width=992
|
||||||
|
|
||||||
|
[org/gnome/World/Secrets]
|
||||||
|
last-opened-database='davs://nextcloud.kluster.moll.re/remote.php/dav/files/admin/Various/KeePass/keepass.kdbx'
|
||||||
|
last-opened-list=['davs://nextcloud.kluster.moll.re/remote.php/dav/files/admin/Various/KeePass/keepass.kdbx']
|
||||||
|
window-size=[960, 1048]
|
||||||
|
|
||||||
|
[org/gnome/calculator]
|
||||||
|
accuracy=9
|
||||||
|
angle-units='degrees'
|
||||||
|
base=10
|
||||||
|
button-mode='basic'
|
||||||
|
number-format='automatic'
|
||||||
|
refresh-interval=0
|
||||||
|
show-thousands=false
|
||||||
|
show-zeroes=false
|
||||||
|
source-currency=''
|
||||||
|
source-units='degree'
|
||||||
|
target-currency=''
|
||||||
|
target-units='radian'
|
||||||
|
window-maximized=false
|
||||||
|
window-size=(360, 740)
|
||||||
|
word-size=64
|
||||||
|
|
||||||
|
[org/gnome/calendar]
|
||||||
|
active-view='month'
|
||||||
|
window-maximized=true
|
||||||
|
window-size=(768, 600)
|
||||||
|
|
||||||
|
[org/gnome/clocks/state/window]
|
||||||
|
maximized=false
|
||||||
|
panel-id='world'
|
||||||
|
size=(870, 690)
|
||||||
|
|
||||||
|
[org/gnome/control-center]
|
||||||
|
last-panel='display'
|
||||||
|
window-state=(1718, 851, false)
|
||||||
|
|
||||||
|
[org/gnome/desktop/app-folders]
|
||||||
|
folder-children=['Utilities', 'YaST', '1aa8a471-a3d4-448f-979d-708f041bd93e', '9a796cbb-fc11-4e0c-92ea-bbf29cc78df0', 'a683fc46-9a24-41c2-91e9-7637c554fdc4', 'aee3ca9c-d66d-42f4-9b76-4dda08403814', '599d49f8-20cb-482c-a619-451cf4f561a3', '212ada4d-a2fa-4063-b6b1-24b711d4e9ab', '862c0f6e-86e2-40fe-a06f-5d638a5bc5e7', '90c1ffb4-572f-4a17-8793-a248f0ee26e4', 'f5961050-635b-4ad1-91e1-3a67538a236b', '5ea1c1fc-c589-42d3-bbaa-05428cb9e434', '496a9ca3-5d6b-4231-9434-cf1da320fe55']
|
||||||
|
|
||||||
|
[org/gnome/desktop/app-folders/folders/1aa8a471-a3d4-448f-979d-708f041bd93e]
|
||||||
|
apps=['bvnc.desktop', 'avahi-discover.desktop', 'bssh.desktop', 'thorium-shell.desktop', 'org.gnome.PowerStats.desktop', 'stoken-gui-small.desktop', 'stoken-gui.desktop', 'qvidcap.desktop', 'qv4l2.desktop', 'electron25.desktop', 'btop.desktop', 'lstopo.desktop', 'mpv.desktop', 'gtk-lshw.desktop']
|
||||||
|
name='Useless'
|
||||||
|
translate=false
|
||||||
|
|
||||||
|
[org/gnome/desktop/app-folders/folders/212ada4d-a2fa-4063-b6b1-24b711d4e9ab]
|
||||||
|
apps=['jhelioviewer.desktop']
|
||||||
|
name='Unnamed Folder'
|
||||||
|
|
||||||
|
[org/gnome/desktop/app-folders/folders/496a9ca3-5d6b-4231-9434-cf1da320fe55]
|
||||||
|
apps=['com.github.flxzt.rnote.desktop', 'dev.linwood.butterfly.desktop', 'com.github.scrivanolabs.scrivano.desktop']
|
||||||
|
name='Unnamed Folder'
|
||||||
|
|
||||||
|
[org/gnome/desktop/app-folders/folders/599d49f8-20cb-482c-a619-451cf4f561a3]
|
||||||
|
apps=['electron28.desktop', 'electron30.desktop', 'electron29.desktop', 'cmake-gui.desktop', 'electron31.desktop', 'jshell-java17-openjdk.desktop', 'jconsole-java17-openjdk.desktop']
|
||||||
|
name='Programming'
|
||||||
|
|
||||||
|
[org/gnome/desktop/app-folders/folders/5ea1c1fc-c589-42d3-bbaa-05428cb9e434]
|
||||||
|
apps=['com.calibre_ebook.calibre.ebook-viewer.desktop', 'com.calibre_ebook.calibre.lrfviewer.desktop', 'com.calibre_ebook.calibre.ebook-edit.desktop', 'com.calibre_ebook.calibre.desktop']
|
||||||
|
name='Calibre'
|
||||||
|
translate=false
|
||||||
|
|
||||||
|
[org/gnome/desktop/app-folders/folders/862c0f6e-86e2-40fe-a06f-5d638a5bc5e7]
|
||||||
|
apps=['net.danigm.timetrack.desktop']
|
||||||
|
name='Unnamed Folder'
|
||||||
|
|
||||||
|
[org/gnome/desktop/app-folders/folders/90c1ffb4-572f-4a17-8793-a248f0ee26e4]
|
||||||
|
apps=['com.mattjakeman.ExtensionManager.desktop', 'org.gnome.Extensions.desktop']
|
||||||
|
name='Accessories'
|
||||||
|
|
||||||
|
[org/gnome/desktop/app-folders/folders/9a796cbb-fc11-4e0c-92ea-bbf29cc78df0]
|
||||||
|
apps=['Deep Rock Galactic.desktop', 'The Sims 4.desktop', 'steam.desktop', 'org.ryujinx.Ryujinx.desktop', 'net.veloren.airshipper.desktop', 'org.DolphinEmu.dolphin-emu.desktop', 'discord.desktop', 'simutrans.desktop', 'Darksiders Warmastered Edition.desktop', 'gearlever_curseforge_cd3cee.desktop']
|
||||||
|
name='Games'
|
||||||
|
|
||||||
|
[org/gnome/desktop/app-folders/folders/Utilities]
|
||||||
|
apps=['gnome-abrt.desktop', 'gnome-system-log.desktop', 'nm-connection-editor.desktop', 'org.gnome.baobab.desktop', 'org.gnome.Connections.desktop', 'org.gnome.DejaDup.desktop', 'org.gnome.Dictionary.desktop', 'org.gnome.DiskUtility.desktop', 'org.gnome.eog.desktop', 'org.gnome.FileRoller.desktop', 'org.gnome.fonts.desktop', 'org.gnome.seahorse.Application.desktop', 'org.gnome.tweaks.desktop', 'org.gnome.Usage.desktop', 'vinagre.desktop']
|
||||||
|
categories=['X-GNOME-Utilities']
|
||||||
|
excluded-apps=['org.gnome.Evince.desktop']
|
||||||
|
name='X-GNOME-Utilities.directory'
|
||||||
|
translate=true
|
||||||
|
|
||||||
|
[org/gnome/desktop/app-folders/folders/YaST]
|
||||||
|
categories=['X-SuSE-YaST']
|
||||||
|
name='suse-yast.directory'
|
||||||
|
translate=true
|
||||||
|
|
||||||
|
[org/gnome/desktop/app-folders/folders/a683fc46-9a24-41c2-91e9-7637c554fdc4]
|
||||||
|
apps=['jconsole-java-openjdk.desktop', 'jshell-java-openjdk.desktop']
|
||||||
|
name='Unnamed Folder'
|
||||||
|
|
||||||
|
[org/gnome/desktop/app-folders/folders/aee3ca9c-d66d-42f4-9b76-4dda08403814]
|
||||||
|
apps=['codium-wayland.desktop', 'codium.desktop']
|
||||||
|
name='Accessories'
|
||||||
|
|
||||||
|
[org/gnome/desktop/app-folders/folders/f5961050-635b-4ad1-91e1-3a67538a236b]
|
||||||
|
apps=['cafe.avery.Delfin.desktop']
|
||||||
|
name='Unnamed Folder'
|
||||||
|
|
||||||
|
[org/gnome/desktop/background]
|
||||||
|
color-shading-type='solid'
|
||||||
|
picture-options='zoom'
|
||||||
|
picture-uri='file:///mnt/media/@Bulk/Wallpaper/Linux/arch_btw_Gilded Glow.png'
|
||||||
|
picture-uri-dark='file:///mnt/media/@Bulk/Wallpaper/Linux/arch_btw_Gilded Glow.png'
|
||||||
|
primary-color='#000000000000'
|
||||||
|
secondary-color='#000000000000'
|
||||||
|
|
||||||
|
[org/gnome/desktop/calendar]
|
||||||
|
show-weekdate=false
|
||||||
|
|
||||||
|
[org/gnome/desktop/input-sources]
|
||||||
|
per-window=true
|
||||||
|
sources=[('xkb', 'de'), ('xkb', 'ch'), ('xkb', 'us')]
|
||||||
|
xkb-options=['lv3:ralt_switch']
|
||||||
|
|
||||||
|
[org/gnome/desktop/interface]
|
||||||
|
clock-show-weekday=true
|
||||||
|
color-scheme='prefer-dark'
|
||||||
|
cursor-theme='Qogir'
|
||||||
|
enable-animations=true
|
||||||
|
font-antialiasing='rgba'
|
||||||
|
font-hinting='slight'
|
||||||
|
font-name='Cantarell 11'
|
||||||
|
icon-theme='Qogir'
|
||||||
|
monospace-font-name='Fira Code 10'
|
||||||
|
show-battery-percentage=true
|
||||||
|
|
||||||
|
[org/gnome/desktop/peripherals/keyboard]
|
||||||
|
numlock-state=true
|
||||||
|
|
||||||
|
[org/gnome/desktop/peripherals/mouse]
|
||||||
|
natural-scroll=false
|
||||||
|
speed=0.20851063829787231
|
||||||
|
|
||||||
|
[org/gnome/desktop/peripherals/stylus/default-04f3:2817]
|
||||||
|
eraser-pressure-curve=[0, 0, 100, 100]
|
||||||
|
pressure-curve=[0, 0, 100, 100]
|
||||||
|
|
||||||
|
[org/gnome/desktop/peripherals/tablets/04f3:2817]
|
||||||
|
area=[0.0, 0.0, 0.0, 0.0]
|
||||||
|
|
||||||
|
[org/gnome/desktop/peripherals/touchpad]
|
||||||
|
speed=0.16872427983539096
|
||||||
|
tap-to-click=true
|
||||||
|
two-finger-scrolling-enabled=true
|
||||||
|
|
||||||
|
[org/gnome/desktop/privacy]
|
||||||
|
old-files-age=uint32 30
|
||||||
|
recent-files-max-age=30
|
||||||
|
report-technical-problems=false
|
||||||
|
|
||||||
|
[org/gnome/desktop/remote-desktop/rdp]
|
||||||
|
enable=false
|
||||||
|
screen-share-mode='extend'
|
||||||
|
tls-cert='/home/remy/.local/share/gnome-remote-desktop/rdp-tls.crt'
|
||||||
|
tls-key='/home/remy/.local/share/gnome-remote-desktop/rdp-tls.key'
|
||||||
|
view-only=true
|
||||||
|
|
||||||
|
[org/gnome/desktop/screensaver]
|
||||||
|
color-shading-type='solid'
|
||||||
|
picture-options='zoom'
|
||||||
|
picture-uri='file:///home/remy/.local/share/backgrounds/2022-09-12-22-02-00-arch_btw_In%20the%20Noise.png'
|
||||||
|
primary-color='#000000000000'
|
||||||
|
secondary-color='#000000000000'
|
||||||
|
|
||||||
|
[org/gnome/desktop/search-providers]
|
||||||
|
disabled=@as []
|
||||||
|
sort-order=['org.gnome.Contacts.desktop', 'org.gnome.Documents.desktop', 'org.gnome.Nautilus.desktop']
|
||||||
|
|
||||||
|
[org/gnome/desktop/session]
|
||||||
|
idle-delay=uint32 300
|
||||||
|
|
||||||
|
[org/gnome/desktop/sound]
|
||||||
|
event-sounds=true
|
||||||
|
theme-name='__custom'
|
||||||
|
|
||||||
|
[org/gnome/desktop/wm/keybindings]
|
||||||
|
maximize=@as []
|
||||||
|
switch-input-source=@as []
|
||||||
|
switch-input-source-backward=@as []
|
||||||
|
unmaximize=@as []
|
||||||
|
|
||||||
|
[org/gnome/desktop/wm/preferences]
|
||||||
|
action-middle-click-titlebar='lower'
|
||||||
|
action-right-click-titlebar='none'
|
||||||
|
button-layout='appmenu:close'
|
||||||
|
|
||||||
|
[org/gnome/eog/ui]
|
||||||
|
sidebar=false
|
||||||
|
|
||||||
|
[org/gnome/eog/view]
|
||||||
|
background-color='rgb(0,0,0)'
|
||||||
|
use-background-color=true
|
||||||
|
|
||||||
|
[org/gnome/evince]
|
||||||
|
document-directory=@ms 'file:///home/remy/Downloads'
|
||||||
|
|
||||||
|
[org/gnome/evince/default]
|
||||||
|
continuous=true
|
||||||
|
dual-page=false
|
||||||
|
dual-page-odd-left=false
|
||||||
|
enable-spellchecking=true
|
||||||
|
fullscreen=false
|
||||||
|
inverted-colors=false
|
||||||
|
show-sidebar=false
|
||||||
|
sidebar-page='thumbnails'
|
||||||
|
sidebar-size=133
|
||||||
|
sizing-mode='free'
|
||||||
|
window-ratio=(1.4368686868686869, 1.8659493444606587)
|
||||||
|
zoom=0.46691813714666941
|
||||||
|
|
||||||
|
[org/gnome/evolution-data-server]
|
||||||
|
migrated=true
|
||||||
|
network-monitor-gio-name=''
|
||||||
|
|
||||||
|
[org/gnome/file-roller/dialogs/add]
|
||||||
|
current-folder='file:///home/remy/Downloads'
|
||||||
|
exclude-files=''
|
||||||
|
exclude-folders=''
|
||||||
|
include-files='*'
|
||||||
|
no-symlinks=true
|
||||||
|
selected-files=@as []
|
||||||
|
update=false
|
||||||
|
|
||||||
|
[org/gnome/file-roller/dialogs/extract]
|
||||||
|
height=800
|
||||||
|
recreate-folders=true
|
||||||
|
skip-newer=false
|
||||||
|
width=1000
|
||||||
|
|
||||||
|
[org/gnome/file-roller/file-selector]
|
||||||
|
show-hidden=false
|
||||||
|
sidebar-size=168
|
||||||
|
window-size=(-1, -1)
|
||||||
|
|
||||||
|
[org/gnome/file-roller/listing]
|
||||||
|
list-mode='as-folder'
|
||||||
|
name-column-width=410
|
||||||
|
show-path=false
|
||||||
|
sort-method='name'
|
||||||
|
sort-type='descending'
|
||||||
|
|
||||||
|
[org/gnome/file-roller/ui]
|
||||||
|
sidebar-width=200
|
||||||
|
window-height=1001
|
||||||
|
window-width=960
|
||||||
|
|
||||||
|
[org/gnome/libgnomekbd/preview]
|
||||||
|
height=611
|
||||||
|
width=1464
|
||||||
|
x=240
|
||||||
|
y=135
|
||||||
|
|
||||||
|
[org/gnome/mutter]
|
||||||
|
attach-modal-dialogs=false
|
||||||
|
edge-tiling=false
|
||||||
|
experimental-features=['kms-modifiers']
|
||||||
|
|
||||||
|
[org/gnome/mutter/keybindings]
|
||||||
|
toggle-tiled-left=@as []
|
||||||
|
toggle-tiled-right=@as []
|
||||||
|
|
||||||
|
[org/gnome/nautilus/compression]
|
||||||
|
default-compression-format='zip'
|
||||||
|
|
||||||
|
[org/gnome/nautilus/preferences]
|
||||||
|
default-folder-viewer='list-view'
|
||||||
|
migrated-gtk-settings=true
|
||||||
|
search-filter-time-type='last_modified'
|
||||||
|
search-view='list-view'
|
||||||
|
|
||||||
|
[org/gnome/nautilus/window-state]
|
||||||
|
initial-size=(1920, 1048)
|
||||||
|
maximized=true
|
||||||
|
sidebar-width=157
|
||||||
|
|
||||||
|
[org/gnome/power-manager]
|
||||||
|
info-history-time=604800
|
||||||
|
info-history-type='charge'
|
||||||
|
info-last-device='/org/freedesktop/UPower/devices/battery_BAT0'
|
||||||
|
info-page-number=1
|
||||||
|
info-stats-type='discharge-accuracy'
|
||||||
|
|
||||||
|
[org/gnome/settings-daemon/peripherals/touchscreen]
|
||||||
|
orientation-lock=false
|
||||||
|
|
||||||
|
[org/gnome/settings-daemon/plugins/media-keys]
|
||||||
|
custom-keybindings=['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']
|
||||||
|
|
||||||
|
[org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0]
|
||||||
|
binding='<Super>space'
|
||||||
|
command='ulauncher'
|
||||||
|
name='Ulauncher'
|
||||||
|
|
||||||
|
[org/gnome/settings-daemon/plugins/power]
|
||||||
|
power-button-action='hibernate'
|
||||||
|
sleep-inactive-ac-timeout=3600
|
||||||
|
sleep-inactive-battery-type='suspend'
|
||||||
|
|
||||||
|
[org/gnome/shell]
|
||||||
|
app-picker-layout=[{'org.gnome.Settings.desktop': <{'position': <0>}>, 'com.github.tchx84.Flatseal.desktop': <{'position': <1>}>, 'aee3ca9c-d66d-42f4-9b76-4dda08403814': <{'position': <2>}>, 'org.gnome.Software.desktop': <{'position': <3>}>, 'org.pipewire.Helvum.desktop': <{'position': <4>}>, 'com.spotify.Client.desktop': <{'position': <5>}>, 'org.gnome.Evince.desktop': <{'position': <6>}>, 'org.keepassxc.KeePassXC.desktop': <{'position': <7>}>, 'us.zoom.Zoom.desktop': <{'position': <8>}>, 'org.onlyoffice.desktopeditors.desktop': <{'position': <9>}>, '496a9ca3-5d6b-4231-9434-cf1da320fe55': <{'position': <10>}>, 'io.podman_desktop.PodmanDesktop.desktop': <{'position': <11>}>, 'io.element.Element.desktop': <{'position': <12>}>, '9a796cbb-fc11-4e0c-92ea-bbf29cc78df0': <{'position': <13>}>, 'org.mozilla.Thunderbird.desktop': <{'position': <14>}>, 'com.discordapp.Discord.desktop': <{'position': <15>}>, 'org.gnome.Loupe.desktop': <{'position': <16>}>, 'owncloud.desktop': <{'position': <17>}>, 'Alacritty.desktop': <{'position': <18>}>, 'dev.zed.Zed.desktop': <{'position': <19>}>, 'zen-browser.desktop': <{'position': <20>}>}, {'1aa8a471-a3d4-448f-979d-708f041bd93e': <{'position': <0>}>, 'sqlitebrowser.desktop': <{'position': <1>}>, 'Utilities': <{'position': <2>}>, 'io.github.celluloid_player.Celluloid.desktop': <{'position': <3>}>, 'io.missioncenter.MissionCenter.desktop': <{'position': <4>}>, 'com.logseq.Logseq.desktop': <{'position': <5>}>, '599d49f8-20cb-482c-a619-451cf4f561a3': <{'position': <6>}>, 'org.inkscape.Inkscape.desktop': <{'position': <7>}>, '90c1ffb4-572f-4a17-8793-a248f0ee26e4': <{'position': <8>}>, '5ea1c1fc-c589-42d3-bbaa-05428cb9e434': <{'position': <9>}>, 'nvtop.desktop': <{'position': <10>}>, 'com.github.taiko2k.avvie.desktop': <{'position': <11>}>, 'ds9.desktop': <{'position': <12>}>, 'it.mijorus.gearlever.desktop': <{'position': <13>}>, 'org.gnome.Calculator.desktop': <{'position': <14>}>, 'fish.desktop': <{'position': <15>}>, 'scrcpy.desktop': <{'position': <16>}>, 'scrcpy-console.desktop': <{'position': <17>}>, 'org.gnome.Showtime.desktop': <{'position': <18>}>, 'gparted.desktop': <{'position': <19>}>}]
|
||||||
|
command-history=['r', 'restart', 'btop', 'terminal', 'console']
|
||||||
|
disable-user-extensions=false
|
||||||
|
disabled-extensions=['workspace-indicator@gnome-shell-extensions.gcampax.github.com', 'user-theme@gnome-shell-extensions.gcampax.github.com', 'bluetooth-quick-connect@bjarosze.gmail.com', 'launch-new-instance@gnome-shell-extensions.gcampax.github.com', 'just-perfection-desktop@just-perfection', 'syncthing@gnome.2nv2u.com', 'dash2dock-lite@icedman.github.com', 'awesome-tiles@velitasali.com', 'trayIconsReloaded@selfmade.pl']
|
||||||
|
enabled-extensions=['gestureImprovements@gestures', 'pano@elhan.io', 'clipboard-history@alexsaveau.dev', 'WallpaperSwitcher@Rishu', 'gsconnect@andyholmes.github.io', 'tiling-assistant@leleat-on-github', 'azwallpaper@azwallpaper.gitlab.com', 'caffeine@patapon.info', 'Vitals@CoreCoding.com', 'windowgestures@extension.amarullz.com', 'dash-to-dock@micxgx.gmail.com', 'tilingshell@ferrarodomenico.com', 'search-light@icedman.github.com', 'vscode-search-provider@mrmarble.github.com', 'appindicatorsupport@rgcjonas.gmail.com']
|
||||||
|
favorite-apps=['org.gnome.Nautilus.desktop', 'org.gnome.Console.desktop', 'obsidian.desktop', 'code.desktop', 'firefox.desktop']
|
||||||
|
had-bluetooth-devices-setup=true
|
||||||
|
last-selected-power-profile='power-saver'
|
||||||
|
remember-mount-password=false
|
||||||
|
welcome-dialog-last-shown-version='42.4'
|
||||||
|
|
||||||
|
[org/gnome/shell/extensions/azwallpaper]
|
||||||
|
slideshow-current-wallpapper='arch_btw_Gilded Glow.png'
|
||||||
|
slideshow-directory='/mnt/media/@Bulk/Wallpaper/Linux'
|
||||||
|
slideshow-slide-duration=(6, 0, 0)
|
||||||
|
slideshow-time-of-slide-start=uint64 1724945866662
|
||||||
|
slideshow-timer-remaining=17485
|
||||||
|
slideshow-wallpaper-queue=['arch_btw_Morning Dew.png', 'arch_btw_Red Wrath.png', 'arch_btw_Aquatic Shock.png', 'arch_btw_Industrial Blue.png', 'arch_btw_Cutting Edge.png', 'arch_btw_chad-z-lCPfh95L0nc-unsplash.jpg', 'arch_btw_Purple Nerves.png', 'arch_btw_Hypnotic Shock.png', 'arch_btw_New Waves.png', 'arch_btw_Chevron Sunset.png', 'arch_btw_Aurora Hills.png', 'arch_btw_Vileness.png', 'arch_btw_Red Undead.png', 'arch_btw_Sky Fire.png', 'arch_btw_ash-goldsbrough-YfgE8WCcZsQ-unsplash.jpg', 'arch_btw_stars-3840x2160-star-trail-galaxy-sky-4k-6k-18295.jpg', 'arch_btw_blue-green-and-red-abstract-illustration-1566909.jpg', 'arch_btw_patrick-fore-UxPYxMIDcKU-unsplash.jpg', 'arch_btw_Police Chase.png', 'arch_btw_polygon-3840x2160-4k-16202.jpg', 'arch_btw_Pitch.png', 'arch_btw_Acid Arrows.png', 'arch_btw_t-h-chia-1-Zr2ye5588-unsplash.jpg', 'arch_btw_Multiplex.png', 'arch_btw_silhouette-of-mountains-during-dawn-1809644.jpg', 'arch_btw_Hail Storm.png', "arch_btw_Uppin' Flames.png", 'arch_btw_Frostbite.png', 'arch_btw_Android P.png', "arch_btw_Ol' Reliable.png", 'arch_btw_Hex Glow.png', 'arch_btw_star-trail-photography-2868665.jpg', 'arch_btw_Industrial Blood.png', 'arch_btw_mountains_moon_canvas_172262_3840x2160.jpg', 'arch_btw_alex-perez-ioJBsYQ-pPM-unsplash.jpg', 'arch_btw_Neural Network.png', 'arch_btw_Cut Stone.png', 'arch_btw_Armageddon.png']
|
||||||
|
|
||||||
|
[org/gnome/shell/extensions/caffeine]
|
||||||
|
countdown-timer=0
|
||||||
|
indicator-position-max=1
|
||||||
|
|
||||||
|
[org/gnome/shell/extensions/clipboard-history]
|
||||||
|
display-mode=0
|
||||||
|
private-mode=false
|
||||||
|
window-width-percentage=20
|
||||||
|
|
||||||
|
[org/gnome/shell/extensions/gestureImprovements]
|
||||||
|
enable-alttab-gesture=false
|
||||||
|
enable-forward-back-gesture=true
|
||||||
|
forward-back-application-keyboard-shortcuts={'firefox.desktop': (1, false), 'org.chromium.Chromium.desktop': (1, false), 'org.gnome.gThumb.desktop': (2, false), 'org.gnome.eog.desktop': (3, false), 'org.gnome.Photos.desktop': (3, false), 'shotwell.desktop': (3, false), 'com.spotify.Client.desktop': (4, false), 'code.desktop': (5, false), 'code-insiders.desktop': (5, false), 'org.gnome.Terminal.desktop': (5, false), 'com.gexperts.Tilix.desktop': (5, false), 'org.gnome.TextEditor.desktop': (5, false), 'com.brave.Browser.desktop': (1, false)}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[org/gnome/shell/overrides]
|
||||||
|
edge-tiling=false
|
||||||
|
|
||||||
|
[org/gnome/shell/weather]
|
||||||
|
automatic-location=true
|
||||||
|
locations=[<(uint32 2, <('Zürich', 'LSZH', true, [(0.82874050067087668, 0.14893475701908529)], [(0.82670429484574492, 0.14922565104551519)])>)>]
|
||||||
|
|
||||||
|
[org/gnome/shell/world-clocks]
|
||||||
|
locations=@av []
|
||||||
|
|
||||||
|
[org/gnome/software]
|
||||||
|
check-timestamp=int64 1724142293
|
||||||
|
download-updates=false
|
||||||
|
download-updates-notify=false
|
||||||
|
first-run=false
|
||||||
|
flatpak-purge-timestamp=int64 1724771609
|
||||||
|
online-updates-timestamp=int64 1682110589
|
||||||
|
update-notification-timestamp=int64 1724699283
|
||||||
|
|
||||||
|
[org/gnome/terminal/legacy]
|
||||||
|
theme-variant='dark'
|
||||||
|
|
||||||
|
[org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9]
|
||||||
|
background-color='rgb(0,0,0)'
|
||||||
|
default-size-rows=24
|
||||||
|
font='Fira Code 12'
|
||||||
|
foreground-color='rgb(170,170,170)'
|
||||||
|
use-system-font=false
|
||||||
|
use-theme-colors=false
|
||||||
|
|
||||||
|
[org/gnome/tweaks]
|
||||||
|
show-extensions-notice=false
|
||||||
|
|
||||||
|
[org/gtk/gtk4/settings/color-chooser]
|
||||||
|
custom-colors=[(0.20333333313465118, 0.20333333313465118, 0.20333333313465118, 0.80236488580703735), (0.20333333313465118, 0.20333333313465118, 0.20333333313465118, 1.0), (0.20333333313465118, 0.20333333313465118, 0.20333333313465118, 0.80666667222976685), (0.0, 0.0, 0.0, 0.56333333253860474), (0.0, 0.0, 0.0, 0.25)]
|
||||||
|
selected-color=(true, 0.20333333313465118, 0.20333333313465118, 0.20333333313465118, 0.80236488580703735)
|
||||||
|
|
||||||
|
[org/gtk/gtk4/settings/emoji-chooser]
|
||||||
|
recent-emotrue
|
||||||
|
sort-order='ascending'
|
||||||
|
type-format='category'
|
||||||
|
view-type='grid'
|
||||||
|
window-size=(887, 1027)
|
||||||
|
|
||||||
|
[org/gtk/settings/color-chooser]
|
||||||
|
custom-colors=[(0.14509803921568629, 0.74509803921568629, 0.54509803921568623, 1.0), (0.0, 0.85882352941176465, 0.37647058823529411, 1.0), (1.0, 0.92156862745098034, 0.062745098039215685, 1.0), (1.0, 0.52156862745098043, 0.10588235294117647, 1.0), (1.0, 0.25490196078431371, 0.21176470588235294, 1.0), (0.49803921568627452, 0.13725490196078433, 1.0, 1.0), (0.098039215686274508, 0.45098039215686275, 1.0, 1.0)]
|
||||||
|
selected-color=(true, 0.6470588235294118, 0.11372549019607843, 0.17647058823529413, 1.0)
|
||||||
|
|
||||||
|
[org/gtk/settings/file-chooser]
|
||||||
|
date-format='regular'
|
||||||
|
location-mode='path-bar'
|
||||||
|
show-hidden=true
|
||||||
|
show-size-column=true
|
||||||
|
show-type-column=true
|
||||||
|
sidebar-width=275
|
||||||
|
sort-column='name'
|
||||||
|
sort-directories-first=true
|
||||||
|
sort-order='ascending'
|
||||||
|
type-format='category'
|
||||||
|
window-position=(26, 120)
|
||||||
|
window-size=(1573, 856)
|
||||||
|
|
||||||
|
[org/mate/atril/default]
|
||||||
|
window-ratio=(3.2268907563025211, 1.2422802850356294)
|
||||||
|
.
|
||||||
|
[system/proxy]
|
||||||
|
mode='none'
|
||||||
|
ji=[(([uint32 9888], 'warning', ['warning'], uint32 8), uint32 0)]
|
||||||
|
|
||||||
|
[org/gtk/gtk4/settings/file-chooser]
|
||||||
|
date-format='regular'
|
||||||
|
location-mode='path-bar'
|
||||||
|
show-hidden=true
|
||||||
|
show-size-column=true
|
||||||
|
show-type-column=true
|
||||||
|
sidebar-width=170
|
||||||
|
sort-column='name'
|
||||||
|
sort-directories-first=true
|
||||||
|
sort-order='ascending'
|
||||||
|
type-format='category'
|
||||||
|
view-type='grid'
|
||||||
|
window-size=(887, 1027)
|
||||||
|
|
||||||
|
[org/gtk/settings/color-chooser]
|
||||||
|
custom-colors=[(0.14509803921568629, 0.74509803921568629, 0.54509803921568623, 1.0), (0.0, 0.85882352941176465, 0.37647058823529411, 1.0), (1.0, 0.92156862745098034, 0.062745098039215685, 1.0), (1.0, 0.52156862745098043, 0.10588235294117647, 1.0), (1.0, 0.25490196078431371, 0.21176470588235294, 1.0), (0.49803921568627452, 0.13725490196078433, 1.0, 1.0), (0.098039215686274508, 0.45098039215686275, 1.0, 1.0)]
|
||||||
|
selected-color=(true, 0.6470588235294118, 0.11372549019607843, 0.17647058823529413, 1.0)
|
||||||
|
|
||||||
|
[org/gtk/settings/file-chooser]
|
||||||
|
date-format='regular'
|
||||||
|
location-mode='path-bar'
|
||||||
|
show-hidden=true
|
||||||
|
show-size-column=true
|
||||||
|
show-type-column=true
|
||||||
|
sidebar-width=275
|
||||||
|
sort-column='name'
|
||||||
|
sort-directories-first=true
|
||||||
|
sort-order='ascending'
|
||||||
|
type-format='category'
|
||||||
|
window-position=(26, 120)
|
||||||
|
window-size=(1573, 856)
|
||||||
|
|
||||||
|
[org/mate/atril/default]
|
||||||
|
window-ratio=(3.2268907563025211, 1.2422802850356294)
|
||||||
|
.
|
||||||
|
[system/proxy]
|
||||||
|
mode='none'
|
885
flake.lock
generated
885
flake.lock
generated
File diff suppressed because it is too large
Load Diff
22
flake.nix
22
flake.nix
@ -11,17 +11,28 @@
|
|||||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";
|
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";
|
||||||
# hyprland, plugins and related utils
|
# hyprland, plugins and related utils
|
||||||
hyprland.url = "github:hyprwm/Hyprland";
|
hyprland.url = "github:hyprwm/Hyprland";
|
||||||
stylix.url = "github:danth/stylix/release-24.11";
|
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";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
home-manager,
|
home-manager,
|
||||||
stylix,
|
hyprgrass,
|
||||||
|
hyprland-virtual-desktops,
|
||||||
|
hyprpanel,
|
||||||
...
|
...
|
||||||
} @ inputs:
|
} @ inputs:
|
||||||
let
|
let
|
||||||
|
overlays = [
|
||||||
|
inputs.hyprpanel.overlay
|
||||||
|
];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -33,7 +44,6 @@
|
|||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/spectre-x360-2018
|
./hosts/spectre-x360-2018
|
||||||
stylix.nixosModules.stylix
|
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
@ -43,7 +53,11 @@
|
|||||||
home-manager.users.remy.imports = [
|
home-manager.users.remy.imports = [
|
||||||
./users/remy.nix
|
./users/remy.nix
|
||||||
inputs.nix-flatpak.homeManagerModules.nix-flatpak
|
inputs.nix-flatpak.homeManagerModules.nix-flatpak
|
||||||
|
inputs.walker.homeManagerModules.default
|
||||||
];
|
];
|
||||||
|
|
||||||
|
nixpkgs.overlays = [ inputs.hyprpanel.overlay ];
|
||||||
|
# _module.args = { inherit inputs; };
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -4,18 +4,12 @@
|
|||||||
imports = [
|
imports = [
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../modules/nixos/bluetooth.nix
|
|
||||||
../../modules/nixos/flakes.nix
|
|
||||||
../../modules/nixos/flatpak.nix
|
|
||||||
../../modules/nixos/fonts.nix
|
|
||||||
../../modules/nixos/hyprland.nix
|
../../modules/nixos/hyprland.nix
|
||||||
../../modules/nixos/monitoring.nix
|
../../modules/nixos/monitoring.nix
|
||||||
../../modules/nixos/networking.nix
|
../../modules/nixos/networking.nix
|
||||||
../../modules/nixos/nvidia.nix
|
../../modules/nixos/nvidia.nix
|
||||||
../../modules/nixos/pipewire.nix
|
../../modules/nixos/pipewire.nix
|
||||||
../../modules/nixos/podman.nix
|
../../modules/nixos/podman.nix
|
||||||
../../modules/nixos/power.nix
|
|
||||||
../../modules/nixos/stylix.nix
|
|
||||||
../../utils/binary-cache.nix
|
../../utils/binary-cache.nix
|
||||||
../../utils/garbage-collection.nix
|
../../utils/garbage-collection.nix
|
||||||
];
|
];
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
{
|
{
|
||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
# profiles = {
|
|
||||||
# default = {
|
|
||||||
extensions = with pkgs.vscode-extensions; [
|
extensions = with pkgs.vscode-extensions; [
|
||||||
# QOL
|
# QOL
|
||||||
mhutchie.git-graph
|
mhutchie.git-graph
|
||||||
@ -16,117 +14,9 @@
|
|||||||
ms-python.isort
|
ms-python.isort
|
||||||
ms-python.debugpy
|
ms-python.debugpy
|
||||||
ms-python.vscode-pylance
|
ms-python.vscode-pylance
|
||||||
ms-toolsai.jupyter
|
|
||||||
ms-toolsai.vscode-jupyter-slideshow
|
|
||||||
ms-toolsai.jupyter-renderers
|
|
||||||
|
|
||||||
# Nix language
|
# Nix language
|
||||||
jnoortheen.nix-ide
|
jnoortheen.nix-ide
|
||||||
|
|
||||||
# typst
|
|
||||||
myriad-dreamin.tinymist
|
|
||||||
];
|
];
|
||||||
# };
|
|
||||||
|
|
||||||
keybindings = [
|
|
||||||
{
|
|
||||||
key = "ctrl+#";
|
|
||||||
command = "editor.action.commentLine";
|
|
||||||
when = "editorTextFocus";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
userSettings = {
|
|
||||||
# visual
|
|
||||||
"window.menuBarVisibility" = "toggle";
|
|
||||||
|
|
||||||
"editor.fontFamily" = "'FiraCode Nerd Font Mono', 'monospace', monospace";
|
|
||||||
"terminal.integrated.fontFamily" = "FiraCode Nerd Font Mono";
|
|
||||||
"workbench.iconTheme" = "vs-seti";
|
|
||||||
|
|
||||||
# telemetry
|
|
||||||
"telemetry.enableCrashReporter" = false;
|
|
||||||
"telemetry.enableTelemetry" = false;
|
|
||||||
"redhat.telemetry.enabled" = false;
|
|
||||||
|
|
||||||
|
|
||||||
# editor QOL
|
|
||||||
"security.workspace.trust.untrustedFiles" = "open";
|
|
||||||
"editor.wordWrap" = "on";
|
|
||||||
"editor.suggestSelection" = "first";
|
|
||||||
"editor.renderWhitespace" = "none";
|
|
||||||
"editor.acceptSuggestionOnEnter" = "off";
|
|
||||||
"editor.fontLigatures" = true;
|
|
||||||
"editor.inlineSuggest.enabled" = true;
|
|
||||||
"editor.bracketPairColorization.enabled" = true;
|
|
||||||
"editor.unicodeHighlight.nonBasicASCII" = false;
|
|
||||||
"editor.unicodeHighlight.invisibleCharacters" = false;
|
|
||||||
"editor.unicodeHighlight.ambiguousCharacters" = false;
|
|
||||||
|
|
||||||
"files.autoSave" = "onWindowChange";
|
|
||||||
"files.autoSaveDelay" = 1000;
|
|
||||||
"files.insertFinalNewline" = true;
|
|
||||||
"files.trimTrailingWhitespace" = true;
|
|
||||||
|
|
||||||
"explorer.confirmDelete" = false;
|
|
||||||
"explorer.confirmDragAndDrop" = false;
|
|
||||||
"terminal.integrated.enableMultiLinePasteWarning" = false;
|
|
||||||
"update.showReleaseNotes" = false;
|
|
||||||
"terminal.external.linuxExec" = "kitty";
|
|
||||||
"workbench.startupEditor" = "newUntitledFile";
|
|
||||||
# "workbench.colorTheme" = "Default Light+";
|
|
||||||
|
|
||||||
# Extension management
|
|
||||||
"extensions.autoCheckUpdates" = false;
|
|
||||||
"extensions.autoUpdate" = false;
|
|
||||||
"extensions.ignoreRecommendations" = true;
|
|
||||||
|
|
||||||
|
|
||||||
# git
|
|
||||||
"git.ignoreMissingGitWarning" = true;
|
|
||||||
"git.confirmSync" = false;
|
|
||||||
"git.enableSmartCommit" = true;
|
|
||||||
"git.autofetch" = true;
|
|
||||||
"diffEditor.renderSideBySide" = false;
|
|
||||||
"diffEditor.hideUnchangedRegions.enabled" = true;
|
|
||||||
"diffEditor.ignoreTrimWhitespace" = false;
|
|
||||||
|
|
||||||
# Copilot
|
|
||||||
"github.copilot.editor.enableAutoCompletions" = true;
|
|
||||||
"github.copilot.advanced" = {};
|
|
||||||
"github.copilot.enable" = {
|
|
||||||
"*" = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Python
|
|
||||||
"python.terminal.activateEnvironment" = false; # let nix-shell handle this
|
|
||||||
"jupyter.disableJupyterAutoStart" = true;
|
|
||||||
"jupyter.askForKernelRestart" = false;
|
|
||||||
"workbench.editorAssociations" = {
|
|
||||||
"*.ipynb" = "jupyter-notebook";
|
|
||||||
};
|
|
||||||
"notebook.cellToolbarLocation" = {
|
|
||||||
"default" = "right";
|
|
||||||
"jupyter-notebook" = "left";
|
|
||||||
};
|
|
||||||
"jupyter.widgetScriptSources" = [
|
|
||||||
"jsdelivr.com"
|
|
||||||
"unpkg.com"
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
# Typst
|
|
||||||
"[typst]" = {
|
|
||||||
"editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?";
|
|
||||||
};
|
|
||||||
"[typst-code]" = {
|
|
||||||
"git.openRepositoryInParentFolders" = "never";
|
|
||||||
"editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?";
|
|
||||||
};
|
|
||||||
"tinymist.fontPaths" = [
|
|
||||||
"./font"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
{pkgs, ...}:
|
|
||||||
{
|
|
||||||
programs.direnv = {
|
|
||||||
enable = true;
|
|
||||||
# enableFishIntegration = true; # see note on other shells below
|
|
||||||
nix-direnv.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
{pkgs, ...}:
|
|
||||||
{
|
|
||||||
home.packages = [
|
|
||||||
# pdf viewer
|
|
||||||
pkgs.evince
|
|
||||||
];
|
|
||||||
}
|
|
@ -1,17 +1,9 @@
|
|||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
{
|
{
|
||||||
# Required by the fzf fish plugin
|
|
||||||
programs.fzf = {
|
programs.fzf = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
fd
|
|
||||||
bat
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
programs.fish = {
|
programs.fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -30,6 +22,9 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.fishPlugins.tide
|
||||||
|
];
|
||||||
|
|
||||||
# sets the "default" shell to fish
|
# sets the "default" shell to fish
|
||||||
# actually keeps bash as a posix-compliant default but starts fish if the shell is not bash
|
# actually keeps bash as a posix-compliant default but starts fish if the shell is not bash
|
||||||
|
@ -1,20 +1,24 @@
|
|||||||
{
|
{ 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.packages = [
|
# services.flatpak.enable = true;
|
||||||
"com.calibre_ebook.calibre"
|
# xdg.portal.enable = true;
|
||||||
"com.github.flxzt.rnote"
|
# # install the xdg-desktop-portal-gtk package
|
||||||
"com.github.tchx84.Flatseal"
|
# # to enable the portal service
|
||||||
"com.spotify.Client"
|
# xdg.portal.extraPortals = with pkgs; [
|
||||||
"io.podman_desktop.PodmanDesktop"
|
# xdg-desktop-portal-gtk
|
||||||
"org.pipewire.Helvum"
|
# ];
|
||||||
"io.github.zen_browser.zen"
|
# services.flatpak.update.auto.enable = false;
|
||||||
"im.riot.Riot"
|
# 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"
|
||||||
|
# ];
|
||||||
|
|
||||||
|
}
|
87
modules/home-manager/gnome-shell-customization.nix
Normal file
87
modules/home-manager/gnome-shell-customization.nix
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
{pkgs, lib, ...}:
|
||||||
|
with lib.hm.gvariant;
|
||||||
|
{
|
||||||
|
## Gnome extensions
|
||||||
|
programs.gnome-shell = {
|
||||||
|
enable = true;
|
||||||
|
extensions = [
|
||||||
|
{
|
||||||
|
package = pkgs.gnomeExtensions.dash-to-dock;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "tilingshell@ferrarodomenico.com";
|
||||||
|
package = pkgs.gnome-shell-extensions;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "search-light@icedman.github.com";
|
||||||
|
package = pkgs.gnome-shell-extensions;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
package = pkgs.gnomeExtensions.window-gestures;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
package = pkgs.gnomeExtensions.random-wallpaper;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
## And their settings (stored in dconf)
|
||||||
|
dconf.settings."org/gnome/shell/extensions/tilingshell" = {
|
||||||
|
inner-gaps = mkUint32 8;
|
||||||
|
layouts-json = ''
|
||||||
|
[{"id":"Layout 2","tiles":[{"x":0,"y":0,"width":0.22,"height":1,"groups":[1]},{"x":0.22,"y":0,"width":0.56,"height":1,"groups":[1,2]},{"x":0.78,"y":0,"width":0.22,"height":1,"groups":[2]}]},{"id":"Layout 3","tiles":[{"x":0,"y":0,"width":0.33,"height":1,"groups":[1]},{"x":0.33,"y":0,"width":0.67,"height":1,"groups":[1]}]},{"id":"Layout 4","tiles":[{"x":0,"y":0,"width":0.67,"height":1,"groups":[1]},{"x":0.67,"y":0,"width":0.33,"height":1,"groups":[1]}]},{"id":"2732837","tiles":[{"x":0,"y":0,"width":0.5002604166666667,"height":1,"groups":[1]},{"x":0.5002604166666667,"y":0,"width":0.49973958333333335,"height":1,"groups":[1]}]},{"id":"241562","tiles":[{"x":0,"y":0,"width":0.3328488372093023,"height":1,"groups":[1]},{"x":0.3328488372093023,"y":0,"width":0.33430232558139533,"height":1,"groups":[2,1]},{"x":0.6671511627906976,"y":0,"width":0.3328488372093023,"height":1,"groups":[2]}]}]
|
||||||
|
'';
|
||||||
|
outer-gaps = mkUint32 0;
|
||||||
|
overridden-settings = ''
|
||||||
|
{"org.gnome.mutter.keybindings":{"toggle-tiled-right":"['<Super>Right']","toggle-tiled-left":"['<Super>Left']"},"org.gnome.desktop.wm.keybindings":{"maximize":"['<Super>Up']","unmaximize":"['<Super>Down', '<Alt>F5']"},"org.gnome.mutter":{"edge-tiling":"true"}}
|
||||||
|
'';
|
||||||
|
selected-layouts = [ "Layout 4" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
dconf.settings."org/gnome/shell/extensions/search-light" = {
|
||||||
|
background-color = mkTuple [ 0.20333333313465118 0.20333333313465118 0.20333333313465118 0.80236488580703735 ];
|
||||||
|
blur-background = false;
|
||||||
|
entry-font-size = 1;
|
||||||
|
monitor-count = 1;
|
||||||
|
scale-height = 0.10000000000000001;
|
||||||
|
scale-width = 0.20000000000000001;
|
||||||
|
shortcut-search = [ "<Control><Alt>space" ];
|
||||||
|
popup-at-cursor-monitor = true;
|
||||||
|
show-panel-icon = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
dconf.settings."org/gnome/shell/extensions/windowgestures" = {
|
||||||
|
pinch-enable = false;
|
||||||
|
swipe4-left = 9;
|
||||||
|
swipe4-right = 8;
|
||||||
|
swipe4-updown = 0;
|
||||||
|
three-finger = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
dconf.settings."org/gnome/shell/extensions/dash-to-dock" = {
|
||||||
|
background-opacity = 0.80000000000000004;
|
||||||
|
custom-theme-shrink = true;
|
||||||
|
dash-max-icon-size = 40;
|
||||||
|
dock-position = "BOTTOM";
|
||||||
|
height-fraction = 0.90000000000000002;
|
||||||
|
preview-size-scale = 0.29999999999999999;
|
||||||
|
show-running = true;
|
||||||
|
show-trash = false;
|
||||||
|
show-windows-preview = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
dconf.settings."org/gnome/mutter" = {
|
||||||
|
dynamic-workspaces = true;
|
||||||
|
edge-tiling = false;
|
||||||
|
workspaces-only-on-primary = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
dconf.settings."org/gnome/desktop/interface" = {
|
||||||
|
color-scheme = "prefer-dark";
|
||||||
|
show-battery-percentage = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -1,7 +0,0 @@
|
|||||||
{inputs, pkgs, ...}:
|
|
||||||
{
|
|
||||||
# Put a cursor theme to the location expected by the hyprland window manager
|
|
||||||
# TODO
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
imports = [
|
|
||||||
./cursor.nix
|
|
||||||
./hyprland-customization.nix
|
|
||||||
./hyprpaper.nix
|
|
||||||
./hyprlock.nix
|
|
||||||
./hypridle.nix
|
|
||||||
./waybar.nix
|
|
||||||
];
|
|
||||||
}
|
|
@ -1,37 +0,0 @@
|
|||||||
{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";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,221 +0,0 @@
|
|||||||
{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+Ctrl, left, workspace, -1"
|
|
||||||
# "$mod+Ctrl, 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 = 5;
|
|
||||||
# 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;
|
|
||||||
}
|
|
@ -1,51 +0,0 @@
|
|||||||
{inputs, pkgs, ...}:
|
|
||||||
{
|
|
||||||
programs.hyprlock = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
general = {
|
|
||||||
grace = 5;
|
|
||||||
no_fade_in = false;
|
|
||||||
disable_loading_bar = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
background = {
|
|
||||||
blur_passes = 3;
|
|
||||||
blur_size = 10;
|
|
||||||
# image is set by stylix
|
|
||||||
};
|
|
||||||
|
|
||||||
input-field = {
|
|
||||||
monitor = "";
|
|
||||||
size = "300, 60";
|
|
||||||
# radius = 15;
|
|
||||||
position = "0, -250";
|
|
||||||
halign = "center";
|
|
||||||
valign = "center";
|
|
||||||
};
|
|
||||||
|
|
||||||
label = [
|
|
||||||
{
|
|
||||||
# Day-Month-Date
|
|
||||||
monitor = "";
|
|
||||||
text = ''cmd[update:1000] echo -e "$(date +"%A, %B %d")"'';
|
|
||||||
font_size = 28;
|
|
||||||
position = "0, 490";
|
|
||||||
halign = "center";
|
|
||||||
valign = "center";
|
|
||||||
}
|
|
||||||
# Time
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
text = ''cmd[update:1000] echo "<span>$(date +"%H:%M")</span>"'';
|
|
||||||
font_size = 160;
|
|
||||||
font_weight = "bold";
|
|
||||||
# font_family = "steelfish outline regular";
|
|
||||||
position = "0, 370";
|
|
||||||
halign = "center";
|
|
||||||
valign = "center";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,63 +0,0 @@
|
|||||||
{
|
|
||||||
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"];};
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
}
|
|
@ -1,239 +0,0 @@
|
|||||||
{inputs, pkgs, ...}:
|
|
||||||
{
|
|
||||||
# required to autoload fonts from packages installed via Home Manager
|
|
||||||
fonts.fontconfig.enable = true;
|
|
||||||
|
|
||||||
# waybar requires font-awesome
|
|
||||||
home.packages = [
|
|
||||||
pkgs.pavucontrol
|
|
||||||
];
|
|
||||||
|
|
||||||
# enable waybar
|
|
||||||
programs.waybar.enable = true;
|
|
||||||
programs.waybar = {
|
|
||||||
settings = {
|
|
||||||
|
|
||||||
mainBar = {
|
|
||||||
margin-top = 2;
|
|
||||||
margin-bottom = 2;
|
|
||||||
margin-left = 5;
|
|
||||||
margin-right = 5;
|
|
||||||
|
|
||||||
layer = "top";
|
|
||||||
position = "top";
|
|
||||||
spacing = 5;
|
|
||||||
|
|
||||||
modules-left = [
|
|
||||||
"hyprland/workspaces"
|
|
||||||
"hyprland/window"
|
|
||||||
];
|
|
||||||
|
|
||||||
modules-center = [
|
|
||||||
"clock"
|
|
||||||
"custom/notification"
|
|
||||||
];
|
|
||||||
|
|
||||||
modules-right = [
|
|
||||||
"tray"
|
|
||||||
"privacy"
|
|
||||||
"wireplumber"
|
|
||||||
"network"
|
|
||||||
"battery"
|
|
||||||
"backlight"
|
|
||||||
"idle_inhibitor"
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
# module specific settings
|
|
||||||
"hyprland/workspaces" = {
|
|
||||||
format = "{icon}";
|
|
||||||
format-icons = {
|
|
||||||
active = "●";
|
|
||||||
default = "○";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"hyprland/window"= {
|
|
||||||
"icon" = true;
|
|
||||||
"separate-outputs" = true;
|
|
||||||
"format" = "{}";
|
|
||||||
"rewrite" = {
|
|
||||||
"(.*) — Mozilla Firefox" = "$1";
|
|
||||||
"(.*) - fish" = "> [$1]";
|
|
||||||
"(.*) - Visual Studio Code" = "$1";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"clock" = {
|
|
||||||
format = "{:%H:%M}";
|
|
||||||
interval = 1;
|
|
||||||
tooltip-format = "<tt>{calendar}</tt>";
|
|
||||||
calendar = {
|
|
||||||
"format" = {
|
|
||||||
"today" = "<span color='#fAfBfC'><b>{}</b></span>";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"idle_inhibitor" = {
|
|
||||||
format = "{icon}";
|
|
||||||
format-icons = {
|
|
||||||
activated = "";
|
|
||||||
deactivated = "";
|
|
||||||
};
|
|
||||||
tooltip = "true";
|
|
||||||
};
|
|
||||||
"bluetooth" = {
|
|
||||||
format-on = "";
|
|
||||||
format-off = "BT-off";
|
|
||||||
format-disabled = "";
|
|
||||||
format-connected-battery = "{device_battery_percentage}% ";
|
|
||||||
format-alt = "{device_alias} ";
|
|
||||||
tooltip-format = "{controller_alias}\t{controller_address}\n\n{num_connections} connected";
|
|
||||||
tooltip-format-connected = "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}";
|
|
||||||
tooltip-formaenumeratet-enumerate-connected = "{device_alias}\n{device_address}";
|
|
||||||
tooltip-format-enumerate-connected-battery = "{device_alias}\n{device_address}\n{device_battery_percentage}%";
|
|
||||||
on-click-right = "blueman-manager";
|
|
||||||
};
|
|
||||||
"battery" = {
|
|
||||||
interval = 60;
|
|
||||||
states = {
|
|
||||||
good = 80;
|
|
||||||
warning = 30;
|
|
||||||
critical = 10;
|
|
||||||
};
|
|
||||||
format = "{capacity}% {icon}";
|
|
||||||
format-charging = "{capacity}% ";
|
|
||||||
format-plugged = "{capacity}% ";
|
|
||||||
format-icons = [ "" "" "" "" "" "" ];
|
|
||||||
};
|
|
||||||
"backlight" = {
|
|
||||||
"format" = "{percent}% {icon}";
|
|
||||||
"format-icons" = ["" "" "" "" "" "" "" "" ""];
|
|
||||||
};
|
|
||||||
"wireplumber" = {
|
|
||||||
scroll-step = 10;
|
|
||||||
format = "{icon} {volume}%";# {format_source}";
|
|
||||||
format-bluetooth = "{volume}% {icon}";# {format_source}";
|
|
||||||
format-bluetooth-muted = " {icon}";# {format_source}";
|
|
||||||
format-muted = " Muted";# {format_source}";
|
|
||||||
# format-source = " {volume}%";
|
|
||||||
# format-source-muted = "";
|
|
||||||
format-icons = {
|
|
||||||
headphone = "";
|
|
||||||
hands-free = "";
|
|
||||||
headset = "";
|
|
||||||
phone = "";
|
|
||||||
portable = "";
|
|
||||||
default = [
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
};
|
|
||||||
on-click = "XDG_CURRENT_DESKTOP=GNOME gnome-control-center sound";
|
|
||||||
};
|
|
||||||
"tray" = {
|
|
||||||
spacing = 5;
|
|
||||||
};
|
|
||||||
"custom/notification" = {
|
|
||||||
tooltip = false;
|
|
||||||
format = "{icon} {}";
|
|
||||||
format-icons = {
|
|
||||||
notification = "<span foreground='red'><sup></sup></span>";
|
|
||||||
none = "";
|
|
||||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
|
||||||
dnd-none = "";
|
|
||||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
|
||||||
inhibited-none = "";
|
|
||||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
|
||||||
dnd-inhibited-none = "";
|
|
||||||
};
|
|
||||||
return-type = "json";
|
|
||||||
exec-if = "which swaync-client";
|
|
||||||
exec = "swaync-client -swb";
|
|
||||||
on-click = "sleep 0.1 && task-waybar";
|
|
||||||
escape = true;
|
|
||||||
};
|
|
||||||
"network" = {
|
|
||||||
format = "";
|
|
||||||
format-wifi = "{icon} {essid}";
|
|
||||||
format-icons = [ "" "" "" "" "" ];
|
|
||||||
format-ethernet = " {ipaddr}/{cidr}";
|
|
||||||
format-disconnected = "";
|
|
||||||
tooltip-format = " {ifname} via {gwaddr}";
|
|
||||||
tooltip-format-wifi = "SSID: {essid}({signalStrength}%), {frequency} MHz\nInterface: {ifname}\nIP: {ipaddr}\nGW: {gwaddr}\n\n<span color='#a6da95'>{bandwidthUpBits}</span>\t<span color='#ee99a0'>{bandwidthDownBits}</span>\t<span color='#c6a0f6'>{bandwidthTotalBits}</span>";
|
|
||||||
tooltip-format-ethernet = "{ifname} ";
|
|
||||||
tooltip-format-disconnected = "Disconnected";
|
|
||||||
on-click = "XDG_CURRENT_DESKTOP=GNOME gnome-control-center wifi";
|
|
||||||
};
|
|
||||||
"privacy" = {
|
|
||||||
icon-spacing = 4;
|
|
||||||
# icon-size" = 18;
|
|
||||||
transition-duration = 250;
|
|
||||||
modules = [
|
|
||||||
{
|
|
||||||
type = "screenshare";
|
|
||||||
tooltip = true;
|
|
||||||
# tooltip-icon-size = 24
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "audio-out";
|
|
||||||
tooltip = true;
|
|
||||||
# tooltip-icon-size = 24
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "audio-in";
|
|
||||||
tooltip = true;
|
|
||||||
# tooltip-icon-size = 24
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
style = ''
|
|
||||||
* {
|
|
||||||
font-family: "FiraCode Nerd Font";
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: 22px;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.module {
|
|
||||||
background: rgba(0, 0, 0, 0.6);
|
|
||||||
color: white;
|
|
||||||
border-radius: 5px;
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
151
modules/home-manager/hyprland-customization.nix
Normal file
151
modules/home-manager/hyprland-customization.nix
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
{inputs, pkgs, ...}:
|
||||||
|
{
|
||||||
|
programs.kitty.enable = true;
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
systemd.enable = true;
|
||||||
|
settings = {
|
||||||
|
"$mod" = "SUPER";
|
||||||
|
bind =
|
||||||
|
[
|
||||||
|
"$mod, F, exec, firefox"
|
||||||
|
"$mod, return, exec, walker"
|
||||||
|
"$mod_SHIFT, return, exec, kitty"
|
||||||
|
"$mod, s, exec, code"
|
||||||
|
"$mod, Q, killactive," # Close window
|
||||||
|
"$mod, T, togglefloating," # Toggle Floating
|
||||||
|
|
||||||
|
"$mod, left, movefocus, l" # Move focus left
|
||||||
|
"$mod, right, movefocus, r" # Move focus Right
|
||||||
|
"$mod, up, movefocus, u" # Move focus Up
|
||||||
|
"$mod, down, movefocus, d" # Move focus Down
|
||||||
|
# "$shiftMod, up, focusmonitor, -1" # Focus previous monitor
|
||||||
|
# "$shiftMod, down, focusmonitor, 1" # Focus next monitor
|
||||||
|
# "$shiftMod, left, layoutmsg, addmaster" # Add to master
|
||||||
|
# "$shiftMod, right, layoutmsg, removemaster" # Remove from master
|
||||||
|
];
|
||||||
|
general = {
|
||||||
|
resize_on_border = true;
|
||||||
|
gaps_in = 5;
|
||||||
|
gaps_out = 5;
|
||||||
|
border_size = 1;
|
||||||
|
layout = "master";
|
||||||
|
};
|
||||||
|
|
||||||
|
misc = {
|
||||||
|
disable_hyprland_logo = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
input = {
|
||||||
|
kb_layout = "de";
|
||||||
|
kb_options = "caps:control";
|
||||||
|
numlock_by_default = true;
|
||||||
|
# mouse input should be unchanged
|
||||||
|
natural_scroll = false;
|
||||||
|
touchpad = {
|
||||||
|
disable_while_typing = false;
|
||||||
|
natural_scroll = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gestures = {
|
||||||
|
workspace_swipe = true;
|
||||||
|
workspace_swipe_fingers = 4;
|
||||||
|
workspace_swipe_touch = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
rounding = 5;
|
||||||
|
};
|
||||||
|
# plugin.virtual-desktops = {}
|
||||||
|
|
||||||
|
monitor = [
|
||||||
|
"eDP-1, highres, 0x0, 1.5" # the internal laptop monitor
|
||||||
|
", preferred, auto, 1" # automatically add any newly detected monitor
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
plugins = [
|
||||||
|
# Touch gestures: https://github.com/horriblename/hyprgrass
|
||||||
|
# inputs.hyprgrass.packages.${pkgs.system}.default
|
||||||
|
# Virtual desktops: https://github.com/levnikmyskin/hyprland-virtual-desktops
|
||||||
|
# inputs.hyprland-virtual-desktops.packages.${pkgs.system}.virtual-desktops
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ];
|
||||||
|
# the overlay makes this available as a home manager module
|
||||||
|
programs.hyprpanel = {
|
||||||
|
enable = true;
|
||||||
|
# autostart after hyprland
|
||||||
|
hyprland.enable = true;
|
||||||
|
overwrite.enable = true;
|
||||||
|
overlay.enable = true;
|
||||||
|
|
||||||
|
theme = "monochrome";
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
bar = {
|
||||||
|
clock.format = "%H:%M";
|
||||||
|
clock.showIcon = false;
|
||||||
|
launcher.icon = "🚀";
|
||||||
|
launcher.autoDetectIcon = true;
|
||||||
|
workspaces.show_icons = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
layout = {
|
||||||
|
"bar.layouts" = {
|
||||||
|
"*" = {
|
||||||
|
left = ["workspaces"];
|
||||||
|
middle = ["clock"];
|
||||||
|
right = ["volume" "systray" "nm-applet" "notifications" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
programs.walker = {
|
||||||
|
enable = true;
|
||||||
|
runAsService = true;
|
||||||
|
|
||||||
|
# All options from the config.json can be used here.
|
||||||
|
config = {
|
||||||
|
search.placeholder = "Search";
|
||||||
|
ui.fullscreen = true;
|
||||||
|
list = {
|
||||||
|
height = 200;
|
||||||
|
};
|
||||||
|
websearch.prefix = "?";
|
||||||
|
switcher.prefix = "/";
|
||||||
|
};
|
||||||
|
|
||||||
|
# If this is not set the default styling is used.
|
||||||
|
# style = ''
|
||||||
|
# * {
|
||||||
|
# color: #dcd7ba;
|
||||||
|
# }
|
||||||
|
# '';
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
programs.hyprlock = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
grace = 5;
|
||||||
|
no_fade_in = false;
|
||||||
|
disable_loading_bar = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# Style the lock screen
|
||||||
|
};
|
||||||
|
|
||||||
|
services.network-manager-applet = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -3,4 +3,5 @@
|
|||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs.keepassxc
|
pkgs.keepassxc
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,65 +0,0 @@
|
|||||||
{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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,8 +0,0 @@
|
|||||||
{pkgs, ...}:
|
|
||||||
{
|
|
||||||
home.packages = [
|
|
||||||
pkgs.kubie
|
|
||||||
pkgs.kubectl
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
@ -1,96 +0,0 @@
|
|||||||
{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;
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,95 +0,0 @@
|
|||||||
{ 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;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,22 +1,11 @@
|
|||||||
{inputs, pkgs, ...}:
|
{inputs, pkgs, ...}:
|
||||||
{
|
{
|
||||||
xdg.enable = true;
|
xdg.enable = true;
|
||||||
|
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xdgOpenUsePortal = true;
|
|
||||||
|
|
||||||
# configPackages = [ pkgs.hyprland ];
|
|
||||||
config = {
|
|
||||||
common.default = ["gtk"];
|
|
||||||
hyprland.default = ["gtk" "hyprland"];
|
|
||||||
};
|
|
||||||
|
|
||||||
extraPortals = [
|
extraPortals = [
|
||||||
pkgs.xdg-desktop-portal-gtk
|
pkgs.xdg-desktop-portal-gtk
|
||||||
pkgs.xdg-desktop-portal-wlr
|
|
||||||
pkgs.xdg-desktop-portal-hyprland
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
{
|
|
||||||
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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
services.flatpak.enable = true;
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
# from here on fonts are managed on a user level
|
|
||||||
fonts.fontDir.enable = true;
|
|
||||||
fonts.fontconfig.enable = true;
|
|
||||||
}
|
|
@ -20,8 +20,5 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
wayland = true;
|
wayland = true;
|
||||||
};
|
};
|
||||||
security.pam.services.hyprlock = {};
|
|
||||||
|
|
||||||
security.pam.services.gdm.enableGnomeKeyring = true;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -13,35 +13,34 @@
|
|||||||
configuration = {
|
configuration = {
|
||||||
system.nixos.tags = [ "nvidia-enabled" ];
|
system.nixos.tags = [ "nvidia-enabled" ];
|
||||||
# Enable OpenGL
|
# Enable OpenGL
|
||||||
hardware.graphics.enable = lib.mkForce true;
|
hardware.graphics = {
|
||||||
hardware.nvidia = lib.mkForce {
|
enable = true;
|
||||||
|
};
|
||||||
|
hardware.nvidia = {
|
||||||
|
# prime = {
|
||||||
|
# nvidiaBusId = "PCI:1:0:0";
|
||||||
|
# intelBusId = "PCI:0:2:0";
|
||||||
|
# };
|
||||||
modesetting.enable = true;
|
modesetting.enable = true;
|
||||||
powerManagement.enable = true;
|
powerManagement.enable = true;
|
||||||
# features not available for the old graphics card
|
|
||||||
powerManagement.finegrained = false;
|
powerManagement.finegrained = false;
|
||||||
open = false;
|
open = false;
|
||||||
nvidiaSettings = false;
|
nvidiaSettings = false;
|
||||||
|
|
||||||
prime = {
|
|
||||||
sync.enable = true;
|
|
||||||
nvidiaBusId = "PCI:1:0:0";
|
|
||||||
intelBusId = "PCI:0:2:0";
|
|
||||||
};
|
|
||||||
|
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
|
package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
|
||||||
version = "570.86.16"; # use new 570 drivers
|
version = "565.77";
|
||||||
sha256_64bit = "sha256-RWPqS7ZUJH9JEAWlfHLGdqrNlavhaR1xMyzs8lJhy9U=";
|
sha256_64bit = "sha256-CnqnQsRrzzTXZpgkAtF7PbH9s7wbiTRNcM0SPByzFHw=";
|
||||||
openSha256 = "sha256-DuVNA63+pJ8IB7Tw2gM4HbwlOh1bcDg2AN2mbEU9VPE=";
|
sha256_aarch64 = "sha256-LSAYUnhfnK3rcuPe1dixOwAujSof19kNOfdRHE7bToE=";
|
||||||
settingsSha256 = "sha256-9rtqh64TyhDF5fFAYiWl3oDHzKJqyOW3abpcf2iNRT8=";
|
openSha256 = "sha256-Fxo0t61KQDs71YA8u7arY+503wkAc1foaa51vi2Pl5I=";
|
||||||
usePersistenced = false;
|
settingsSha256 = "sha256-VUetj3LlOSz/LB+DDfMCN34uA4bNTTpjDrb6C6Iwukk=";
|
||||||
|
persistencedSha256 = "sha256-wnDjC099D8d9NJSp9D0CbsL+vfHXyJFYYgU3CwcqKww=";
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
# overwrite the blacklists set previously
|
# overwrite the blacklists set previously
|
||||||
boot.extraModprobeConfig = lib.mkForce "";
|
boot.extraModprobeConfig = "";
|
||||||
boot.blacklistedKernelModules = lib.mkForce [];
|
boot.blacklistedKernelModules = [];
|
||||||
services.udev.extraRules = lib.mkForce "";
|
services.udev.extraRules = "";
|
||||||
services.xserver.videoDrivers = lib.mkForce ["nvidia"];
|
services.xserver.videoDrivers = ["nvidia"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -52,7 +51,7 @@
|
|||||||
blacklist nouveau
|
blacklist nouveau
|
||||||
options nouveau modeset=0
|
options nouveau modeset=0
|
||||||
'';
|
'';
|
||||||
|
|
||||||
services.udev.extraRules = ''
|
services.udev.extraRules = ''
|
||||||
# Remove NVIDIA USB xHCI Host Controller devices, if present
|
# 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"
|
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{power/control}="auto", ATTR{remove}="1"
|
||||||
@ -64,8 +63,34 @@
|
|||||||
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", ATTR{power/control}="auto", ATTR{remove}="1"
|
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", ATTR{power/control}="auto", ATTR{remove}="1"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
||||||
# # Remove the whole bridge responsible for the VGA/3D controller
|
# # Remove the whole bridge responsible for the VGA/3D controller
|
||||||
# ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x8086", ATTR{class}=="0x060400", ATTR{power/control}="auto", ATTR{remove}="1"
|
# ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x8086", ATTR{class}=="0x060400", ATTR{power/control}="auto", ATTR{remove}="1"
|
||||||
|
|
||||||
|
# # somehow the udev rules are not enough to prevent the nouveau driver from loading
|
||||||
|
# # Also unload remove the bus by id manually
|
||||||
|
# # unload 0000:01:00.1 and 0000:01:00.0
|
||||||
|
# # at boot echo 1 > /sys/bus/pci/devices/0000:01:00.1/remove
|
||||||
|
# # at boot echo 1 > /sys/bus/pci/devices/0000:01:00.0/remove
|
||||||
|
|
||||||
|
# systemd.services.remove-nouveau = {
|
||||||
|
# description = "Remove Nouveau PCI devices";
|
||||||
|
# wantedBy = [ "multi-user.target" ];
|
||||||
|
# after = [ "sysinit.target" ];
|
||||||
|
# serviceConfig = {
|
||||||
|
# Type = "oneshot";
|
||||||
|
# ExecStart = "${pkgs.coreutils}/bin/echo 1 > /sys/bus/pci/devices/0000:01:00.1/remove";
|
||||||
|
# ExecStart = "${pkgs.coreutils}/bin/echo auto > /sys/bus/pci/devices/0000:00:01.0/power/control";
|
||||||
|
# ExecStart = "${pkgs.coreutils}/bin/echo 1 > /sys/bus/pci/devices/0000:01:00.0/remove";
|
||||||
|
# ExecStart = "${pkgs.coreutils}/bin/echo auto > /sys/bus/pci/devices/0000:00:01.0/power/control";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
boot.blacklistedKernelModules = [ "nouveau" "nvidia" "nvidia_drm" "nvidia_modeset" ];
|
boot.blacklistedKernelModules = [ "nouveau" "nvidia" "nvidia_drm" "nvidia_modeset" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Warning: used to have
|
||||||
|
# lib.mkdDefault
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
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
|
|
||||||
'';
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
stylix.enable = true;
|
|
||||||
stylix.image = ./../../wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg;
|
|
||||||
|
|
||||||
}
|
|
@ -4,19 +4,13 @@ with lib.hm.gvariant;
|
|||||||
imports = [
|
imports = [
|
||||||
../modules/home-manager/browser.nix
|
../modules/home-manager/browser.nix
|
||||||
../modules/home-manager/code.nix
|
../modules/home-manager/code.nix
|
||||||
../modules/home-manager/dev.nix
|
|
||||||
../modules/home-manager/documents.nix
|
|
||||||
../modules/home-manager/fish.nix
|
../modules/home-manager/fish.nix
|
||||||
../modules/home-manager/flatpaks.nix
|
../modules/home-manager/flatpaks.nix
|
||||||
../modules/home-manager/hypr
|
../modules/home-manager/hyprland-customization.nix
|
||||||
../modules/home-manager/keepassxc.nix
|
../modules/home-manager/keepassxc.nix
|
||||||
../modules/home-manager/kitty.nix
|
|
||||||
../modules/home-manager/kubectl.nix
|
|
||||||
../modules/home-manager/obsidian.nix
|
../modules/home-manager/obsidian.nix
|
||||||
../modules/home-manager/owncloud-client.nix
|
../modules/home-manager/owncloud-client.nix
|
||||||
../modules/home-manager/stylix.nix
|
|
||||||
../modules/home-manager/thunderbird.nix
|
../modules/home-manager/thunderbird.nix
|
||||||
../modules/home-manager/wofi.nix
|
|
||||||
../modules/home-manager/xdg-portals.nix
|
../modules/home-manager/xdg-portals.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -29,42 +23,38 @@ with lib.hm.gvariant;
|
|||||||
home.username = "remy";
|
home.username = "remy";
|
||||||
home.homeDirectory = "/home/remy";
|
home.homeDirectory = "/home/remy";
|
||||||
|
|
||||||
|
#home.file.<filepath> = <content>;
|
||||||
|
|
||||||
## Utils relevant to this user only
|
## Utils relevant to this user only
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "Remy Moll";
|
userName = "Remy Moll";
|
||||||
userEmail = "me@moll.re";
|
userEmail = "me@moll.re";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
## XDG configuration
|
# ## Gnome keyboard and mouse settings
|
||||||
xdg = {
|
# dconf.settings = {
|
||||||
userDirs = {
|
# # set the keyboard layout to german
|
||||||
enable = true;
|
# "org/gnome/desktop/input-sources" = {
|
||||||
desktop = "Desktop";
|
# current = mkUint32 0;
|
||||||
pictures = "Pictures";
|
# sources = [ (mkTuple [ "xkb" "de" ]) (mkTuple [ "xkb" "ch" ]) (mkTuple [ "xkb" "us" ]) ];
|
||||||
documents = "Documents";
|
# xkb-options = [ "lv3:ralt_switch" ];
|
||||||
publicShare = null;
|
# };
|
||||||
music = null;
|
|
||||||
templates = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
mimeApps = {
|
# "org/gnome/desktop/peripherals/keyboard" = {
|
||||||
enable = true;
|
# numlock-state = true;
|
||||||
defaultApplications = {
|
# };
|
||||||
"inode/directory" = "org.gnome.Nautilus.desktop";
|
|
||||||
"application/zip" = "org.gnome.FileRoller.desktop";
|
# "org/gnome/desktop/peripherals/mouse" = {
|
||||||
"application/octet-stream" = "org.gnome.GHex.desktop";
|
# natural-scroll = false;
|
||||||
# pdfs
|
# speed = 0.20851063829787231;
|
||||||
"application/pdf" = "org.gnome.Evince.desktop";
|
# };
|
||||||
# images
|
|
||||||
# "image/png" = "org.gnome.Evince.desktop";
|
# "org/gnome/desktop/peripherals/touchpad" = {
|
||||||
# "image/jpeg" = "org.gnome.Evince.desktop";
|
# tap-to-click = true;
|
||||||
# "image/gif" = "org.gnome.Evince.desktop";
|
# two-finger-scrolling-enabled = true;
|
||||||
# "image/svg+xml" = "org.gnome.Evince.desktop";
|
# speed = 0.16872427983539096;
|
||||||
# "image/tiff" = "org.gnome.Evince.desktop";
|
# };
|
||||||
# text-based
|
# };
|
||||||
"text/*" = "vscode.desktop";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 329 KiB |
Binary file not shown.
Before Width: | Height: | Size: 381 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.6 MiB |
Binary file not shown.
Before Width: | Height: | Size: 1.8 MiB |
Binary file not shown.
Before Width: | Height: | Size: 3.5 MiB |
Loading…
x
Reference in New Issue
Block a user