Compare commits

...

511 commits

Author SHA1 Message Date
Evie Litherland-Smith 4607850870 Add floating window rule for Steam controller config window 2024-11-09 06:54:55 +00:00
Evie Litherland-Smith a7e397db4b flake.lock: Update
Flake lock file updates:

• Updated input 'iosevka-custom':
    'git+https://git.xenia.me.uk/pixelifytica/iosevka.git?ref=refs/heads/main&rev=c4213be70f7bc4c20aba7321decfd240a679fcd0' (2024-10-18)
  → 'git+https://git.xenia.me.uk/pixelifytica/iosevka.git?ref=refs/heads/main&rev=49828459e58b6987d2738b74c085cecb963355ab' (2024-10-30)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/32e940c7c420600ef0d1ef396dc63b04ee9cad37?narHash=sha256-BAuPWW%2B9fa1moZTU%2BjFh%2B1cUtmsuF8asgzFwejM4wac%3D' (2024-10-23)
  → 'github:nixos/nixpkgs/dba414932936fde69f0606b4f1d87c5bc0003ede?narHash=sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE%3D' (2024-11-06)
2024-11-08 06:39:08 +00:00
Evie Litherland-Smith c96b2797e0 Split allowUnfreePredicate to where it's actually needed
Move steam config to separate file, import by Vanguard.

Move work config up one level (system rather than home) to config
allowUnfreePredicate for NoMachine.

Install teams and twinkle on desktop by default.
2024-11-08 06:33:25 +00:00
Evie Litherland-Smith 86fe70eace Remove sync-emacs from sync-all alias 2024-11-07 05:27:14 +00:00
Evie Litherland-Smith 938e5c859e Remove pylsp-mypy 2024-11-06 14:23:57 +00:00
Evie Litherland-Smith 28980407a3 Change home row mod order again
Now using super -> alt -> ctrl -> shift
2024-11-06 13:23:38 +00:00
Evie Litherland-Smith 17fd9c0e68 Swap super and meta for kanata (again) 2024-11-06 10:52:26 +00:00
Evie Litherland-Smith 2b22171217 Set WEBKIT_DISABLE_COMPOSITING_MODE to fix whatsapp performance 2024-11-06 07:27:52 +00:00
Evie Litherland-Smith 5d8af79ddd Rotate home row mods again
Trying shift -> super -> alt -> ctrl again

Adjust capsctrl tap and hold times
2024-11-06 07:05:05 +00:00
Evie Litherland-Smith 3e26cf74f1 Tweak tap time 2024-11-05 16:48:14 +00:00
Evie Litherland-Smith d09982cc9f Back rotate outer 3 keys
New order: super -> meta -> shift -> ctrl
2024-11-05 16:37:23 +00:00
Evie Litherland-Smith e1654bf6ad Remove some left over rofi binds I missed 2024-11-05 11:55:36 +00:00
Evie Litherland-Smith 4aafacad97 Kanata - swap alt and super keys 2024-11-05 11:49:31 +00:00
Evie Litherland-Smith 787435d7ce Remove media workspace, add documents workspace 2024-11-05 10:45:38 +00:00
Evie Litherland-Smith c47aa27321 Disable remapping caps to ctrl at xserver level
Use kanata to allow caps on tap and ctrl on hold.
2024-11-05 10:34:24 +00:00
Evie Litherland-Smith f16bd93df0 Rotate home row mods
Move shift to outer key (a/;), feels more natural. Rotate all other
keys by 1 inwards accordingly.
2024-11-05 10:00:23 +00:00
Evie Litherland-Smith f056629d93 Rearrange keys in kanata config
Add file local variables to tell Emacs it's a lisp-style file
2024-11-04 14:52:44 +00:00
Evie Litherland-Smith e2e290166e Adjust kanata timings using config from dreams-of-code, renable service 2024-11-04 11:00:11 +00:00
Evie Litherland-Smith 654901cf2d Disable Kanata service
Needs some more configuring before using full-time
2024-11-04 10:25:01 +00:00
Evie Litherland-Smith fb56866e4e Sync Emacs as part of sync-all 2024-11-04 06:34:54 +00:00
Evie Litherland-Smith 1780453f8b Add home row mods using kanata 2024-11-04 06:32:54 +00:00
Evie Litherland-Smith 9c09e1625d Switch to using workspaces with meaning 2024-11-03 11:42:58 +00:00
Evie Litherland-Smith d12676f747 Switch fastfetch for hyfetch (with config) 2024-11-03 11:25:21 +00:00
Evie Litherland-Smith c9a1e82522 Switch to base24 variant of one-light (modified by me) 2024-11-03 11:18:55 +00:00
Evie Litherland-Smith f7266fda77 Add UKAEA LaTeX beamer template from Chris Macmackin 2024-10-31 13:41:34 +00:00
Evie Litherland-Smith ed61fbb1e2 Change wallpaper
Don't autostart twinkle on work machines
2024-10-31 10:59:39 +00:00
Evie Litherland-Smith a9b748afc1 Remove sync-emacs from sync-all alias 2024-10-31 06:57:16 +00:00
Evie Litherland-Smith a66762ff0c Change order of syncing in sync-all alias 2024-10-31 06:04:44 +00:00
Evie Litherland-Smith d740a70ff1 Only install NoMachine on work machines 2024-10-31 05:37:40 +00:00
Evie Litherland-Smith 955b3a74e8 Ignore firefox from waybar mpris module 2024-10-31 05:04:30 +00:00
Evie Litherland-Smith 666bd09059 Remove gitea username from git config 2024-10-30 16:55:59 +00:00
Evie Litherland-Smith ea8e3e2de6 Update ensure-pass.sh to add GitHub API token to secret store
Rename a few variables for consistency

Remove spotifyd credentials since I don't use it anymore
2024-10-30 16:46:50 +00:00
Evie Litherland-Smith 37d2a39116 Ronin: set monitor to be on the left 2024-10-30 16:32:47 +00:00
Evie Litherland-Smith a9c78cbaa9 Move btm and cava into their own files 2024-10-30 16:32:34 +00:00
Evie Litherland-Smith 2b7a03c4fc Add work monitor config to Ronin 2024-10-30 14:56:22 +00:00
Evie Litherland-Smith 4adac992b7 Switch back from propo nf, bring back extra spaces needed in waybar config 2024-10-30 09:50:39 +00:00
Evie Litherland-Smith 220b8b17a6 Remove nixos-rebuild from sync-and-shutdown 2024-10-30 07:51:28 +00:00
Evie Litherland-Smith 6477e0c054 Switch to pre-packaged Iosevka Nerd Font for now so I can use the Propo variant 2024-10-30 07:46:58 +00:00
Evie Litherland-Smith 0f0b82837b Waybar calendar use year mode, enable right click to change mode 2024-10-29 14:42:45 +00:00
Evie Litherland-Smith 23bff7fb9d Fix and re-enable suppressing certain fullscreen/maximise events
Add idleinhibit criteria to watching videos fullscreen (firefox or
clapper), or playing games (based on steam_app or Minecraft)
2024-10-29 11:54:03 +00:00
Evie Litherland-Smith 30fe4d0dc6 Set global location and changes uses of lat/lon to inherit from this
Remove opacity from waybar tooltips since they aren't blurred
2024-10-29 09:15:07 +00:00
Evie Litherland-Smith 35b60eafa9 Update sharepoint bookmark 2024-10-29 09:12:57 +00:00
Evie Litherland-Smith 613d29a89b Add pylsp-mypy 2024-10-29 06:22:13 +00:00
Evie Litherland-Smith 7384920bf2 Actually fix firefox profiles bug this time
Seems there's an issue with profiles named "default" specifically
2024-10-29 05:23:21 +00:00
Evie Litherland-Smith 0175aa1b38 Cleanup a bunch off wallpapers that I'm not using 2024-10-28 15:26:03 +00:00
Evie Litherland-Smith 06b26cb16e Hyprland browser bind use firefox finalPackage instead of package 2024-10-28 14:45:03 +00:00
Evie Litherland-Smith ce37e5c498 Fix firefox profiles/config not working for some reason 2024-10-28 14:12:48 +00:00
Evie Litherland-Smith ccfe617b8d Add floating window rule for electron file picker 2024-10-28 10:28:17 +00:00
Evie Litherland-Smith 9a28a4226c Swap zathura for evince 2024-10-28 10:08:19 +00:00
Evie Litherland-Smith dbb404aebe Fix typo setting teams config file 2024-10-28 08:08:46 +00:00
Evie Litherland-Smith 18616386ab Fix waybar rewrite for btm and cava 2024-10-28 06:10:40 +00:00
Evie Litherland-Smith a4c4cd0994 Enable gammastep service 2024-10-28 05:57:57 +00:00
Evie Litherland-Smith e86ab30c99 Add display config for all other machines 2024-10-28 05:40:26 +00:00
Evie Litherland-Smith 1f8430520f MangoHud use preset 1 2024-10-27 16:41:50 +00:00
Evie Litherland-Smith 97ff8ec100 Add sync-and-shutdown alias 2024-10-27 07:14:55 +00:00
Evie Litherland-Smith 150d16c150 Add window rules for xdg-desktop-portal-gtk file picker dialog 2024-10-27 07:13:12 +00:00
Evie Litherland-Smith a002d1a699 Sync Emacs as part of sync-all alias 2024-10-27 07:03:14 +00:00
Evie Litherland-Smith 28006d5e14 Update ignored directories in clean-config.sh
Don't delete dconf directory
2024-10-27 07:02:07 +00:00
Evie Litherland-Smith 034a666ea4 Add xdg-desktop-portal-gtk as additional portal 2024-10-27 06:57:11 +00:00
Evie Litherland-Smith 35b1130442 Adjust colours of hyprlock and add fail text 2024-10-27 06:09:57 +00:00
Evie Litherland-Smith d3001e10be Add fractal (Matrix client) 2024-10-27 05:46:46 +00:00
Evie Litherland-Smith e78efe0dd0 Switch pinentry program to pinentry-gnome3, extend window rules accordingly 2024-10-25 16:37:03 +01:00
Evie Litherland-Smith 0d04cf4e64 Extend pinentry window rule to include pinentry-qt 2024-10-25 16:31:46 +01:00
Evie Litherland-Smith 29182c6b96 Force mimeapps linking 2024-10-25 15:35:48 +01:00
Evie Litherland-Smith 672c6296ec flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/dc2e0028d274394f73653c7c90cc63edbb696be1?narHash=sha256-GKJjtPY%2BSXfLF/yTN7M2cAnQB6RERFKnQhD8UvPSf3M%3D' (2024-10-16)
  → 'github:nixos/nixpkgs/32e940c7c420600ef0d1ef396dc63b04ee9cad37?narHash=sha256-BAuPWW%2B9fa1moZTU%2BjFh%2B1cUtmsuF8asgzFwejM4wac%3D' (2024-10-23)
2024-10-25 15:24:11 +01:00
Evie Litherland-Smith 7c1162b972 Remove plasma-manager and nix-index-database 2024-10-25 15:22:41 +01:00
Evie Litherland-Smith 45acedd324 Add image-roll and clapper for pictures and videos respectively
Replace swayimg and mpv

Fix MPRIS module for waybar (needed playerctl in PATH), reorganise so
that MPRIS is in the centre and update formatting
2024-10-25 15:20:10 +01:00
Evie Litherland-Smith 77f4eba566 Override GTK accent colour
Set scheme polarity to "light"
2024-10-25 14:47:54 +01:00
Evie Litherland-Smith 8fe0391deb Add g4music music player package 2024-10-25 14:25:37 +01:00
Evie Litherland-Smith cba1e28493 Enable udiskie service 2024-10-25 14:16:23 +01:00
Evie Litherland-Smith f6f42bd2c5 Update hypridle to use nix paths 2024-10-25 13:40:24 +01:00
Evie Litherland-Smith 147ef5daf0 Override stylix border colour for fuzzel, avizo and mako
Add default timeout (5s) to mako notifications
2024-10-25 13:02:42 +01:00
Evie Litherland-Smith 2dadd171e9 Add cava back, update some hyprland binds to use nixpkgs paths 2024-10-25 12:42:54 +01:00
Evie Litherland-Smith 048d44ce6d Switch Thunar+Xarchiver for GNOME Nautilus and File-Roller
Add Sushi (NautilusPreviewer) for quick file previews

Add zathura back as PDF viewer

Update mimeapps for swayimg, mpv, zathura, etc...
2024-10-25 12:19:00 +01:00
Evie Litherland-Smith 7b9d0a41d6 Switch back to Hyprland
Add separate config files for waybar, fuzzel, mako

Enable gnome-keyring as secret-service, with seahorse for interface

Restructure desktop-related things into a desktop directory
2024-10-25 11:25:34 +01:00
Evie Litherland-Smith 356ce4e4f7 Only install teams on work machines 2024-10-25 05:33:00 +01:00
Evie Litherland-Smith 10ca06642b Set nixPath as suggested by nixd config 2024-10-25 05:30:32 +01:00
Evie Litherland-Smith d81e874d19 sync-all now sync vdirsyncer and mbsync again 2024-10-24 05:35:12 +01:00
Evie Litherland-Smith 67c17acf6b Remove zellij 2024-10-24 05:33:40 +01:00
Evie Litherland-Smith 68af964598 Revert "Swap pylsp+mypy for pyright"
This reverts commit 4c3b24bd60.
2024-10-23 16:08:00 +01:00
Evie Litherland-Smith 22f2a94a65 Update sync-all alias
Rename for sync-git and sync-emacs, remove vdirsyncer and mbsync since
Emacs handles syncing them
2024-10-23 08:23:24 +01:00
Evie Litherland-Smith ac6e12ec99 Rename gsync/esync -> sync-git/emacs respectively
Realised there's a real program in the GNU coreutils called gsync so
wanted to avoid a collision
2024-10-23 08:19:13 +01:00
Evie Litherland-Smith dac7d30149 Set plasma panel to be on all screens 2024-10-23 06:43:30 +01:00
Evie Litherland-Smith a52ccf7ef4 Remove git-sync service, use gsync.sh script again instead
Delete some unused (test) scripts

Reduce what is sync'd by rsync-local-config: remove fonts, bat config
and zellij config
2024-10-22 11:36:21 +01:00
Evie Litherland-Smith 4734368f0c Revert "Remove gsync script"
This reverts commit 50371a5ad1.
2024-10-22 09:15:30 +01:00
Evie Litherland-Smith 8c52656d05 Add p7zip 2024-10-20 07:33:16 +01:00
Evie Litherland-Smith 3306374425 Change wallpaper 2024-10-19 11:06:28 +01:00
Evie Litherland-Smith 997f04d1a8 Fix MangoHud config 2024-10-19 07:15:51 +01:00
Evie Litherland-Smith 18308b3caf Remove ollama from Ronin 2024-10-18 16:15:16 +01:00
Evie Litherland-Smith 4c3b24bd60 Swap pylsp+mypy for pyright 2024-10-18 15:18:42 +01:00
Evie Litherland-Smith 89c45cab99 Remove Qt from hm config, theme managed by Plasma anyway 2024-10-18 11:38:30 +01:00
Evie Litherland-Smith c83fa1325a Add liberation font, remove font-awesome (should be covered by nerdfonts) 2024-10-18 11:23:50 +01:00
Evie Litherland-Smith af67e156a4 Revert "Add KDE plasma browser integration"
This reverts commit 0026c92bbe.
2024-10-18 10:33:32 +01:00
Evie Litherland-Smith 0026c92bbe Add KDE plasma browser integration 2024-10-18 08:51:26 +01:00
Evie Litherland-Smith 485b3559ad Add spotify to bookmarks 2024-10-18 07:53:50 +01:00
Evie Litherland-Smith ff288ef525 Set some (initial) mangohud colours using base16/stylix 2024-10-18 07:36:12 +01:00
Evie Litherland-Smith 7fc20d017a flake.lock: Update
Flake lock file updates:

• Updated input 'iosevka-custom':
    'git+https://git.xenia.me.uk/pixelifytica/iosevka.git?ref=refs/heads/main&rev=7c2ee6ddb3c72333676407350d672b2d61fccd94' (2024-10-18)
  → 'git+https://git.xenia.me.uk/pixelifytica/iosevka.git?ref=refs/heads/main&rev=c4213be70f7bc4c20aba7321decfd240a679fcd0' (2024-10-18)
2024-10-18 07:24:50 +01:00
Evie Litherland-Smith 0cd36ba6fb flake.lock: Update
Flake lock file updates:

• Updated input 'iosevka-custom':
    'git+https://git.xenia.me.uk/pixelifytica/iosevka.git?ref=refs/heads/main&rev=4b7699f416f13439aed68e7447ef65ab9d08109a' (2024-09-25)
  → 'git+https://git.xenia.me.uk/pixelifytica/iosevka.git?ref=refs/heads/main&rev=7c2ee6ddb3c72333676407350d672b2d61fccd94' (2024-10-18)
• Updated input 'iosevka-custom/nixpkgs':
    'github:nixos/nixpkgs/9357f4f23713673f310988025d9dc261c20e70c6?narHash=sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c%3D' (2024-09-21)
  → 'github:nixos/nixpkgs/a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c?narHash=sha256-nsNdSldaAyu6PE3YUA%2BYQLqUDJh%2BgRbBooMMekZJwvI%3D' (2024-10-14)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/c0b1da36f7c34a7146501f684e9ebdf15d2bebf8?narHash=sha256-WLxED18lodtQiayIPDE5zwAfkPJSjHJ35UhZ8h3cJUg%3D' (2024-10-14)
  → 'github:nixos/nixpkgs/dc2e0028d274394f73653c7c90cc63edbb696be1?narHash=sha256-GKJjtPY%2BSXfLF/yTN7M2cAnQB6RERFKnQhD8UvPSf3M%3D' (2024-10-16)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/508a077405fa700de0248e7f84bc4fefbd308dd9?narHash=sha256-poRon0EwKWfOfttFk/8IiUPzCO/ahpNvtsSd9lizlHY%3D' (2024-10-16)
  → 'github:nix-community/plasma-manager/9d851cebffd92ad3d2c69cc4df7a2c9368b78f73?narHash=sha256-GMZubGvIEZIpHhb3sw7GIK7hFtHGBijsXQbR8TBAF%2BU%3D' (2024-10-17)
2024-10-18 07:14:54 +01:00
Evie Litherland-Smith bdf6441780 Add sshfs 2024-10-17 13:32:10 +01:00
Evie Litherland-Smith 4a34969506 Set autoUpgrade to "boot" by default, keep as "switch" for Legion
Add stateVersion variables to Legion, missed last time...
2024-10-17 06:17:24 +01:00
Evie Litherland-Smith 04033bd40c flake.lock: Update
Flake lock file updates:

• Updated input 'nix-index-database':
    'github:nix-community/nix-index-database/5fce10c871bab6d7d5ac9e5e7efbb3a2783f5259?narHash=sha256-GJDtsxz2/zw6g/Nrp4XVWBS5IaZ7ZUkuvxPOBEDe7pg%3D' (2024-10-07)
  → 'github:nix-community/nix-index-database/5c54c33aa04df5dd4b0984b7eb861d1981009b22?narHash=sha256-grMdAd4KSU6uPqsfLzA1B/3pb9GtGI9o8qb0qFzEU/Y%3D' (2024-10-13)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/d51c28603def282a24fa034bcb007e2bcb5b5dd0?narHash=sha256-dOymOQ3AfNI4Z337yEwHGohrVQb4yPODCW9MDUyAc4w%3D' (2024-10-09)
  → 'github:nixos/nixpkgs/c0b1da36f7c34a7146501f684e9ebdf15d2bebf8?narHash=sha256-WLxED18lodtQiayIPDE5zwAfkPJSjHJ35UhZ8h3cJUg%3D' (2024-10-14)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/bc14b17bff1557de8f103172508f896a87bb9cdb?narHash=sha256-XWNBGf8Z03sqA5/m99X6XTFbHGNuVx1gMaMQJbdDIrY%3D' (2024-10-03)
  → 'github:nix-community/plasma-manager/508a077405fa700de0248e7f84bc4fefbd308dd9?narHash=sha256-poRon0EwKWfOfttFk/8IiUPzCO/ahpNvtsSd9lizlHY%3D' (2024-10-16)
• Updated input 'stylix/base16-foot':
    'github:tinted-theming/base16-foot/e558fe47e187093313f19fa6a9eea61940ffbd6b?narHash=sha256-ByMVgH0rZ1by2YIVJ47gE8/ZHWcG8yqsErQ4tKLbm7Q%3D' (2024-09-29)
  → 'github:tinted-theming/base16-foot/eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce?narHash=sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU%3D' (2023-10-08)
• Updated input 'stylix/base16-helix':
    'github:tinted-theming/base16-helix/7f795bf75d38e0eea9fed287264067ca187b88a9?narHash=sha256-Z2o8VBPW3I%2BKKTSfe25kskz0EUj7MpUh8u355Z1nVsU%3D' (2024-09-09)
  → 'github:tinted-theming/base16-helix/dbe1480d99fe80f08df7970e471fac24c05f2ddb?narHash=sha256-FVrbPk%2BNtMra0jtlC5oxyNchbm8FosmvXIatkRbYy1g%3D' (2023-10-08)
• Updated input 'stylix/base16-kitty':
    'github:kdrag0n/base16-kitty/0898f2677f3a583cc6a89bde29b2b05ac2041e0b?narHash=sha256-%2BvEXvEsar7w7wPVRmKx%2BrJKUTD5DBgLR7jfl0k7VhnE%3D' (2024-07-16)
  → 'github:kdrag0n/base16-kitty/06bb401fa9a0ffb84365905ffbb959ae5bf40805?narHash=sha256-aRaizTYPpuWEcvoYE9U%2BYRX%2BWsc8%2BiG0guQJbvxEdJY%3D' (2022-10-05)
• Updated input 'stylix/base16-tmux':
    'github:tinted-theming/base16-tmux/44fbe9034653c83a8ae68941aaeeeeb7503cd1ae?narHash=sha256-AOITVZMhqELOzL5Jw54NIX7R8gFbTJqrHEDuPwgGYDQ%3D' (2024-09-29)
  → 'github:tinted-theming/base16-tmux/c02050bebb60dbb20cb433cd4d8ce668ecc11ba7?narHash=sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU%2B3Q%3D' (2023-10-08)
2024-10-17 06:10:31 +01:00
Evie Litherland-Smith 42e865c066 Move stateVersion variables into per-machine config files 2024-10-17 06:07:29 +01:00
Evie Litherland-Smith b4f6e267a1 Remove spotifyd
Issues getting it to work properly...
2024-10-16 08:09:13 +01:00
Evie Litherland-Smith 2fc7bb9d92 Move networking to system level config 2024-10-16 08:00:29 +01:00
Evie Litherland-Smith a6023abd2c Enable spotifyd service
Update ensure-pass section for spotify to allow spotifyd to use secret
service lookup
2024-10-16 07:58:49 +01:00
Evie Litherland-Smith 987cfbacae Combine different pass scripts into single ensure-pass.sh
Use password-store where possible to populate secret store without
user interaction (currently only Proton still needs manual input)

Add spotify to secret store ready for spotifyd
2024-10-16 07:52:52 +01:00
Evie Litherland-Smith fca50d0d55 Revert "Swap prusa-slicer for orca-slicer again"
This reverts commit 4d72c965b3.
2024-10-14 11:46:10 +01:00
Evie Litherland-Smith 4d72c965b3 Swap prusa-slicer for orca-slicer again 2024-10-14 11:21:35 +01:00
Evie Litherland-Smith d2a8e3fe81 Merge branch 'main' of https://git.xenia.me.uk/pixelifytica/nixos 2024-10-13 13:27:56 +01:00
Evie Litherland-Smith c5081cdb89 Adjust timing of mbsync and vdirsyncer
Sync every 30 minutes, instead of every 5
2024-10-13 13:27:40 +01:00
Evie Litherland-Smith baf4f5322c Only install firefox by default, keep nyxt config around though 2024-10-11 11:54:39 +01:00
Evie Litherland-Smith 62e7a875a0 Update clean-config script 2024-10-11 11:49:28 +01:00
Evie Litherland-Smith 996cb23217 Move default Emacs directory for esync 2024-10-11 11:46:52 +01:00
Evie Litherland-Smith 8b1b37344d Cleanup and rename some bookmarks 2024-10-11 09:47:33 +01:00
Evie Litherland-Smith 469ddd9500 Vanguard: remove orca-slicer (again) 2024-10-11 08:52:50 +01:00
Evie Litherland-Smith 0586b8623a Use magenta for papirus folder colour 2024-10-11 07:48:42 +01:00
Evie Litherland-Smith 9af209a103 Swap stylix to release-24.05 branch, update flake.lock 2024-10-11 06:56:18 +01:00
Evie Litherland-Smith a3f4e5df67 Swap plasma accent colour base0D -> base0E 2024-10-10 18:04:22 +01:00
Evie Litherland-Smith 0df26d4a48 Enable ollama service for work laptop 2024-10-10 16:52:09 +01:00
Evie Litherland-Smith 804ff2af6a Add orca slicer again 2024-10-09 07:12:40 +01:00
Evie Litherland-Smith 75251ad4e3 Enable ollama for Tone 2024-10-08 10:58:44 +01:00
Evie Litherland-Smith 9178d0678d Remove ollama service from Ronin 2024-10-08 09:33:45 +01:00
Evie Litherland-Smith d6e6fd8e7b Remove samba service 2024-10-08 09:31:45 +01:00
Evie Litherland-Smith 191581a912 Update Makefile 2024-10-08 08:21:15 +01:00
Evie Litherland-Smith 5601951859 Enable ollama for Vanguard and Ronin
Enable samba service for Tone
2024-10-08 07:13:34 +01:00
Evie Litherland-Smith 87fc2a2db8 Vanguard: enable ROCM/OpenCl support 2024-10-08 07:07:25 +01:00
Evie Litherland-Smith 7fc7335df5 Cleanup some services, re-enable adguardhome 2024-10-08 07:00:39 +01:00
Evie Litherland-Smith cfe75c1239 Update calendar primaryCollection 2024-10-07 17:43:51 +01:00
Evie Litherland-Smith 42956378ec vdirsyncer rename main calendar, set collections
Rename account "personal" -> "main", it was messing with khalel
tagging of "personal" collection inside "personal" calendar

Set collections to personal, work, and other

Only metasync displayname
2024-10-07 09:39:07 +01:00
Evie Litherland-Smith 234abaee93 Remove orca-slicer 2024-10-05 18:47:57 +01:00
Evie Litherland-Smith fe1f5bb6a2 Move GPG config to own file
Move home/services/ files up one level, adjust imports accordingly.
2024-10-05 16:39:27 +01:00
Evie Litherland-Smith 9864acd7e9 Revert "Firefox: add proton-pass, remove browserpass and simplelogin"
This reverts commit db7d968f49.
2024-10-05 16:24:23 +01:00
Evie Litherland-Smith db7d968f49 Firefox: add proton-pass, remove browserpass and simplelogin 2024-10-05 13:38:01 +01:00
Evie Litherland-Smith 50371a5ad1 Remove gsync script 2024-10-05 12:56:19 +01:00
Evie Litherland-Smith 409dea1c89 Fix typo in library path 2024-10-05 12:41:15 +01:00
Evie Litherland-Smith 9d401ace7f Re-enable git-sync service to sync org and library directories
git-sync service works now that I'm using libsecret for git auth.

Remove password-store from service, manage manually. Considering
switch to proton pass anyway.

Copy gpg and gpg-agent config to emacs/default.nix in case I switch
away from password-store.
2024-10-05 12:38:24 +01:00
Evie Litherland-Smith 4f226084d0 Move teams and nomachine to default install rather than work only 2024-10-03 08:47:43 +01:00
Evie Litherland-Smith 27777cef04 Add prusa-slicer back to Vanguard 2024-10-03 08:27:22 +01:00
Evie Litherland-Smith adbf4e8538 Add some more applications to pinned launchers 2024-10-02 16:16:05 +01:00
Evie Litherland-Smith ad15a34ebf Delete unused plasma files 2024-10-02 16:06:19 +01:00
Evie Litherland-Smith f5b7b406ed Remove MPV 2024-10-02 09:56:49 +01:00
Evie Litherland-Smith e432a02a58 Update nixpkgs 2024-10-02 08:37:33 +01:00
Evie Litherland-Smith e11ac75e69 Add sync-all shellAliase 2024-10-02 08:13:07 +01:00
Evie Litherland-Smith 2c873783d2 Switch Qt style to breeze 2024-10-02 08:08:55 +01:00
Evie Litherland-Smith 94018dba5a Revert "Don't autostart twinkle or teams"
This reverts commit 84f0d90de1.
2024-10-01 09:30:15 +01:00
Evie Litherland-Smith 02c5522870 Swap prusa-slicer for orca-slicer 2024-09-30 21:36:44 +01:00
Evie Litherland-Smith d025ce493a Remove WhatsApp Web from bookmarks 2024-09-30 13:17:27 +01:00
Evie Litherland-Smith 34ea27db26 Merge plasma config into desktop.nix
Remove sway, some misc cleanup as well
2024-09-30 11:52:26 +01:00
Evie Litherland-Smith d81b038001 Remove zathura, update mimeapps
Remove some left over sway-specific mime entries
2024-09-30 11:28:59 +01:00
Evie Litherland-Smith 2eba010954 Disable autologin for plasma
Means kwallet is unlocked at login so no issues with startup programs
2024-09-30 08:19:29 +01:00
Evie Litherland-Smith d609b3116a Wrap protonmail-bridge-gui to force ignoring password-store 2024-09-30 08:11:31 +01:00
Evie Litherland-Smith bb2c14b964 Remove no-allow-external-cache config from gpg-agent 2024-09-29 17:05:30 +01:00
Evie Litherland-Smith a6a900cfab Fix that annoying GTK plasma file issue... 2024-09-29 16:39:13 +01:00
Evie Litherland-Smith b8f899b854 Switch plasma back to single panel 2024-09-29 16:38:56 +01:00
Evie Litherland-Smith 196638a46b Fix xandikos config and enable for Legion 2024-09-29 12:36:58 +01:00
Evie Litherland-Smith bfc53dcb8a Fix setting secret service API for kwallet 2024-09-29 12:29:18 +01:00
Evie Litherland-Smith 9421a6ddab Disable passSecretService, re-enable kwallet 2024-09-29 11:31:35 +01:00
Evie Litherland-Smith 1ec38f94c8 Add calendar configuration
Use vdirsyncer to sync with xandikos server. Add khal for calendar
management.
2024-09-29 11:28:52 +01:00
Evie Litherland-Smith 69a0e81d5c Remove radicale, add xandikos as replacement 2024-09-29 10:49:10 +01:00
Evie Litherland-Smith e8065469c3 Remove kanshi from laptops 2024-09-28 11:54:10 +01:00
Evie Litherland-Smith c9d108f75a Remove OBS from pinned applications 2024-09-28 11:53:15 +01:00
Evie Litherland-Smith c03f88dbc3 Add clean-config script
Removes all entries in ~/.config except a specified few
2024-09-28 10:27:12 +01:00
Evie Litherland-Smith 38c8683364 Fix pinned programs 2024-09-28 10:06:03 +01:00
Evie Litherland-Smith c2d70d7d38 Remove cava 2024-09-28 09:58:49 +01:00
Evie Litherland-Smith f03ab8a7dd Change default gtk2 config location to avoid clash with KDE plasma
Add Qt theme tweaks
2024-09-28 09:55:24 +01:00
Evie Litherland-Smith b880d1bd57 Fix mangohud config definition 2024-09-28 09:55:12 +01:00
Evie Litherland-Smith ac76905fb9 Add some more mangohud config
Add commented-out placeholder config for colours
2024-09-28 08:42:40 +01:00
Evie Litherland-Smith 4fa7183e74 Add MangoHud config file 2024-09-28 08:23:48 +01:00
Evie Litherland-Smith ef2923fcd4 Enable mangohud on Vanguard by default (Vulkan only)
Remove steamscope script
2024-09-28 08:19:58 +01:00
Evie Litherland-Smith 94a6b678ab Add more pinned applications to icontasks 2024-09-28 07:27:12 +01:00
Evie Litherland-Smith 3566286262 Add chromium argument to use libsecret password store 2024-09-28 07:15:38 +01:00
Evie Litherland-Smith f7d8a39e7b Don't show top panel on all screens 2024-09-28 07:09:22 +01:00
Evie Litherland-Smith f1fadf0cef Increase height of dock panel 2024-09-28 07:08:37 +01:00
Evie Litherland-Smith d68dee3133 Set download-buffer-size to larger than default 2024-09-28 06:23:24 +01:00
Evie Litherland-Smith 3ed4f45d84 Split KDE panels in 2 again
Move "main" panel to top of screen. Split kickoff and tasks to
separate, window-dodging panel at bottom of screen.

Swap kicker back for kickoff to remove that weird spacing issue for
the icon.
2024-09-28 06:12:37 +01:00
Evie Litherland-Smith b7c74a484b Switch back to plasma (again)
Add plasma-manager back, disable stylix theming for KDE in favour of
plasma-manager options.

Reorganise some config - move GTK settings up to desktop.nix since
they're relevant to anything, move xdg portal config into sway only
since plasma sets up it's own.

Move xarchiver to sway only, using ark on plasma.

Add protonmail-bridge-gui for plasma, set to autostart
2024-09-27 16:19:42 +01:00
Evie Litherland-Smith c14cad8d9f Don't import plasma by default (desktop.nix) 2024-09-27 13:24:22 +01:00
Evie Litherland-Smith 506163ff37 Customise plasma config to disable things set by stylix
Split system-level sway config to separate file, imported by
system/desktop.nix, and add plasma.nix at the same level
2024-09-27 11:41:52 +01:00
Evie Litherland-Smith 73799275ba Revert "Remove plasma config"
This reverts commit b87d93c767.
2024-09-27 11:24:16 +01:00
Evie Litherland-Smith 6dfa63cff6 Add Iosevka Etoile to configured fonts
Clean up font config as bit as well.

Add my nix cache to nix config substituters as well as flake hinting.

Add distrobox package.
2024-09-27 10:20:53 +01:00
Evie Litherland-Smith 978ba8a187 Merge branch 'main' of https://git.xenia.me.uk/pixelifytica/nixos 2024-09-25 09:11:24 +01:00
Evie Litherland-Smith 43f72ee381 Update Iosevka custom font 2024-09-25 09:11:22 +01:00
Evie Litherland-Smith 45d223f3ff Merge branch 'main' of https://git.xenia.me.uk/pixelifytica/nixos 2024-09-24 13:13:51 +01:00
Evie Litherland-Smith 84f0d90de1 Don't autostart twinkle or teams 2024-09-24 13:13:41 +01:00
Evie Litherland-Smith 70d06a3ac6 Merge branch 'main' of https://git.xenia.me.uk/pixelifytica/nixos 2024-09-24 07:45:29 +01:00
Evie Litherland-Smith a1a9c771bb Re-add cava (music visualiser) 2024-09-24 07:33:18 +01:00
Evie Litherland-Smith 6ee132ac99 Autostart twinkle on work machines 2024-09-23 13:32:59 +01:00
Evie Litherland-Smith 92eaf64968 Add TOML plugin for Prettier 2024-09-23 10:17:24 +01:00
Evie Litherland-Smith 4e838e1f24 Remove uv, eslint and typescript-language-server 2024-09-23 10:12:04 +01:00
Evie Litherland-Smith f0cc8f366b flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/e1391fb22e18a36f57e6999c7a9f966dc80ac073?narHash=sha256-A0vrUB6x82/jvf17qPCpxaM%2BulJnD8YZwH9Ci0BsAzE%3D' (2024-07-03)
  → 'github:nix-community/home-manager/2f23fa308a7c067e52dfcc30a0758f47043ec176?narHash=sha256-Vl%2BWVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM%3D' (2024-09-22)
• Updated input 'nix-index-database':
    'github:nix-community/nix-index-database/32058e9138248874773630c846563b1a78ee7a5b?narHash=sha256-WfAHq3Ag3vLNFfWxKHjFBFdPI6JIideWFJod9mx1eoo%3D' (2024-09-01)
  → 'github:nix-community/nix-index-database/c7515c2fdaf2e1f3f49856cef6cec95bb2138417?narHash=sha256-bPDZosnom0%2B02ywmMZAvmj7zvsQ6mVv/5kmvSgbTkaY%3D' (2024-09-22)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/6f6c45b5134a8ee2e465164811e451dcb5ad86e3?narHash=sha256-tiN5Rlg/jiY0tyky%2BsoJZoRzLKbPyIdlQ77xVgREDNM%3D' (2024-09-03)
  → 'github:nixos/nixpkgs/944b2aea7f0a2d7c79f72468106bc5510cbf5101?narHash=sha256-NmcVhGElxDbmEWzgXsyAjlRhUus/nEqPC5So7BOJLUM%3D' (2024-09-20)
• Updated input 'stylix':
    'github:danth/stylix/149b313ddf91c3cc94309170498b162cec666675?narHash=sha256-fieyqmLEJQqqnuJcg2CAnQ8kHapXHhg9rL48NNWjnPw%3D' (2024-09-16)
  → 'github:danth/stylix/53bcceb4e46d0b3e8ae6434a7a6bcc3463092093?narHash=sha256-pGRPVVm7UXf%2Bfx2NVpH6FFSWR9AynG6eoVlagaqH9i4%3D' (2024-09-20)
• Updated input 'stylix/base16-helix':
    'github:tinted-theming/base16-helix/34f41987bec14c0f3f6b2155c19787b1f6489625?narHash=sha256-numb3xigRGnr/deF7wdjBwVg7fpbTH7reFDkJ75AJkY%3D' (2024-07-12)
  → 'github:tinted-theming/base16-helix/7f795bf75d38e0eea9fed287264067ca187b88a9?narHash=sha256-Z2o8VBPW3I%2BKKTSfe25kskz0EUj7MpUh8u355Z1nVsU%3D' (2024-09-09)
2024-09-23 07:28:54 +01:00
Evie Litherland-Smith f9fa256904 Add nixos-upgrade alias 2024-09-22 11:48:04 +01:00
Evie Litherland-Smith fa8c2126f8 Move shellAliases definition from scripts -> shell 2024-09-22 11:47:34 +01:00
Evie Litherland-Smith ead63d4d21 Move alacritty into own file in terminal directory
Move teams to only be installed/configured on work machines

Install nomachine-client on work machines, issues with flatpak version
2024-09-22 11:45:47 +01:00
Evie Litherland-Smith b87d93c767 Remove plasma config 2024-09-22 11:45:36 +01:00
Evie Litherland-Smith 3e15c478eb Add shellAliases back
Add alias to start and stop protonvpn (wg-quick)
2024-09-22 11:30:15 +01:00
Evie Litherland-Smith 62bbd80c86 Vanguard: assign workspace 6 to right monitor by default 2024-09-22 10:44:10 +01:00
Evie Litherland-Smith 8b70ab45f3 Add zsh back, remove nushell 2024-09-22 10:43:40 +01:00
Evie Litherland-Smith 88f30b16aa Add whatsapp-for-linux back 2024-09-22 10:12:34 +01:00
Evie Litherland-Smith 8f1c19f87c Force output resolution in steamscope script, enable mangohud 2024-09-22 07:27:25 +01:00
Evie Litherland-Smith c957e570e2 Add initial config file for swappy
Change default save directory to ~/Pictures/Screenshots, otherwise
kept as default for now
2024-09-21 08:49:20 +01:00
Evie Litherland-Smith da5183ecab Switch GNOME FileRoller for Xarchiver 2024-09-21 08:32:38 +01:00
Evie Litherland-Smith 3d0b106594 Actually remove fish this time 2024-09-21 08:32:20 +01:00
Evie Litherland-Smith ff60c97573 Steamscope use fullscreen and gamepadui again 2024-09-21 07:32:04 +01:00
Evie Litherland-Smith 0d8bc81ef2 Fix thunar archiving - added FileRoller to mimeapps
Remove Teams waybar rewrite due to buggy behaviour
2024-09-21 07:05:07 +01:00
Evie Litherland-Smith 9bef3a3f11 Remove shellAliases 2024-09-21 05:49:48 +01:00
Evie Litherland-Smith 84be0592ab Rename git-sync-all -> gsync 2024-09-21 05:47:49 +01:00
Evie Litherland-Smith 465bfc101d Add carapace completion, remove fish and zsh 2024-09-21 05:46:36 +01:00
Evie Litherland-Smith c4cff3085e Add swappy, sway bind for screenshot 2024-09-21 05:46:19 +01:00
Evie Litherland-Smith 24479dcb8e Enable permanent indicator for swaylockfx 2024-09-20 15:00:07 +01:00
Evie Litherland-Smith f2cc1e5d82 Switch default interactive shell for nushell 2024-09-20 14:59:59 +01:00
Evie Litherland-Smith 9dec8a9556 Add workspace output assign for Tone 2024-09-20 14:59:45 +01:00
Evie Litherland-Smith ebf727ed43 Swap swaylock back for swaylock-effects
Use swaylockfx wrapper to invoke as this keeps compatibility with
stylix customisations
2024-09-20 10:32:23 +01:00
Evie Litherland-Smith 406e0972e1 Vanguard: disable adaptive_sync by default
Update steamscope script to temporarily remove scaling and enable
adaptive_sync, run steam, and revert when steam closes
2024-09-20 10:17:32 +01:00
Evie Litherland-Smith dc61c48d41 Add x2goclient to desktop config 2024-09-20 09:46:44 +01:00
Evie Litherland-Smith 39aa431b1d Remove base16.nix and tt-schemes from flake inputs
Use pkgs.base16-schemes instead of external flake input
2024-09-20 08:41:00 +01:00
Evie Litherland-Smith 522f2fa91c Move fonts into stylix config, disable stylix waybar
Remove fonts and scheme from base system, update uses of to point to
stylix instead.

Remove some left over files from the earlier rearrange.

Disable waybar stylix target - TODO write a custom moustache at some
point to re-enable with my custom style
2024-09-20 08:33:10 +01:00
Evie Litherland-Smith 7e2ab5a640 Merge branch 'main' into stylix 2024-09-20 07:41:50 +01:00
Evie Litherland-Smith 4699339db3 Add display scaling back to laptops 2024-09-20 07:41:20 +01:00
Evie Litherland-Smith ce9a35440c Remove PrusaSlicer from Northstar 2024-09-20 07:30:06 +01:00
Evie Litherland-Smith 797b33c4cf Add JET dashboard to bookmarks.json 2024-09-19 10:21:12 +01:00
Evie Litherland-Smith 56faa94663 Sway: fix swaylock bind 2024-09-19 08:06:20 +01:00
Evie Litherland-Smith 2ac1d1a63e Initial changes to add stylix again
Add stylix with theme, font and image configuration.

Change all relevant (current) options to that nix evaluates without
error, not fully tested yet though.

Remove plasma manager and associated components.

Condensed some files - remove some standalone files for packages with
much smaller configuration now that they're not being manually themed.
2024-09-19 08:05:48 +01:00
Evie Litherland-Smith 2da141afe7 Swap evince for zathura (PDF viewer)
Add zathura with some initial config, colour scheme is currently
incomplete but placeholder comments in place for required keys.

Don't autostart twinkle on work machines, some issue with detected
ALSA source/sink.
2024-09-18 15:05:51 +01:00
Evie Litherland-Smith 52130c59cc Add home monitors to Ronin config
Add monitor mode and scale to sway config, add extra profile for
kanshi for home configuration.
2024-09-18 11:34:19 +01:00
Evie Litherland-Smith fe2a105c4e Adjust opacity of desktop elements, add zellij
Change opacity of desktop components to that floating / pop-up windows
are translucent, and base windows are opaque.

Add zellij back (with config), but not starting by default. Add zellij
config directory to rsync-local-config script.
2024-09-18 11:18:08 +01:00
Evie Litherland-Smith 0b8ca9ea5a Fetch work VPN passwords from password-store, pass to openfortivpn 2024-09-18 10:25:59 +01:00
Evie Litherland-Smith 597cbe82ee Add fractional scaling back to Vanguard monitor 2024-09-18 10:13:50 +01:00
Evie Litherland-Smith 176e4be1e3 Update styling for waybar battery module
Add colours based on state (low, critical, charging)

Increase module verbosity with lower battery, add time estimate when charging

Add power draw to tooltip format
2024-09-18 07:52:35 +01:00
Evie Litherland-Smith f17c2cb5a6 Add low-battery notification script
Add acpi to laptop.nix for low-battery script
2024-09-18 07:27:22 +01:00
Evie Litherland-Smith 1863ef4f77 Tweak font sizes 2024-09-17 15:49:36 +01:00
Evie Litherland-Smith 52621fb997 Remove most uses of fractional scaling
Only keep scaling for work 4K monitor.

Increase font sizes across the board for better usability.
2024-09-17 14:20:24 +01:00
Evie Litherland-Smith 51b81c2d3c Remove most uses of fractional scaling
Only keep scaling for work 4K monitor.

Increase font sizes across the board for better usability.
2024-09-17 14:20:11 +01:00
Evie Litherland-Smith 74c9d012c9 Base waybar font size on global popup sizes 2024-09-17 14:18:36 +01:00
Evie Litherland-Smith 5d98b1c431 Increase Mako notification box sizes 2024-09-17 14:13:57 +01:00
Evie Litherland-Smith 38685897eb autoUpgrade: reduce randomizedDelaySec to 5min 2024-09-17 07:27:58 +01:00
Evie Litherland-Smith 3157aba921 Add APS to bookmarks.json 2024-09-16 14:58:51 +01:00
Evie Litherland-Smith 119b106b9b Fix Satisfactory server, ports issue 2024-09-14 19:06:46 +01:00
Evie Litherland-Smith 111d630d18 Remove craft.xenia.me.uk domain from caddy 2024-09-14 12:00:47 +01:00
Evie Litherland-Smith 58291c04d2 Add and enable Satisfactory dedicated server
Add steamcmd to allowed unfree packages
2024-09-14 11:58:03 +01:00
Evie Litherland-Smith 10570b3613 Move gamescope args into steamscope command instead of globally
Use fullscreen with gamepadui as this seems to be most stable
2024-09-14 10:39:35 +01:00
Evie Litherland-Smith 845798c1f4 Update gamescope args and steamscope command 2024-09-14 10:26:29 +01:00
Evie Litherland-Smith 5330283284 Fix waybar rewrite for Prusa programs
Make it work again when no file/project is loaded
2024-09-14 09:45:15 +01:00
Evie Litherland-Smith 3257cdae40 Remove reference to swaylockfx.nix in swayidle config 2024-09-14 09:30:13 +01:00
Evie Litherland-Smith c9b3731026 Swap swaync for mako
Remove separate swaylockfx file, combine in default
2024-09-14 09:27:35 +01:00
Evie Litherland-Smith 9af40b1b40 Northstar: remove amdgpu from initrd 2024-09-13 13:12:48 +01:00
Evie Litherland-Smith 6d386bc6bf Change sync-and-shutdown alias 2024-09-13 13:08:09 +01:00
Evie Litherland-Smith 58f2afdca7 Update PrusaSlicer waybar rewrites
Add MS Teams waybar rewrite
2024-09-13 12:31:51 +01:00
Evie Litherland-Smith 98c2731b21 Add waybar rewrites for PrusaSlicer, FreeCAD and Blender 2024-09-13 12:03:54 +01:00
Evie Litherland-Smith 79c39e49a3 Add thunar, tumbler, file-roller, etc... 2024-09-13 11:49:23 +01:00
Evie Litherland-Smith eea6ae1f75 Vanguard: enable gamemode with args 2024-09-13 11:08:12 +01:00
Evie Litherland-Smith 4ee27f199a Add gcr package for pinentry-gnome3 2024-09-13 11:06:45 +01:00
Evie Litherland-Smith 68ecda8abe Move set-background command 2024-09-13 08:17:00 +01:00
Evie Litherland-Smith 5140a4ed16 Sway start protonmail-bridge at startup 2024-09-13 08:13:56 +01:00
Evie Litherland-Smith 491c952351 Remove protonmail-bridge-gui, using cli again
GUI couldn't detect passSecretService for unknown reason
2024-09-12 09:27:29 +01:00
Evie Litherland-Smith a3809f02f2 Switch back to using passSecretService 2024-09-12 09:17:57 +01:00
Evie Litherland-Smith 8044b416ee Ronin: update kanshi config
Disable laptop screen when docked

Set external screen scale in sway config as well as kanshi to remove
scale flickering
2024-09-12 09:09:13 +01:00
Evie Litherland-Smith d1b76f7f2f Auto upgrade operation from boot -> switch 2024-09-12 09:07:58 +01:00
Evie Litherland-Smith 3fa4a2d051 Add xdg-desktop-portal-gtk back for sway 2024-09-12 07:40:06 +01:00
Evie Litherland-Smith 1829bd267c Adjust waybar layout and sizes
Change colour of MPRIS module to distinguish from sway/window module
2024-09-12 07:32:13 +01:00
Evie Litherland-Smith 887b54a6d8 Add display config for missing devices 2024-09-12 07:12:49 +01:00
Evie Litherland-Smith 3c043c3899 Remove pinentry-gnome3 from packages, set as pinentry option 2024-09-11 15:33:14 +01:00
Evie Litherland-Smith c3c61929e5 Switch back to sway 2024-09-11 15:19:43 +01:00
Evie Litherland-Smith 62411fde69 Add listings package for LaTeX source code highlighting 2024-09-11 11:51:35 +01:00
Evie Litherland-Smith c5a8e93ccc Adjust gaming packages, add mangohud 2024-09-10 08:05:59 +01:00
Evie Litherland-Smith 83719aca03 Plasma: move pager back to single panel 2024-09-10 07:54:09 +01:00
Evie Litherland-Smith e7423aff20 Add prusa-slicer to Northstar 2024-09-08 10:42:10 +01:00
Evie Litherland-Smith 9c2f44f00e Remove KRDC and Tokodon 2024-09-08 10:41:32 +01:00
Evie Litherland-Smith 9c68829010 Add Consent-O-Matic and ClearURLs extensions to Firefox 2024-09-08 07:43:23 +01:00
Evie Litherland-Smith fb643e6a4f Plasma: pager widget autohide instead of dodgewindows 2024-09-07 08:49:05 +01:00
Evie Litherland-Smith 4e650e176b Switch to using ~/.config/emacs/ instead of ~/.emacs.d/ for Emacs config 2024-09-07 08:17:51 +01:00
Evie Litherland-Smith 3fd4dda8db Add Patreon to bookmarks 2024-09-06 16:21:38 +01:00
Evie Litherland-Smith d10ca77379 Remove TinkerCAD from bookmarks 2024-09-06 16:17:33 +01:00
Evie Litherland-Smith c148c63b7c Add WhatsApp and Home Assistant to bookmarks 2024-09-06 16:14:00 +01:00
Evie Litherland-Smith 0dcb913fa7 Move pager to separate panel at top of screen
Move icontasks to centre of bottom panel

Remove custom terminal keybind, use built-in plasma bind for konsole
2024-09-06 14:25:28 +01:00
Evie Litherland-Smith 9e9f6dee5f Remove Ferdium
Move teams config back in-line, remove config directory
2024-09-06 14:07:46 +01:00
Evie Litherland-Smith 640341cc76 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/6e99f2a27d600612004fbd2c3282d614bfee6421?narHash=sha256-eV%2B63gK0Mp7ygCR0Oy4yIYSNcum2VQwnZamHxYTNi%2BM%3D' (2024-08-30)
  → 'github:nixos/nixpkgs/6f6c45b5134a8ee2e465164811e451dcb5ad86e3?narHash=sha256-tiN5Rlg/jiY0tyky%2BsoJZoRzLKbPyIdlQ77xVgREDNM%3D' (2024-09-03)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/5c97fe8af2a2e561f14195ed357d8c451fdbff4c?narHash=sha256-gPR3sxkKxISUvydnqoj54znpUkK8av/HVFuFJuYUw3w%3D' (2024-08-25)
  → 'github:nix-community/plasma-manager/b82b9ba85c156a5e7f865cc94ed2a4df20cbbf39?narHash=sha256-1e9zB0dMRwdAbhxVATlL25rExMDh4gZ/3AXdkpU8408%3D' (2024-09-05)
• Updated input 'tt-schemes':
    'github:tinted-theming/schemes/43294f13504020b879723fa7a00a0abd39b18cc3?narHash=sha256-spz4qmUaejGLB6k/RKc7k%2BunbNogedwdQv5yBoL3ThA%3D' (2024-08-28)
  → 'github:tinted-theming/schemes/992b6c372a00e284a7dc26b19a0d11b7afcba1f1?narHash=sha256-XOxESrzdIpcYMLS%2Bs4D16M4c8gAk3sLyAQUvsb%2BlQLk%3D' (2024-09-02)
2024-09-06 08:23:38 +01:00
Evie Litherland-Smith b165e4471c Set Ferdium to start in background again
Remove some programs from autostarting
2024-09-02 08:33:16 +01:00
Evie Litherland-Smith 39665e6c41 Starship: don't add newline since it looks weird with transience 2024-09-01 19:28:02 +01:00
Evie Litherland-Smith 97407ea5eb Adjust Alacritty to also use fish, in case I switch back 2024-09-01 13:16:24 +01:00
Evie Litherland-Smith 41ead51c95 Update some starship icons 2024-09-01 13:13:15 +01:00
Evie Litherland-Smith f151b3deb1 Fix duplicating "enable_transience" for fish
Starship enables fish transience automatically if it's transience is
enabled, duplicated call was causing errors

Remove obsolete fish.nix
2024-09-01 13:09:30 +01:00
Evie Litherland-Smith 624f347928 Fix typo in Konsole command definition 2024-09-01 13:09:16 +01:00
Evie Litherland-Smith 1e3bbe954e Login shell updates
Fix login shell to bash, remove passthrough.

Set Konsole default command to launch fish, for use as interactive
shell without potential issues that come from being the login shell

Move some configured shell utilities to their own files in shell
directory, stop importing zsh config (replaced by fish)
2024-09-01 12:58:42 +01:00
Evie Litherland-Smith 8c5c6ee528 Move Emacs from default.nix -> desktop.nix
Remove Alacritty, use Konsole instead since already configured for
Yakuake
2024-09-01 08:08:11 +01:00
Evie Litherland-Smith 49601ec3c2 flake.lock: Update
Flake lock file updates:

• Updated input 'nix-index-database':
    'github:nix-community/nix-index-database/e333d62b70b179da1dd78d94315e8a390f2d12e5?narHash=sha256-uM7n5nNL6fmA0bwMJBNll11f4cMWOFa2Ni6F5KeIldM%3D' (2024-08-25)
  → 'github:nix-community/nix-index-database/32058e9138248874773630c846563b1a78ee7a5b?narHash=sha256-WfAHq3Ag3vLNFfWxKHjFBFdPI6JIideWFJod9mx1eoo%3D' (2024-09-01)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/2527da1ef492c495d5391f3bcf9c1dd9f4514e32?narHash=sha256-XROVLf9ti4rrNCFLr%2BDmXRZtPjCQTW4cYy59owTEmxk%3D' (2024-08-24)
  → 'github:nixos/nixpkgs/6e99f2a27d600612004fbd2c3282d614bfee6421?narHash=sha256-eV%2B63gK0Mp7ygCR0Oy4yIYSNcum2VQwnZamHxYTNi%2BM%3D' (2024-08-30)
• Updated input 'tt-schemes':
    'github:tinted-theming/schemes/b287eeabc4f1f63980dbd6f7c6b8593638c0b941?narHash=sha256-r0mHdIreBmEFCoW5lVwFdVMb9MG6pa0vvcO91fOwKg4%3D' (2024-08-26)
  → 'github:tinted-theming/schemes/43294f13504020b879723fa7a00a0abd39b18cc3?narHash=sha256-spz4qmUaejGLB6k/RKc7k%2BunbNogedwdQv5yBoL3ThA%3D' (2024-08-28)
2024-09-01 08:03:07 +01:00
Evie Litherland-Smith b8914a9362 Swap KDE kickoff for kicker, nicer interface
Add panelspacers to centre pager widget
2024-09-01 08:01:44 +01:00
Evie Litherland-Smith 03e897ef79 Adjust ferdium config
Don't run in background, but keep system tray active
2024-09-01 08:01:20 +01:00
Evie Litherland-Smith 5519aecd71 Fix Ferdium setting download folder correctly based on user 2024-08-30 13:22:56 +01:00
Evie Litherland-Smith 5ff572a9b7 Major rewrite/refactor to simplify things
Move home/ directory under system/ directory. Remove duplicated
machine-specific config files, now handled as one per host (excluding
hardware-configuration directory)

Move as much configuration as possible out of flake.nix and into more
appropriate files (e.g. system/default.nix)

Add a desktop.nix and laptop.nix for system, both will import
home/desktop.nix and home/laptop.nix respectively to reduce
duplication in machine-specific config files

Remove games and streaming directories, moved directly into Vanguard
config file

Remove home/personal.nix since it ended up being empty after changes

Remove old sway config since I haven't been maintaining it and this
refactor will definitely break it
2024-08-30 12:57:02 +01:00
Evie Litherland-Smith 90bd505fbb Don't install librewolf by default
Remove nyxt and librewolf from browser mimeapps
2024-08-30 11:04:07 +01:00
Evie Litherland-Smith 88a4291f65 Bring back steam autostart using osConfig 2024-08-30 11:03:00 +01:00
Evie Litherland-Smith 00f3bed407 Vanguard: remove steam autostart 2024-08-30 07:02:56 +01:00
Evie Litherland-Smith bb0407d1e2 Move krita to Vanguard only
Move yakuake autostart to plasma config

Fix (hopefully) steam autostart on Vanguard
2024-08-30 06:29:53 +01:00
Evie Litherland-Smith 97b772af65 yakuake KeepOpen -> true 2024-08-30 05:48:44 +01:00
Evie Litherland-Smith 9aebfab3c6 Add winetricks and dxvk to lutris extra packages 2024-08-29 15:35:08 +01:00
Evie Litherland-Smith a4e7691d3a Only install prusa-slicer on Vanguard 2024-08-29 10:35:08 +01:00
Evie Litherland-Smith d519351810 Autostart steam and webcord on Vanguard 2024-08-29 08:10:50 +01:00
Evie Litherland-Smith 78bad9a802 Enable mbsync service 2024-08-28 08:23:16 +01:00
Evie Litherland-Smith d5e3e49284 flake.lock: Update
Flake lock file updates:

• Updated input 'nix-index-database':
    'github:nix-community/nix-index-database/392828aafbed62a6ea6ccab13728df2e67481805?narHash=sha256-dHMkGjwwCGj0c2MKyCjRXVBXq2Sz3TWbbM23AS7/5Hc%3D' (2024-08-18)
  → 'github:nix-community/nix-index-database/e333d62b70b179da1dd78d94315e8a390f2d12e5?narHash=sha256-uM7n5nNL6fmA0bwMJBNll11f4cMWOFa2Ni6F5KeIldM%3D' (2024-08-25)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/c42fcfbdfeae23e68fc520f9182dde9f38ad1890?narHash=sha256-9tUadhnZQbWIiYVXH8ncfGXGvkNq3Hag4RCBEMUk7MI%3D' (2024-08-17)
  → 'github:nixos/nixpkgs/2527da1ef492c495d5391f3bcf9c1dd9f4514e32?narHash=sha256-XROVLf9ti4rrNCFLr%2BDmXRZtPjCQTW4cYy59owTEmxk%3D' (2024-08-24)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/ae3fc24da9e25a41bf9f30c1719f613bdc7a10b0?narHash=sha256-W1dzhPrY7cYlhoqAQEyk%2BtSe1RDluMUGMO0agGEh%2Bsk%3D' (2024-08-19)
  → 'github:nix-community/plasma-manager/5c97fe8af2a2e561f14195ed357d8c451fdbff4c?narHash=sha256-gPR3sxkKxISUvydnqoj54znpUkK8av/HVFuFJuYUw3w%3D' (2024-08-25)
• Updated input 'tt-schemes':
    'github:tinted-theming/schemes/ef9a4c3c384624694608adebf0993d7a3bed3cf2?narHash=sha256-9i9IjZcjvinb/214x5YShUDBZBC2189HYs26uGy/Hck%3D' (2024-06-21)
  → 'github:tinted-theming/schemes/b287eeabc4f1f63980dbd6f7c6b8593638c0b941?narHash=sha256-r0mHdIreBmEFCoW5lVwFdVMb9MG6pa0vvcO91fOwKg4%3D' (2024-08-26)
2024-08-27 16:18:03 +01:00
Evie Litherland-Smith b8a53463aa Add TouchTerrain and Touch Mapper to bookmarks 2024-08-26 12:19:40 +01:00
Evie Litherland-Smith 637c0ea658 Move ktorrent and CAD/modelling programs to Vanguard only 2024-08-26 12:18:00 +01:00
Evie Litherland-Smith 1660d57678 Add webcord back 2024-08-25 20:30:58 +01:00
Evie Litherland-Smith 6606da7db7 Tweak power settings and timings
When sleeping enter standby then hibernate

Default autoSuspend action still sleep, except low power which is
direct to hibernate

Reduce idle times for battery and lower power settings
2024-08-25 06:35:15 +01:00
Evie Litherland-Smith cf65c7ddad Add Ferdium back but don't replace teams this time
Use for home-assistant, discord and whatsapp currently
2024-08-24 08:08:55 +01:00
Evie Litherland-Smith 5fa7177069 Plasma: move task manager back to left of panel 2024-08-24 06:55:38 +01:00
Evie Litherland-Smith b28339e207 Autostart Teams and Twinkle on all work devices by default 2024-08-23 14:04:53 +01:00
Evie Litherland-Smith a42152b918 Customise yakuakerc
Set sizes, disable title bar and system tray icon
2024-08-23 14:03:49 +01:00
Evie Litherland-Smith 94c0961cb0 Limit resources for nixos-upgrade systemd service 2024-08-23 10:49:58 +01:00
Evie Litherland-Smith 2231dc65a9 Reduce autoUpgrade randomizedDelaySec 2024-08-23 10:29:51 +01:00
Evie Litherland-Smith 0a4900b465 Remove inkscape 2024-08-23 09:46:49 +01:00
Evie Litherland-Smith a928f593f4 Move pager to left of panel for more symmetry 2024-08-23 09:23:36 +01:00
Evie Litherland-Smith 49876c5711 Add flathub setup to Makefile 2024-08-23 07:07:25 +01:00
Evie Litherland-Smith f12b5cc52d Add panelspacers to centre app icons 2024-08-22 11:18:36 +01:00
Evie Litherland-Smith e58fedadb5 Remove autostart for whatsapp 2024-08-22 10:43:48 +01:00
Evie Litherland-Smith dac288a31f Revert "Switch separate chat apps for using Ferdium instead"
This reverts commit ecdc7814db.
2024-08-22 10:43:03 +01:00
Evie Litherland-Smith ac98bc505c Fix missing withHashtag in Ferdium theming 2024-08-22 07:34:14 +01:00
Evie Litherland-Smith ecdc7814db Switch separate chat apps for using Ferdium instead 2024-08-22 07:20:12 +01:00
Evie Litherland-Smith 689cd0c14d esync: update submodules to get external packages 2024-08-22 07:11:47 +01:00
Evie Litherland-Smith e7d8d40070 Switch libreoffice for libreoffice-qt 2024-08-22 06:57:50 +01:00
Evie Litherland-Smith 4df433a29a Makefile build use one job by default 2024-08-22 06:55:58 +01:00
Evie Litherland-Smith 5192d3a07f Move Emacs syncing from git-sync-all to separate script (esync.sh) 2024-08-22 06:55:41 +01:00
Evie Litherland-Smith 83d362bba2 flake.lock: Update
Flake lock file updates:

• Updated input 'nix-index-database':
    'github:nix-community/nix-index-database/ec78079a904d7d55e81a0468d764d0fffb50ac06?narHash=sha256-WTIrvp0yV8ODd6lxAq4F7EbrPQv0gscBnyfn559c3k8%3D' (2024-08-11)
  → 'github:nix-community/nix-index-database/392828aafbed62a6ea6ccab13728df2e67481805?narHash=sha256-dHMkGjwwCGj0c2MKyCjRXVBXq2Sz3TWbbM23AS7/5Hc%3D' (2024-08-18)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/a781ff33ae258bbcfd4ed6e673860c3e923bf2cc?narHash=sha256-oTK91aOlA/4IsjNAZGMEBz7Sq1zBS0Ltu4/nIQdYDOg%3D' (2024-08-10)
  → 'github:nixos/nixpkgs/c42fcfbdfeae23e68fc520f9182dde9f38ad1890?narHash=sha256-9tUadhnZQbWIiYVXH8ncfGXGvkNq3Hag4RCBEMUk7MI%3D' (2024-08-17)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/f843f4258eea57c5ba60f6ce1d96d12d6494b56e?narHash=sha256-nX/aloqD8ZHcuPS7sk7fx1txTaXCi%2Bo6iYm0mIX4uIE%3D' (2024-08-11)
  → 'github:nix-community/plasma-manager/ae3fc24da9e25a41bf9f30c1719f613bdc7a10b0?narHash=sha256-W1dzhPrY7cYlhoqAQEyk%2BtSe1RDluMUGMO0agGEh%2Bsk%3D' (2024-08-19)
2024-08-20 05:43:25 +01:00
Evie Litherland-Smith c76d5497f3 Remove freetube 2024-08-20 05:42:51 +01:00
Evie Litherland-Smith eba012003c Add shellAliases to sync and either shutdown or reboot 2024-08-19 07:13:46 +01:00
Evie Litherland-Smith 1ea8fb989c Autostart Signal and WhatsApp on all devices by default 2024-08-18 07:22:53 +01:00
Evie Litherland-Smith e86471b2f7 Add freecad 2024-08-18 07:22:44 +01:00
Evie Litherland-Smith 0ce9655e34 Add FreeTube (YouTube client)
Don't autostart webcord on Vanguard
2024-08-17 11:23:05 +01:00
Evie Litherland-Smith 65e901cba8 Remove Forwardx11trusted from Freia and Heimdall 2024-08-16 09:19:31 +01:00
Evie Litherland-Smith db9b07fec1 Add bookmark for Ivanti (new helpdesk software) 2024-08-15 10:03:53 +01:00
Evie Litherland-Smith 30cb30e633 starship switch back to nerd-font symbol config 2024-08-12 11:23:22 +01:00
Evie Litherland-Smith 60c8bc6f73 Merge branch 'main' of https://git.xenia.me.uk/pixelifytica/nixos 2024-08-12 10:38:26 +01:00
Evie Litherland-Smith ca2875989c Add yakuake drop-down terminal emulator
Set to autostart, set config file so it doesn't do the first run
dialog popup
2024-08-12 10:38:02 +01:00
Evie Litherland-Smith 1f2ea847f5 flake.lock: Update
Flake lock file updates:

• Updated input 'nix-index-database':
    'github:nix-community/nix-index-database/97ca0a0fca0391de835f57e44f369a283e37890f?narHash=sha256-UQPgA5d8azLZuDHZMPmvDszhuKF1Ek89SrTRtqsQ4Ss%3D' (2024-08-04)
  → 'github:nix-community/nix-index-database/ec78079a904d7d55e81a0468d764d0fffb50ac06?narHash=sha256-WTIrvp0yV8ODd6lxAq4F7EbrPQv0gscBnyfn559c3k8%3D' (2024-08-11)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/a633d89c6dc9a2a8aae11813a62d7c58b2c0cc51?narHash=sha256-IRiJA0NVAoyaZeKZluwfb2DoTpBAj%2BFLI0KfybBeDU0%3D' (2024-08-03)
  → 'github:nixos/nixpkgs/a781ff33ae258bbcfd4ed6e673860c3e923bf2cc?narHash=sha256-oTK91aOlA/4IsjNAZGMEBz7Sq1zBS0Ltu4/nIQdYDOg%3D' (2024-08-10)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/61d9342fb471cd3c45a047406428fba7b6fb49ad?narHash=sha256-l6N3QaiDqN2QmHDAxjczQPLPCTv%2BKp7PsrtJBltmhTo%3D' (2024-08-04)
  → 'github:nix-community/plasma-manager/f843f4258eea57c5ba60f6ce1d96d12d6494b56e?narHash=sha256-nX/aloqD8ZHcuPS7sk7fx1txTaXCi%2Bo6iYm0mIX4uIE%3D' (2024-08-11)
2024-08-12 07:18:04 +01:00
Evie Litherland-Smith 7ff414d94c Pin filemanager to launcher, since terminal has dedicated bind anyway 2024-08-10 07:05:08 +01:00
Evie Litherland-Smith 0c34ee43b2 Plasma panel back to normalpanel instead of dodgewindows 2024-08-09 09:23:16 +01:00
Evie Litherland-Smith 3dabf7f773 Plasma: use default delay focus interval 2024-08-08 09:05:08 +01:00
Evie Litherland-Smith a407c49d2c Back to single main plasma panel 2024-08-07 18:08:04 +01:00
Evie Litherland-Smith 5847e9f39f Let nix install emacsql-sqlite so that binary is found 2024-08-07 17:30:12 +01:00
Evie Litherland-Smith 9e1b8af269 Digital clock show seconds true -> "always" 2024-08-07 13:19:55 +01:00
Evie Litherland-Smith 863843909c Split default plasma panel into 2; top status and bottom launcher 2024-08-07 13:18:07 +01:00
Evie Litherland-Smith 4005eff6ac Temp comment out input.touchpads
Some issue with a missing library, perhaps a nixpkgs mismatch issue?
2024-08-07 11:52:38 +01:00
Evie Litherland-Smith e90f94a30d Actually disable autoLogin this time? 2024-08-07 10:07:37 +01:00
Evie Litherland-Smith f902d25011 Add power management config to plasma-manager
Remove delay on mouse hover focus
2024-08-06 16:28:33 +01:00
Evie Litherland-Smith 463ef7e1a3 Firefox: separate titlebar and tabs 2024-08-06 15:50:13 +01:00
Evie Litherland-Smith 8e9986ab12 Use plasma-manager lib for configuring touchpads
Move bluedevilglobalrc config to be machine-specific (bluetooth off at
startup on laptops, on at startup on desktops, only specified if
machine has bluetooth capability)
2024-08-06 15:00:54 +01:00
Evie Litherland-Smith 402a0cf273 Add some krohnkite settings to kwinrc 2024-08-06 14:20:55 +01:00
Evie Litherland-Smith aa20e25568 Add plasma-manager manual to bookmarks.json 2024-08-06 14:20:31 +01:00
Evie Litherland-Smith 34680966eb Add tokodon - Qt Mastodon client 2024-08-06 09:36:06 +01:00
Evie Litherland-Smith 2882227e1c Remove filemanager from pinned launchers 2024-08-06 07:02:55 +01:00
Evie Litherland-Smith 32214f7028 Disable autoLogin since it doesn't unlock kwallet 2024-08-06 06:29:00 +01:00
Evie Litherland-Smith a4b7d0b46b Add kronkite and klassy derivations for testing 2024-08-05 21:38:08 +01:00
Evie Litherland-Smith 36372fa0ba Enable compression and forwardX11Trusted for freia & heimdall 2024-08-05 14:50:09 +01:00
Evie Litherland-Smith 14d8fba769 Enable xserver so X11 forwarding works properly
Enable autoLogin with sddm/plasma

Move some environment variable definitions around
2024-08-05 14:49:37 +01:00
Evie Litherland-Smith 4c4e43845f SSH: change heimdall hostname to JDC address 2024-08-05 13:58:12 +01:00
Evie Litherland-Smith 80430d5aaa Move VPN config location, add JDC VPN config 2024-08-05 13:54:37 +01:00
Evie Litherland-Smith 57e6fbec8e Add Robin room booker to bookmarks.json 2024-08-05 10:08:58 +01:00
Evie Litherland-Smith 21018d8aa2 flake.lock: Update
Flake lock file updates:

• Updated input 'nix-index-database':
    'github:nix-community/nix-index-database/c0ca47e8523b578464014961059999d8eddd4aae?narHash=sha256-x3FmT4QSyK28itMiR5zfYhUrG5nY%2B2dv%2BAIcKfmSp5A%3D' (2024-07-28)
  → 'github:nix-community/nix-index-database/97ca0a0fca0391de835f57e44f369a283e37890f?narHash=sha256-UQPgA5d8azLZuDHZMPmvDszhuKF1Ek89SrTRtqsQ4Ss%3D' (2024-08-04)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/12bf09802d77264e441f48e25459c10c93eada2e?narHash=sha256-sga9SrrPb%2BpQJxG1ttJfMPheZvDOxApFfwXCFO0H9xw%3D' (2024-07-29)
  → 'github:nixos/nixpkgs/a633d89c6dc9a2a8aae11813a62d7c58b2c0cc51?narHash=sha256-IRiJA0NVAoyaZeKZluwfb2DoTpBAj%2BFLI0KfybBeDU0%3D' (2024-08-03)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/110d50c34faaa6f4e268bbcf008db3c26c8f9d00?narHash=sha256-EOf9LC4eSQPJIdtL1PZ3wK7g%2Bo0Sqac83T%2Bhz7twvbc%3D' (2024-07-30)
  → 'github:nix-community/plasma-manager/61d9342fb471cd3c45a047406428fba7b6fb49ad?narHash=sha256-l6N3QaiDqN2QmHDAxjczQPLPCTv%2BKp7PsrtJBltmhTo%3D' (2024-08-04)
2024-08-05 07:15:49 +01:00
Evie Litherland-Smith 20f09d6247 Rename Scorch -> Tone 2024-08-04 10:50:23 +01:00
Evie Litherland-Smith 40c1c35007 Rename Tone -> Ronin 2024-08-04 10:49:21 +01:00
Evie Litherland-Smith 502e723931 Move autostarts out of personal.nix and work.nix
Move to specific machines because I don't want the programs
autostarting on laptops
2024-08-04 10:43:27 +01:00
Evie Litherland-Smith 48570036bf Add back custom launch-terminal bind, remove built-in konsole bind
Rearrange pinned launchers and add preferred browser back to task manager
2024-08-03 08:26:15 +01:00
Evie Litherland-Smith 41251d17f2 Set alacritty as default terminal emulator again 2024-08-02 17:08:53 +01:00
Evie Litherland-Smith 40b7e74d9a Unpin filemanager and browser from task manager 2024-08-02 10:58:39 +01:00
Evie Litherland-Smith b35027e958 Add Nucleus menus page to bookmarks 2024-08-01 16:41:39 +01:00
Evie Litherland-Smith 77d496b897 Add KRDC 2024-08-01 16:41:34 +01:00
Evie Litherland-Smith 749f7b77fe Plasma: enable bluetooth by default 2024-08-01 09:08:21 +01:00
Evie Litherland-Smith 9fd1a670de Move krita to default installed programs 2024-08-01 07:23:08 +01:00
Evie Litherland-Smith 370940b696 Tweak rsync-local-config to reduce nix invocations 2024-07-31 13:51:31 +01:00
Evie Litherland-Smith be7cc86ee2 Autostart ktorrent on Vanguard 2024-07-31 07:03:42 +01:00
Evie Litherland-Smith 017972db19 Add nix-index-database rather than building locally
Use latest nixVersion in stable channel

Update flake inputs
2024-07-31 06:45:32 +01:00
Evie Litherland-Smith 2b655732d5 Enable nix-index package 2024-07-31 06:17:53 +01:00
Evie Litherland-Smith 9b55d10887 Revert accidentally deleted pager entry from panel 2024-07-30 16:48:15 +01:00
Evie Litherland-Smith 6a6d53cff5 Reformat all files using nixfmt 2024-07-30 15:06:34 +01:00
Evie Litherland-Smith 3e357cbe95 Switch nix formatter and lsp
Change formatter alejandra -> nixfmt (new official formatter)
Change LSP nil -> nixd for more features
2024-07-30 15:04:58 +01:00
Evie Litherland-Smith 4f98a8cd93 Add shellAlias for git-sync-all -> gsa 2024-07-30 06:34:11 +01:00
Evie Litherland-Smith 24cd5ff271 Swap pyright for python-lsp-server + mypy 2024-07-29 14:52:08 +01:00
Evie Litherland-Smith 9fe7aab4ef Remove black and isort, using ruff for formatting instead
Add uv for python environment management
2024-07-29 14:12:25 +01:00
Evie Litherland-Smith 7dd0f52816 Revert using python3Full, back to custom python install
Also revert similar lua change

Add poetry as installed development tool by default
2024-07-29 11:29:37 +01:00
Evie Litherland-Smith 2aa70a7af6 Remove local IP bookmarks, Firefox doesn't show them for some reason 2024-07-29 10:51:27 +01:00
Evie Litherland-Smith b3ceab6831 Add LGBTQIA+ Network Email to bookmarks 2024-07-29 10:51:03 +01:00
Evie Litherland-Smith cbe4e287c5 Autostart signal-desktop 2024-07-29 09:42:40 +01:00
Evie Litherland-Smith 3dc4432406 Update minecraft sevver to 1.21
Fetch pinned version of nixpkgs-unstable to get newer papermcServer
versions

Remove bedrock.xenia.me.uk since it doesn't actually handle the port
redirection anyway...
2024-07-28 10:53:42 +01:00
Evie Litherland-Smith 8cd9bb0399 Typo: missing ; after caddy change 2024-07-28 10:11:00 +01:00
Evie Litherland-Smith f8a6e67179 Switch minecraft server to papermc 1.20.4
Add proxy redirect to GeyserMC port at bedrock.xenia.me.uk
2024-07-28 10:07:21 +01:00
Evie Litherland-Smith 92e726c068 Add signal-desktop to installed apps 2024-07-28 09:09:07 +01:00
Evie Litherland-Smith 921e98c9b1 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/0c53b6b8c2a3e46c68e04417e247bba660689c9d' (2024-07-19)
  → 'github:nixos/nixpkgs/a1cc729dcbc31d9b0d11d86dc7436163548a9665' (2024-07-25)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/460b48dc3dcd05df568e27cbb90581d23baec8dc' (2024-07-14)
  → 'github:nix-community/plasma-manager/b967e042896de0f64513d4596e3d1f3eae445d1c' (2024-07-23)
2024-07-27 07:08:56 +01:00
Evie Litherland-Smith ea34a69ea3 Set minecraft server major version so it doesn't update automatically
Adjust minecraft server java options
2024-07-27 07:06:52 +01:00
Evie Litherland-Smith 97e77bdbcb Add Models directory to syncthing 2024-07-27 06:59:55 +01:00
Evie Litherland-Smith 7b7129f964 Remove notebooks and presentations from git-sync-all 2024-07-26 20:24:07 +01:00
Evie Litherland-Smith 3ea7a90ffc Update pfps for badger, new micro versions 2024-07-26 20:23:33 +01:00
Evie Litherland-Smith b6242463bd Add small filtered versions of pfps for badger 2040 2024-07-26 19:58:58 +01:00
Evie Litherland-Smith ec83bb0ba6 Merge branch 'main' of https://git.xenia.me.uk/pixelifytica/nixos 2024-07-26 19:21:23 +01:00
Evie Litherland-Smith e391637ba6 Add self to dialout extra group 2024-07-26 19:21:11 +01:00
Evie Litherland-Smith 0aa4783617 Switch to use python3Full instead of custom python with packages
Switch luaJIT for plain lua install
2024-07-26 11:44:58 +01:00
Evie Litherland-Smith 04f4173d49 git-sync-all: pull ff ~/.emacs.d/ 2024-07-26 09:16:16 +01:00
Evie Litherland-Smith 4784f1aad5 Swap order of pinned applications 2024-07-25 18:01:11 +01:00
Evie Litherland-Smith e91074bf5f Fix typo, missed home in home.packages 2024-07-25 07:46:49 +01:00
Evie Litherland-Smith 53a8272876 Move where autostarts are defined
Auto start webcord on personal devices
2024-07-25 07:44:36 +01:00
Evie Litherland-Smith 2e68962295 Add autostarts for whatsapp (all), teams (work) and twinkle (work) 2024-07-25 07:40:16 +01:00
Evie Litherland-Smith 653ac9b6c7 Switch default terminal emulator back to Konsole
Pin konsole and firefox to task launcher again

Move Emacs package management out of NixOS, handle in Emacs config
instead
2024-07-24 08:25:37 +01:00
Evie Litherland-Smith 220595235b Revert "Switch default python to use python3Full"
This reverts commit 4dc77fa15e.
2024-07-23 19:40:57 +01:00
Evie Litherland-Smith 4dc77fa15e Switch default python to use python3Full 2024-07-23 18:40:17 +01:00
Evie Litherland-Smith 1cc8ff0094 Merge branch 'main' of https://git.xenia.me.uk/pixelifytica/nixos 2024-07-23 15:21:53 +01:00
Evie Litherland-Smith 017766ae7f Pin Emacs to task launcher 2024-07-23 15:21:35 +01:00
Evie Litherland-Smith c8c1560ae7 Add default.nix import back to personal.nix, accidentally deleted when merging 2024-07-23 07:43:30 +01:00
Evie Litherland-Smith b5f9d480ff Remove .envrc 2024-07-23 06:57:45 +01:00
Evie Litherland-Smith ab1086d9ad Merge branch 'main' of https://git.xenia.me.uk/pixelifytica/nixos 2024-07-23 06:52:36 +01:00
Evie Litherland-Smith 04a6e3e5c4 Add openscad, scad-mode package for Emacs
Move prusa-slicer and blender to personal.nix

Add kicad-small
2024-07-23 06:50:55 +01:00
Evie Litherland-Smith a59545e818 Plasma: draw circle around close button (breezerc) 2024-07-22 14:58:26 +01:00
Evie Litherland-Smith d6c80adf66 Plasma: disable translucency 2024-07-22 14:56:39 +01:00
Evie Litherland-Smith 786e3cd9ba Emacs: remove citar-embark 2024-07-22 11:18:34 +01:00
Evie Litherland-Smith e403a2c985 Add forge back to emacs-packages, not bundled as part of magit afterall... 2024-07-22 10:56:52 +01:00
Evie Litherland-Smith 290ee4da08 Add keep-going flag to Makefile nix build directive 2024-07-22 10:47:44 +01:00
Evie Litherland-Smith d0459b2024 autoUpgrade: set max jobs to 1, set keep-going flag 2024-07-22 10:45:00 +01:00
Evie Litherland-Smith d4c58e4698 Emacs: clear out some packages I don't need any more
Removed: page-break-lines, helpful, ace-window, link-hint,
consult-flyspell, embark (and associated), forge (part of magit
anyway), flymake-popon, aggressive-indent
2024-07-22 10:40:02 +01:00
Evie Litherland-Smith af37c0c34a Add home-assistant container service
Move home/default into personal.nix and work.nix instead of flake, was
pulling in whole desktop config for server and wasting time/space
2024-07-21 18:40:13 +01:00
Evie Litherland-Smith 590db02129 Add some local IPs to bookmarks 2024-07-21 09:14:50 +01:00
Evie Litherland-Smith 67f6e41f8b Add more 3D printing bookmarks 2024-07-21 08:40:22 +01:00
Evie Litherland-Smith 443366188b Add prusa-slicer to Northstar installed packages 2024-07-21 08:33:41 +01:00
Evie Litherland-Smith efb4ee6680 flake.lock: Update
Flake lock file updates:

• Updated input 'base16':
    'github:SenchoPens/base16.nix/4e9b16c8b44958bc6bf46d99c3bb1b59c9c9c764' (2024-02-27)
  → 'github:SenchoPens/base16.nix/c89c8123310257f3ddc04cc59aa4b5573c6d515f' (2024-07-17)
• Updated input 'base16/fromYaml':
    'github:SenchoPens/fromYaml/11fbbbfb32e3289d3c631e0134a23854e7865c84' (2023-07-16)
  → 'github:SenchoPens/fromYaml/93bad85d1633b8b27287b438c0bd394094c24d06' (2024-07-17)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/a046c1202e11b62cbede5385ba64908feb7bfac4' (2024-07-11)
  → 'github:nixos/nixpkgs/0c53b6b8c2a3e46c68e04417e247bba660689c9d' (2024-07-19)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/565bb9f4562e65c7e390537702b7efc8de73cc3a' (2024-07-13)
  → 'github:nix-community/plasma-manager/460b48dc3dcd05df568e27cbb90581d23baec8dc' (2024-07-14)
2024-07-21 08:10:40 +01:00
Evie Litherland-Smith 92fca49164 Remove powerdevilrc config since it doesn't currently work 2024-07-20 09:00:51 +01:00
Evie Litherland-Smith af91359c94 Plasma: add power management config 2024-07-20 08:48:35 +01:00
Evie Litherland-Smith 4f24ce2041 Add elfeed-tube package back to Emacs 2024-07-20 07:25:53 +01:00
Evie Litherland-Smith ecc54c5cf9 More plasma desktop customisation
Move plasma-manager import to plasma config file, no need to import if
not using plasma desktop

Add libnotify to default installed packages for desktop environment
2024-07-19 08:52:17 +01:00
Evie Litherland-Smith 79c9398cfe Add krystal.io to bookmarks.json 2024-07-19 07:58:31 +01:00
Evie Litherland-Smith 15a7328657 Firefox: disable advert attribution setting 2024-07-18 07:36:33 +01:00
Evie Litherland-Smith 93aeb20ba2 Emacs: add flymake-clippy package 2024-07-17 06:31:47 +01:00
Evie Litherland-Smith 2d361220f6 SSH: Set TERM to xterm-256color for better compatibility 2024-07-16 10:06:36 +01:00
Evie Litherland-Smith f8e89ab7b9 Alacritty: add some window padding 2024-07-16 09:56:17 +01:00
Evie Litherland-Smith 198bd6a7fa Change default terminal bind to open configured terminal emulator 2024-07-16 09:55:24 +01:00
Evie Litherland-Smith 63cc162824 Switch to using Alacritty as default terminal emulator
Move up one level for consistency

Add some custom shell indicators for starship
2024-07-16 09:42:54 +01:00
Evie Litherland-Smith 676d2eba6f Starship and Konsole config tweaks 2024-07-16 08:30:56 +01:00
Evie Litherland-Smith e16ea740c9 Swap default login shell for bash
Add readline variables to configure bash, add ~/.inputrc to
rsync-local-config.sh
2024-07-16 07:45:17 +01:00
Evie Litherland-Smith ca6997fb9a Move external Emacs packages to separate file to make things easier to read 2024-07-16 07:31:51 +01:00
Evie Litherland-Smith d952c2c791 Add Librewolf, TODO configure properly later 2024-07-16 06:57:58 +01:00
Evie Litherland-Smith ec24959556 krunner replace alt+space shortcut with meta+space
Changed to avoid clashing with commonly used Emacs alt+space bind
2024-07-15 09:59:34 +01:00
Evie Litherland-Smith 3342a6d943 Slightly flatten Emacs / language expressions
Move Python and Lua interpreter config up into Emacs default.nix, move
associated files (python external configs, scilua) up a level as
well. Remove JavaScript default install.

Add tkinter to default Python packages to fix plotting.
2024-07-15 06:58:00 +01:00
Evie Litherland-Smith 319c25fc17 Add Thingiverse and Printables to bookmarks.json 2024-07-13 16:55:16 +01:00
Evie Litherland-Smith b9a0b2942d Update Northstar syncthing ID 2024-07-13 16:45:50 +01:00
Evie Litherland-Smith 41d550d7b2 Gitea runner service failing, disable for now
Troubleshoot another time
2024-07-13 11:32:13 +01:00
Evie Litherland-Smith f13b973ea7 Update Vanguard syncthing ID
Add Documents, Books, and ROMs directories to syncthing
2024-07-13 11:22:59 +01:00
Evie Litherland-Smith 8dfecd463a Uninstall retroarch
Remove Steam support from Lutris
2024-07-13 11:04:11 +01:00
Evie Litherland-Smith 23e4e776de flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/194846768975b7ad2c4988bdb82572c00222c0d7' (2024-07-07)
  → 'github:nixos/nixpkgs/a046c1202e11b62cbede5385ba64908feb7bfac4' (2024-07-11)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/995d818078778b366e6302ea32d83c2ba586e015' (2024-07-07)
  → 'github:nix-community/plasma-manager/565bb9f4562e65c7e390537702b7efc8de73cc3a' (2024-07-13)
2024-07-13 10:15:25 +01:00
Evie Litherland-Smith 10e642d316 Add some more awesome repos to bookmarks
Add some Nix icons and wallpapers
2024-07-12 14:47:20 +01:00
Evie Litherland-Smith 7bb0c65f03 Unpin konsole since it has it's own keybind to launch 2024-07-12 14:06:16 +01:00
Evie Litherland-Smith 8b482dfbb2 Add whatsapp-for-linux for default, ktorrent for personal machines 2024-07-12 13:10:23 +01:00
Evie Litherland-Smith 1fe8aa0e5b Add C symbol back to starship
Default symbol is just the character "C"...
2024-07-12 06:45:57 +01:00
Evie Litherland-Smith d289a6f87d Emacs: add password-store package back 2024-07-11 16:35:03 +01:00
Evie Litherland-Smith 004ba05434 Trim some installed Emacs packages 2024-07-11 16:32:40 +01:00
Evie Litherland-Smith 64041f5c23 Move picrew to pfp directory (as personal), add work profile pic 2024-07-11 14:52:38 +01:00
Evie Litherland-Smith 4592ce098c Num virtual desktops back to 4 2024-07-11 10:28:26 +01:00
Evie Litherland-Smith 9cbf319189 Move GTK settings to sway/default.nix
Set icon theme using plasma-manager tools instead. Avoids conflict
completely with Plasma trying to overwrite GTK config files.

Move toCapital function to own file.
2024-07-11 09:41:48 +01:00
Evie Litherland-Smith 0e4663f6df Adjust GTK config to reduce conflict with Plasma settings 2024-07-11 09:04:27 +01:00
Evie Litherland-Smith 1b9e5a3073 Emacs swap diminish for minions 2024-07-11 07:11:59 +01:00
Evie Litherland-Smith f577b68abd Move alacritty import from desktop default -> sway default 2024-07-11 06:46:07 +01:00
Evie Litherland-Smith 35a9cea919 GTK remove setting border radius in extraCSS 2024-07-11 05:56:41 +01:00
Evie Litherland-Smith 75d69c1c1e Remove colloid and materia kde themes 2024-07-10 18:13:24 +01:00
Evie Litherland-Smith 44ee0f1e5b Switch to Materia theme for better GTK & Qt consistency
Set Plasma accent colour in config, using base16 defined accent
colour.
2024-07-10 15:19:45 +01:00
Evie Litherland-Smith 21f27fdc88 Set font-sizes back to original values
Plasma: use icon theme from GTK config to avoid duplication /
conflicts

Remove rounded corners in GTK extra CSS

Firefox: remove homepage
2024-07-10 10:22:24 +01:00
Evie Litherland-Smith 3e0a4bb725 Install libsecret to desktop by default, needed for mbsync
Move alacritty opacity and decoration settings to sway only. Remove
Emacs opacity by default, todo maybe add to sway only somehow...
2024-07-10 08:36:28 +01:00
Evie Litherland-Smith 05d19c1813 Add plasma config back, reconfigure to coexist with sway config
Split system-level sway and plasma config into separate files, move
sway-specific home-level config to sway file. Only truly common
desktop components are kept in common spaces. This allows much easier
switching between using KDE Plasma and Sway.
2024-07-10 08:27:17 +01:00
Evie Litherland-Smith 52ef397d33 Add runner for Forgejo actions 2024-07-10 06:04:15 +01:00
Evie Litherland-Smith 105a35c024 Swap GTK theme to Colloid with purple modification
Swap Qt to use gtk2, should pick up from GTK theme then.

Remove additional packages bundled with sway, installed my own
versions.
2024-07-09 13:07:23 +01:00
Evie Litherland-Smith 1f71cdfcd1 Revert "Swap alacritty for foot (terminal)"
This reverts commit 48793f9718.
2024-07-09 11:59:23 +01:00
Evie Litherland-Smith 6595543ac0 Set corner radius for gtk theme 2024-07-09 08:36:52 +01:00
Evie Litherland-Smith e1146e62c7 Update GTK theme to use accentColourName
Swap from adwaita to adw-gtk3 since adwaita didn't properly allow
overwriting the CSS (I think)
2024-07-09 08:22:24 +01:00
Evie Litherland-Smith 7ea03d08bf Add GTK extra CSS using base16 colours
CSS based on that from stylix
2024-07-09 07:57:36 +01:00
Evie Litherland-Smith 48793f9718 Swap alacritty for foot (terminal) 2024-07-09 07:28:05 +01:00
Evie Litherland-Smith f80f3a8bdd Enable networkmanager-applet, add to on-click for waybar module 2024-07-09 07:18:52 +01:00
Evie Litherland-Smith d0771d3418 Fix firefox bookmark bar setting
Had accidentally duplicated the setting...

Use OS locales for formatting

Use XDG portal for file picker, mime handler, etc...
2024-07-09 07:17:16 +01:00
Evie Litherland-Smith 248c0b16d0 Re-install NYXT
Don't enable no-script-mode by default
2024-07-08 16:35:44 +01:00
Evie Litherland-Smith 6347e32d51 Small format tweaks to waybar calendar module 2024-07-08 12:20:15 +01:00
Evie Litherland-Smith c4e81a6143 Waybar: fix icons in calendar/clock modules 2024-07-08 12:12:31 +01:00
Evie Litherland-Smith 4c961b069f Waybar: change font size for calendar module to be consistent 2024-07-08 12:10:46 +01:00
Evie Litherland-Smith 269e682651 Waybar: fix calendar module colour to use base16 scheme 2024-07-08 12:08:24 +01:00
Evie Litherland-Smith 7533532e2f Adjust font sizes and monitor scaling 2024-07-08 11:24:43 +01:00
Evie Litherland-Smith 5eefdf2026 Vanguard: enable adaptive_sync on primary monitor 2024-07-08 10:30:30 +01:00
Evie Litherland-Smith bda9ce87cb Vanguard: Update monitor scale and position 2024-07-08 10:26:47 +01:00
Evie Litherland-Smith 75d0c9d7db Don't need to override qemu in quickemu anymore, full by default 2024-07-08 10:16:04 +01:00
Evie Litherland-Smith 98ca5c1741 Remove plasma-manager and plasma config
Remove hostname from extraSpecialArgs since I'm not actually using it
anywhere

Update flake inputs
2024-07-08 10:13:51 +01:00
Evie Litherland-Smith 2f20e8688a Remove freecad
Not wayland native
2024-07-08 09:59:04 +01:00
Evie Litherland-Smith ea90d2ef21 Adjust waybar MPRIS module layout 2024-07-08 09:58:57 +01:00
Evie Litherland-Smith ee123eaa3c Adjust waybar MPRIS module layout 2024-07-08 09:55:28 +01:00
Evie Litherland-Smith 4f77cdc801 Switch gitFull -> custom git with libsecret enabled (but without the extra stuff) 2024-07-08 09:41:34 +01:00
Evie Litherland-Smith f6d4d93425 Revert to default symbols for some of starship config 2024-07-08 09:30:16 +01:00
Evie Litherland-Smith 6923f09f54 Set protonmail-bridge config to use secret-service-dbus 2024-07-08 09:18:18 +01:00
Evie Litherland-Smith 266f4959b2 Fix typo in wallpaper path 2024-07-08 09:03:32 +01:00
Evie Litherland-Smith 94c6d717b0 Use libsecret for mbsync and git-credential-helper
Add gnome-keyring as libsecret backend, swap git-credential-helper and
mbsync to using libsecret/secret-tool. Add helper script to check for
and request mbsync passwords if missing. Add GNOME Seahorse for
viewing passwords graphically.

Remove email/work.nix and merge back into default.nix

Don't auto start protonmail-bridge, use the GUI instead so it doesn't
need to unlock all my keychains immediately

Move 3D modelling software to Vanguard only, instead of all personal
devices.

Move waybar back to top of screen and adjust all corner radii to 5px
from 10px

Re-enable swayfx blur_ignore_transparent now that it's added to
nixpkgs, re-enable shadows
2024-07-08 08:58:32 +01:00
Evie Litherland-Smith 9d80d3ab4c Enable gnome-keyring service 2024-07-08 06:35:24 +01:00
Evie Litherland-Smith 82fb7b434f Remove remmina service 2024-07-07 08:50:54 +01:00
Evie Litherland-Smith bb86cd082d Switch back to sway (and all the changes that involved) 2024-07-07 08:47:50 +01:00
Evie Litherland-Smith 7376697711 Merge branch 'main' of https://git.xenia.me.uk/pixelifytica/nixos 2024-07-07 07:17:52 +01:00
Evie Litherland-Smith e04a91b9cf Add Emacs packages back to Nix install 2024-07-07 07:17:05 +01:00
Evie Litherland-Smith 0e3b62dbfe Emacs: switch from installing org-roam to just emacsql-sqlite 2024-07-06 07:09:53 +01:00
Evie Litherland-Smith e9d27ba414 Don't install NYXT by default
Keep config though, will mostly use the flatpak version if testing to
keep up to date with rapid releases
2024-07-06 06:32:00 +01:00
Evie Litherland-Smith af381fb9b8 Don't pin kickoff window 2024-07-05 11:18:35 +01:00
Evie Litherland-Smith e60a43c771 Emacs: install org-roam to ensure sqlite exists 2024-07-05 10:50:18 +01:00
Evie Litherland-Smith 77a77727cf Move teams-for-linux to be installed in desktop/default.nix 2024-07-05 10:49:32 +01:00
Evie Litherland-Smith ae8aaebbe3 Remove systemsettings from pinned to task manager 2024-07-05 10:49:17 +01:00
Evie Litherland-Smith 21991ffc7f Emacs: install mu4e to keep in sync with mu tool 2024-07-05 08:07:30 +01:00
Evie Litherland-Smith ed7165bc8a Remove Emacs packages from being installed by nix
Moved properly into Emacs config to handle packages
2024-07-05 06:14:31 +01:00
Evie Litherland-Smith b3ed259aae Emacs: remove ibuffer-project 2024-07-04 17:53:51 +01:00
Evie Litherland-Smith 3cf6eb9ad0 Merge branch 'main' of https://git.xenia.me.uk/pixelifytica/nixos 2024-07-04 15:52:44 +01:00
Evie Litherland-Smith d5de6cf834 Ruff: don't format docstrings 2024-07-04 15:52:36 +01:00
Evie Litherland-Smith ee5f0f09f5 Update sharepoint URL in bookmarks 2024-07-03 11:21:55 +01:00
Evie Litherland-Smith 744055a691 Add home-manager backupFileExtension 2024-07-03 08:02:31 +01:00
Evie Litherland-Smith 1e98e8af61 Fix wrong files... 2024-07-03 07:37:57 +01:00
Evie Litherland-Smith a1d6a789e7 Fix Legion importing desktop programs when it shouldn't be 2024-07-03 07:37:09 +01:00
Evie Litherland-Smith f8782068d2 Remove uses of home-manager repo, merge home-manager README entries
Remove system-update-all script
2024-07-03 07:26:09 +01:00
Evie Litherland-Smith f53fdbad4c Remove home-manager from git-sync-all, add presentations 2024-07-03 07:20:28 +01:00
Evie Litherland-Smith 763a1d2a05 Merge home-manager config back in to nixos config
Place home-manager config under home directory, move system config
under system directory.

Add hostname-specific entries under home directory to be consistent
with how system is configured, update flake accordingly
2024-07-03 07:15:39 +01:00
156 changed files with 5523 additions and 643 deletions

1
.envrc
View file

@ -1 +0,0 @@
use flake

View file

@ -1,6 +1,11 @@
.PHONY: build
.PHONY: default build flathub
HOST := $(shell hostname)
default: build
build:
nix build .#nixosConfigurations.$(HOST).config.system.build.toplevel
nix build --keep-going .#nixosConfigurations.$(HOST).config.system.build.toplevel
flathub:
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

View file

@ -1,10 +1,62 @@
#+title: README
#+author: Evie Litherland-Smith
#+email: evie@xenia.me.uk
System configuration files for NixOS.
My personal NixOS + home-manager configuration files.
Fairly minimal setup and installation, to be paired with [[https://git.xenia.me.uk/pixelifytica/home-manager.git][a
home-manager config]] to get the full user setup.
To set up without cloning the repository (assuming an already running
NixOS system), run:
#+begin_src bash
sudo nixos-rebuild switch --flake "git+https://git.xenia.me.uk/pixelifytica/nixos.git?ref=main"\#$(hostname)
#+end_src
Further reading:
* Password store setup
** Transfer GPG key(s)
#+begin_src bash
# Export keys on existing machine
gpg -a --export > publickeys.asc
gpg -a --export-secret-keys > privatekeys.asc
# Import key on new machine
gpg --import privatekeys.asc; gpg --import publickeys.asc
# Edit (for each key) to set trust
gpg --edit-key evie@xenia.me.uk
#+end_src
** Clone password-store repository
#+begin_src bash
git clone https://git.xenia.me.uk/pixelifytica/pass $PASSWORD_STORE_DIR
#+end_src
* Email setup
** Passwords for mbsync
Run src_bash{mbsync-ensure-pass} to check for passwords required by
~mbsync~, and query for missing passwords.
Static app-specific passwords are stored in ~password-store~, fetch from
there to add to secret service.
** Proton
*** Bridge
Start Proton Mail Bridge application, if needed configure to store
using =SecretService= and log in. Application will auto-start with
desktop session.
Use password from Bridge for ~mbsync~.
** Outlook
*** Davmail
Run src_bash{davmail-setup} to automate this process.
On first run (or if token expires), stop systemd service and run manually to complete manual auth. Token will stay valid for a little while (no idea how long specifically).
#+begin_src bash
# Restart service to ensure ~/.davmail.properties exists
systemctl --user restart davmail.service
# Run to use manual authentication
systemctl --user stop davmail.service && davmail -notray ~/.davmail.properties
# Restart again so that service picks up available ports
systemctl --user restart davmail.service
#+end_src
* Flathub setup
#+begin_src bash
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
#+end_src
* Further reading:
- https://nixos.org/

View file

@ -1,19 +0,0 @@
{...}: {
imports = [
../services/caddy.nix
../services/forgejo.nix
../services/grafana.nix
../services/minecraft.nix
../services/nix-serve.nix
../services/radicale.nix
../services/sshd.nix
../services/syncthing.nix
# ../services/znc.nix
];
boot.loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
users.mutableUsers = false;
system.autoUpgrade.operation = "switch";
}

View file

@ -1 +0,0 @@
{...}: {imports = [./laptop.nix];}

View file

@ -1,19 +0,0 @@
{pkgs, ...}: {
imports = [./desktop.nix];
boot = {
loader.efi.efiSysMountPoint = "/boot/efi";
initrd = {
secrets = {"/crypto_keyfile.bin" = null;};
luks.devices."luks-47d34268-5100-4eba-b34d-220f4239c1cb" = {
device = "/dev/disk/by-uuid/47d34268-5100-4eba-b34d-220f4239c1cb";
keyFile = "/crypto_keyfile.bin";
};
};
};
environment = {
etc."ppp/options".text = ''
ipcp-accept-remote
'';
systemPackages = with pkgs; [openfortivpn samba];
};
}

View file

@ -1,20 +0,0 @@
{pkgs, ...}: {
imports = [./laptop.nix];
boot.initrd = {
secrets = {"/crypto_keyfile.bin" = null;};
luks.devices."luks-761eeb11-3091-4142-9232-4fb33165eccd" = {
device = "/dev/disk/by-uuid/761eeb11-3091-4142-9232-4fb33165eccd";
keyFile = "/crypto_keyfile.bin";
};
};
environment = {
etc."ppp/options".text = ''
ipcp-accept-remote
'';
systemPackages = with pkgs; [openfortivpn];
};
services = {
samba.enable = true;
hardware.bolt.enable = true;
};
}

View file

@ -1,22 +0,0 @@
{config, ...}: {
imports = [./desktop.nix];
boot = {
initrd.kernelModules = ["amdgpu"];
extraModulePackages = with config.boot.kernelPackages; [v4l2loopback];
extraModprobeConfig = ''
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
'';
};
hardware = {
opengl = {
driSupport = true;
driSupport32Bit = true;
};
steam-hardware.enable = true;
};
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
};
}

View file

@ -1,135 +0,0 @@
{
config,
pkgs,
iosevkaCustom,
...
}: {
nix = {
enable = true;
settings = {
cores = 0;
max-jobs = "auto";
trusted-users = ["root"];
experimental-features = ["nix-command" "flakes"];
auto-optimise-store = true;
};
channel.enable = true;
gc = {
automatic = true;
options = "--delete-older-than 7d";
};
optimise.automatic = true;
extraOptions = ''
keep-outputs = false
keep-derivations = false
min-free = ${toString (100 * 1024 * 1024)}
max-free = ${toString (1024 * 1024 * 1024)}
'';
};
nixpkgs.config.allowUnfree = true;
system = {
stateVersion = "23.05";
autoUpgrade = {
enable = true;
persistent = true;
allowReboot = false;
flake = "git+${config.nix.registry.my-nixos.to.url}";
dates = "02:00";
randomizedDelaySec = "45min";
flags = [
"--accept-flake-config"
"--option"
"extra-binary-caches"
"https://nix.xenia.me.uk"
];
};
};
boot.loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
networking = {
networkmanager.enable = true;
firewall.enable = true;
nameservers = ["9.9.9.9"];
};
users.users.root.openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINI1dWlS16Keil0MGPWmMsBzx8F9ylfz+fRwxUr8/tZ/ ion"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC4M1zV3yLMMI1tYwdY9QDXJDlOBugm7UXKC+Xk89yHq pixelifytica@Vanguard"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICPypUUGVAdpl0SHrUDVw0RureuFNsljrXQvrf0uc055 pixelifytica@Northstar"
];
environment = {
pathsToLink = ["/share/zsh"];
sessionVariables = {
XDG_CONFIG_HOME = "$HOME/.config";
XDG_CACHE_HOME = "$HOME/.cache";
XDG_DATA_HOME = "$HOME/.local/share";
XDG_STATE_HOME = "$HOME/.local/state";
};
systemPackages = with pkgs; [
libsecret
coreutils-full
gnumake
git
file
zip
unzip
curl
wget
dig
wireguard-tools
(quickemu.override {qemu = qemu_full;})
];
localBinInPath = true;
};
programs = {
command-not-found.enable = false;
ssh.startAgent = true;
nano = {
enable = true;
syntaxHighlight = true;
nanorc = ''
set nowrap
set tabstospaces
set tabsize 2
'';
};
};
services = {
upower.enable = true;
power-profiles-daemon.enable = true;
system76-scheduler = {
enable = true;
useStockConfig = true;
};
};
security.rtkit.enable = true;
virtualisation.podman.enable = true;
time.timeZone = "Europe/London";
i18n.defaultLocale = "en_GB.UTF-8";
console = {
font = iosevkaCustom.names.iosevka-custom-nerdfont;
useXkbConfig = true;
};
fonts = {
packages = with pkgs;
with iosevkaCustom.packages; [
iosevka-custom-nerdfont
iosevka-custom-aile
(nerdfonts.override {fonts = ["NerdFontsSymbolsOnly"];}) # Status bar
emacs-all-the-icons-fonts # Emacs
weather-icons # Emacs
lmodern # LaTeX
noto-fonts-emoji # Emoji
];
fontconfig = {
enable = true;
defaultFonts = with iosevkaCustom.names; {
serif = [iosevka-custom-aile];
sansSerif = [iosevka-custom-aile];
monospace = [iosevka-custom-nerdfont];
emoji = ["Noto Color Emoji"];
};
};
};
}

View file

@ -1,58 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
imports = [./default.nix];
nixpkgs.config.chromium.commandLineArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland";
system.autoUpgrade.operation = "boot";
hardware.bluetooth.enable = true;
environment = {
plasma6 =
lib.mkIf config.services.desktopManager.plasma6.enable
{excludePackages = with pkgs.kdePackages; [plasma-browser-integration];};
systemPackages = with pkgs; [
xdg-utils
hunspell
hunspellDicts.en_GB-large
];
};
programs = {
dconf.enable = true;
noisetorch.enable = true;
kdeconnect.enable = true;
gamescope = {
enable = true;
capSysNice = true;
};
};
services = {
flatpak.enable = true;
printing.enable = true;
pipewire = {
enable = true;
pulse.enable = true;
alsa = {
enable = true;
support32Bit = true;
};
};
xserver = {
enable = true;
xkb = {
layout = "gb";
variant = "";
options = "ctrl:nocaps";
};
};
displayManager.sddm = {
enable = true;
wayland.enable = true;
};
desktopManager.plasma6 = {
enable = true;
enableQt5Integration = true;
};
};
}

View file

@ -1,15 +1,199 @@
{
"nodes": {
"base16": {
"inputs": {
"fromYaml": "fromYaml"
},
"locked": {
"lastModified": 1708890466,
"narHash": "sha256-LlrC09LoPi8OPYOGPXegD72v+//VapgAqhbOFS3i8sc=",
"owner": "SenchoPens",
"repo": "base16.nix",
"rev": "665b3c6748534eb766c777298721cece9453fdae",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "base16.nix",
"type": "github"
}
},
"base16-fish": {
"flake": false,
"locked": {
"lastModified": 1622559957,
"narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
"owner": "tomyun",
"repo": "base16-fish",
"rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
"type": "github"
},
"original": {
"owner": "tomyun",
"repo": "base16-fish",
"type": "github"
}
},
"base16-foot": {
"flake": false,
"locked": {
"lastModified": 1696725948,
"narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=",
"owner": "tinted-theming",
"repo": "base16-foot",
"rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-foot",
"type": "github"
}
},
"base16-helix": {
"flake": false,
"locked": {
"lastModified": 1696727917,
"narHash": "sha256-FVrbPk+NtMra0jtlC5oxyNchbm8FosmvXIatkRbYy1g=",
"owner": "tinted-theming",
"repo": "base16-helix",
"rev": "dbe1480d99fe80f08df7970e471fac24c05f2ddb",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-helix",
"type": "github"
}
},
"base16-kitty": {
"flake": false,
"locked": {
"lastModified": 1665001328,
"narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=",
"owner": "kdrag0n",
"repo": "base16-kitty",
"rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805",
"type": "github"
},
"original": {
"owner": "kdrag0n",
"repo": "base16-kitty",
"type": "github"
}
},
"base16-tmux": {
"flake": false,
"locked": {
"lastModified": 1696725902,
"narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=",
"owner": "tinted-theming",
"repo": "base16-tmux",
"rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-tmux",
"type": "github"
}
},
"base16-vim": {
"flake": false,
"locked": {
"lastModified": 1663659192,
"narHash": "sha256-uJvaYYDMXvoo0fhBZUhN8WBXeJ87SRgof6GEK2efFT0=",
"owner": "chriskempson",
"repo": "base16-vim",
"rev": "3be3cd82cd31acfcab9a41bad853d9c68d30478d",
"type": "github"
},
"original": {
"owner": "chriskempson",
"repo": "base16-vim",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"fromYaml": {
"flake": false,
"locked": {
"lastModified": 1689549921,
"narHash": "sha256-iX0pk/uB019TdBGlaJEWvBCfydT6sRq+eDcGPifVsCM=",
"owner": "SenchoPens",
"repo": "fromYaml",
"rev": "11fbbbfb32e3289d3c631e0134a23854e7865c84",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "fromYaml",
"type": "github"
}
},
"gnome-shell": {
"flake": false,
"locked": {
"lastModified": 1713702291,
"narHash": "sha256-zYP1ehjtcV8fo+c+JFfkAqktZ384Y+y779fzmR9lQAU=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "0d0aadf013f78a7f7f1dc984d0d812971864b934",
"type": "github"
},
"original": {
"owner": "GNOME",
"ref": "46.1",
"repo": "gnome-shell",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1726989464,
"narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.05",
"repo": "home-manager",
"type": "github"
}
},
"iosevka-custom": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1719045863,
"narHash": "sha256-J0RQ2aiAchRxNzl2jlvqFNpFnDW2GZ7QXp53y7fs4GU=",
"lastModified": 1730274547,
"narHash": "sha256-34sNwbLNuE6l7jsBkBRUMRahoZc63lCsCa+PoZd/8W8=",
"ref": "refs/heads/main",
"rev": "db915e9a55cecdedac53a3cdba354dbc281938d9",
"revCount": 13,
"rev": "49828459e58b6987d2738b74c085cecb963355ab",
"revCount": 19,
"type": "git",
"url": "https://git.xenia.me.uk/pixelifytica/iosevka.git"
},
@ -20,11 +204,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1717602782,
"narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=",
"lastModified": 1728888510,
"narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6",
"rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c",
"type": "github"
},
"original": {
@ -36,11 +220,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1719838683,
"narHash": "sha256-Zw9rQjHz1ilNIimEXFeVa1ERNRBF8DoXDhLAZq5B4pE=",
"lastModified": 1730883749,
"narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d032c1a6dfad4eedec7e35e91986becc699d7d69",
"rev": "dba414932936fde69f0606b4f1d87c5bc0003ede",
"type": "github"
},
"original": {
@ -52,8 +236,43 @@
},
"root": {
"inputs": {
"home-manager": "home-manager",
"iosevka-custom": "iosevka-custom",
"nixpkgs": "nixpkgs_2"
"nixpkgs": "nixpkgs_2",
"stylix": "stylix"
}
},
"stylix": {
"inputs": {
"base16": "base16",
"base16-fish": "base16-fish",
"base16-foot": "base16-foot",
"base16-helix": "base16-helix",
"base16-kitty": "base16-kitty",
"base16-tmux": "base16-tmux",
"base16-vim": "base16-vim",
"flake-compat": "flake-compat",
"gnome-shell": "gnome-shell",
"home-manager": [
"home-manager"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1718122552,
"narHash": "sha256-A+dBkSwp8ssHKV/WyXb9uqIYrHBqHvtSedU24Lq9lqw=",
"owner": "danth",
"repo": "stylix",
"rev": "e59d2c1725b237c362e4a62f5722f5b268d566c7",
"type": "github"
},
"original": {
"owner": "danth",
"ref": "release-24.05",
"repo": "stylix",
"type": "github"
}
}
},

149
flake.nix
View file

@ -9,128 +9,65 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
iosevka-custom.url = "git+https://git.xenia.me.uk/pixelifytica/iosevka.git";
home-manager = {
url = "github:nix-community/home-manager/release-24.05";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = {
url = "github:danth/stylix/release-24.05";
inputs = {
nixpkgs.follows = "nixpkgs";
home-manager.follows = "home-manager";
};
};
};
outputs = {
nixpkgs,
iosevka-custom,
...
}: let
defaultSpecialArgs = {system ? "x86_64-linux", ...}: {
iosevkaCustom = {
packages = iosevka-custom.outputs.packages.${system};
names = iosevka-custom.outputs.names;
};
};
defaultModules = {
hostName ? "Atlas",
userName ? "pixelifytica",
loginShell ? "zsh",
...
}: [
./configuration/default.nix
./configuration/${hostName}.nix
./hardware-configuration/${hostName}.nix
({
config,
lib,
pkgs,
...
}: {
networking = {inherit hostName;};
nix = {
settings.trusted-users = [userName];
registry = {
my-nixos = {
from = {
type = "indirect";
id = "my-nixos";
};
to = {
type = "git";
url = "https://git.xenia.me.uk/pixelifytica/nixos.git?ref=main";
};
};
my-home-manager = {
from = {
type = "indirect";
id = "my-home-manager";
};
to = {
type = "git";
url = "https://git.xenia.me.uk/pixelifytica/home-manager.git?ref=main";
};
};
};
};
programs.${loginShell}.enable = true;
users.users.${userName} = {
shell = pkgs.${loginShell};
group = "users";
isNormalUser = true;
description = "Evie Litherland-Smith";
extraGroups = ["networkmanager" "wheel" "video" "input" "uinput"];
initialHashedPassword = "$y$j9T$tHIPQt09Kf3KH2eIRze3g/$2mwSlcq27DTGvHNPJ5EP9/1CfL3bXP0F6oS/Vuffmn3";
openssh = {inherit (config.users.users.root.openssh) authorizedKeys;};
};
})
];
in {
devShells.x86_64-linux.default = let
pkgs = import nixpkgs {system = "x86_64-linux";};
in
pkgs.mkShellNoCC {
packages = with pkgs; [nil pre-commit];
shellHook = "pre-commit install --install-hooks";
};
outputs =
inputs@{ nixpkgs, ... }:
{
nixosConfigurations = {
## Server
Legion = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
specialArgs = defaultSpecialArgs {inherit system;};
modules = defaultModules {
Legion = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs;
username = "pixelifytica";
hostName = "Legion";
userName = "pixelifytica";
loginShell = "zsh";
};
modules = [ ./system/default.nix ];
};
## Personal
Northstar = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
specialArgs = defaultSpecialArgs {inherit system;};
modules = defaultModules {
hostName = "Northstar";
userName = "pixelifytica";
loginShell = "zsh";
};
};
Vanguard = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
specialArgs = defaultSpecialArgs {inherit system;};
modules = defaultModules {
Vanguard = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs;
username = "pixelifytica";
hostName = "Vanguard";
userName = "pixelifytica";
loginShell = "zsh";
};
modules = [ ./system/default.nix ];
};
Northstar = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs;
username = "pixelifytica";
hostName = "Northstar";
};
modules = [ ./system/default.nix ];
};
## Work
Tone = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
specialArgs = defaultSpecialArgs {inherit system;};
modules = defaultModules {
Tone = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs;
username = "elitherl";
hostName = "Tone";
userName = "elitherl";
loginShell = "zsh";
};
modules = [ ./system/default.nix ];
};
Scorch = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
specialArgs = defaultSpecialArgs {inherit system;};
modules = defaultModules {
hostName = "Scorch";
userName = "elitherl";
loginShell = "zsh";
Ronin = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs;
username = "elitherl";
hostName = "Ronin";
};
modules = [ ./system/default.nix ];
};
};
};

View file

@ -1,5 +0,0 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [steamcmd];
networking.firewall.allowedTCPPorts = [8777];
services.caddy.virtualHosts."astro.xenia.me.uk".extraConfig = "reverse_proxy http://localhost:8777";
}

View file

@ -1,21 +0,0 @@
{...}: {
imports = [./caddy.nix];
services = {
forgejo = {
enable = true;
settings = {
server = {
ROOT_URL = "https://git.xenia.me.uk";
DOMAIN = "git.xenia.me.uk";
HTTP_ADDR = "127.0.0.1";
HTTP_PORT = 3100;
DISABLE_SSH = true;
};
ui = {DEFAULT_THEME = "forgejo-auto";};
admin = {DISABLE_REGULAR_ORG_CREATION = true;};
service = {DISABLE_REGISTRATION = true;};
};
};
caddy.virtualHosts."git.xenia.me.uk".extraConfig = "reverse_proxy http://localhost:3100";
};
}

View file

@ -1,22 +0,0 @@
{...}: {
imports = [./caddy.nix];
services.gitea = {
enable = true;
settings = {
server = {
ROOT_URL = "https://git.xenia.me.uk";
DOMAIN = "git.xenia.me.uk";
HTTP_ADDR = "127.0.0.1";
HTTP_PORT = 3100;
DISABLE_SSH = true;
};
service.DISABLE_REGISTRATION = true;
ui = {
DEFAULT_THEME = "auto";
THEMES = "auto,gitea,arc-greenw,catppuccin-latte-rosewater,catppuccin-latte-flamingo,catppuccin-latte-pink,catppuccin-latte-mauve,catppuccin-latte-red,catppuccin-latte-maroon,catppuccin-latte-peach,catppuccin-latte-yellow,catppuccin-latte-green,catppuccin-latte-teal,catppuccin-latte-sky,catppuccin-latte-sapphire,catppuccin-latte-blue,catppuccin-latte-lavender,catppuccin-frappe-rosewater,catppuccin-frappe-flamingo,catppuccin-frappe-pink,catppuccin-frappe-mauve,catppuccin-frappe-red,catppuccin-frappe-maroon,catppuccin-frappe-peach,catppuccin-frappe-yellow,catppuccin-frappe-green,catppuccin-frappe-teal,catppuccin-frappe-sky,catppuccin-frappe-sapphire,catppuccin-frappe-blue,catppuccin-frappe-lavender,catppuccin-macchiato-rosewater,catppuccin-macchiato-flamingo,catppuccin-macchiato-pink,catppuccin-macchiato-mauve,catppuccin-macchiato-red,catppuccin-macchiato-maroon,catppuccin-macchiato-peach,catppuccin-macchiato-yellow,catppuccin-macchiato-green,catppuccin-macchiato-teal,catppuccin-macchiato-sky,catppuccin-macchiato-sapphire,catppuccin-macchiato-blue,catppuccin-macchiato-lavender,catppuccin-mocha-rosewater,catppuccin-mocha-flamingo,catppuccin-mocha-pink,catppuccin-mocha-mauve,catppuccin-mocha-red,catppuccin-mocha-maroon,catppuccin-mocha-peach,catppuccin-mocha-yellow,catppuccin-mocha-green,catppuccin-mocha-teal,catppuccin-mocha-sky,catppuccin-mocha-sapphire,catppuccin-mocha-blue,catppuccin-mocha-lavender";
};
};
appName = "Gitea";
};
services.caddy.virtualHosts."git.xenia.me.uk".extraConfig = "reverse_proxy http://localhost:3100";
}

View file

@ -1,25 +0,0 @@
{config, ...}: {
services.minecraft-server = {
enable = true;
eula = true;
openFirewall = true;
declarative = true;
whitelist = {
"pixelifytica" = "b1848d60-4ddd-4fa4-a328-fb269910b6ae";
"HomeInTheClouds" = "d49f0aee-f217-477b-9516-9d5906f7fc87";
};
serverProperties = {
server-port = 25565;
difficulty = "easy";
gamemode = "survival";
force-gamemode = true;
max-players = 10;
# level-seed = 238902389203;
motd = "NixOS Minecraft server!";
white-list = true;
};
};
# Caddy forwarding
services.caddy.virtualHosts."craft.xenia.me.uk".extraConfig = "reverse_proxy http://localhost:${toString config.services.minecraft-server.serverProperties.server-port}";
}

View file

@ -1,21 +0,0 @@
{...}: let
port = "5232";
in {
services.radicale = {
enable = true;
settings = {
server = {
hosts = ["0.0.0.0:${port}"];
};
auth = {
type = "htpasswd";
htpasswd_filename = "/etc/radicale/users";
delay = 1;
};
};
# rights = {};
};
services.caddy.virtualHosts."cal.xenia.me.uk".extraConfig = ''
reverse_proxy http://localhost:${port}
'';
}

26
system/Legion.nix Normal file
View file

@ -0,0 +1,26 @@
{ username, ... }:
{
imports = [
./services/adguardhome.nix
./services/caddy.nix
./services/forgejo.nix
./services/grafana.nix
./services/home-assistant.nix
./services/minecraft.nix
./services/nix-serve.nix
./services/satisfactory/default.nix
./services/sshd.nix
./services/syncthing.nix
./services/xandikos.nix
];
boot.loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
home-manager.users.${username} = {
home.stateVersion = "23.05";
};
system.stateVersion = "23.05";
users.mutableUsers = false;
hardware.bluetooth.enable = true;
}

9
system/Northstar.nix Normal file
View file

@ -0,0 +1,9 @@
{ username, ... }:
{
imports = [ ./laptop.nix ];
home-manager.users.${username} = {
home.stateVersion = "23.05";
wayland.windowManager.hyprland.settings.monitor = [ "eDP-1,preferred,auto,1.25" ];
};
system.stateVersion = "23.05";
}

31
system/Ronin.nix Normal file
View file

@ -0,0 +1,31 @@
{ pkgs, username, ... }:
{
imports = [
./laptop.nix
./work.nix
];
home-manager.users.${username} = {
home.stateVersion = "23.05";
wayland.windowManager.hyprland.settings.monitor = [
"eDP-1,preferred,auto,1.25"
"desc:Dell Inc. DELL P3223QE CCG8YN3,preferred,auto-left,1.5"
];
};
boot.initrd = {
secrets = {
"/crypto_keyfile.bin" = null;
};
luks.devices."luks-761eeb11-3091-4142-9232-4fb33165eccd" = {
device = "/dev/disk/by-uuid/761eeb11-3091-4142-9232-4fb33165eccd";
keyFile = "/crypto_keyfile.bin";
};
};
system.stateVersion = "23.05";
environment = {
etc."ppp/options".text = ''
ipcp-accept-remote
'';
systemPackages = with pkgs; [ openfortivpn ];
};
services.hardware.bolt.enable = true;
}

36
system/Tone.nix Normal file
View file

@ -0,0 +1,36 @@
{ pkgs, username, ... }:
{
imports = [
./desktop.nix
./work.nix
];
home-manager.users.${username} = {
home.stateVersion = "23.05";
wayland.windowManager.hyprland.settings.monitor = [
"desc:Dell Inc. DELL P3223QE CCG8YN3,preferred,auto,1.5"
];
};
boot = {
loader.efi.efiSysMountPoint = "/boot/efi";
initrd = {
secrets = {
"/crypto_keyfile.bin" = null;
};
luks.devices."luks-47d34268-5100-4eba-b34d-220f4239c1cb" = {
device = "/dev/disk/by-uuid/47d34268-5100-4eba-b34d-220f4239c1cb";
keyFile = "/crypto_keyfile.bin";
};
};
};
system.stateVersion = "23.05";
environment = {
etc."ppp/options".text = ''
ipcp-accept-remote
'';
systemPackages = with pkgs; [
openfortivpn
samba
];
};
services.ollama.enable = true;
}

65
system/Vanguard.nix Normal file
View file

@ -0,0 +1,65 @@
{
config,
pkgs,
username,
...
}:
{
imports = [
./desktop.nix
./steam.nix
];
home-manager.users.${username} = {
home = {
stateVersion = "23.05";
packages = with pkgs; [
helvum
prusa-slicer
blender
freecad
openscad
kicad-small
wineWowPackages.waylandFull
winetricks
lutris
cartridges
prismlauncher
];
};
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [
wlrobs
obs-vkcapture
obs-pipewire-audio-capture
input-overlay
];
};
wayland.windowManager.hyprland.settings.monitor = [
"desc:Acer Technologies ED270R TJMEE0043W01,1920x1080@144,0x140,1.0,vrr,2"
"desc:Microstep MSI G27CQ4 E2,2560x1440@144,1920x0,1.25,vrr,2"
];
};
boot = {
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
extraModprobeConfig = ''
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
'';
};
hardware = {
amdgpu = {
initrd.enable = true;
opencl.enable = true;
};
opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
};
services.ollama = {
enable = true;
acceleration = "rocm";
};
system.stateVersion = "23.05";
}

228
system/default.nix Normal file
View file

@ -0,0 +1,228 @@
{
config,
lib,
pkgs,
inputs,
username,
hostName,
...
}:
{
imports = [
inputs.home-manager.nixosModules.home-manager
inputs.stylix.nixosModules.stylix
./${hostName}.nix
./hardware-configuration/${hostName}.nix
];
nix = {
enable = true;
package = pkgs.nixVersions.latest;
settings = {
cores = 0;
max-jobs = "auto";
trusted-users = [
"root"
username
];
experimental-features = [
"nix-command"
"flakes"
];
auto-optimise-store = true;
substituters = [ "https://nix.xenia.me.uk" ];
trusted-public-keys = [ "nix.xenia.me.uk:tlgwOaG5KMLjQUk2YaErS8mAG69ZCr3PaHXZYi+Y5eI=" ];
};
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
channel.enable = true;
gc = {
automatic = true;
options = "--delete-older-than 7d";
};
optimise.automatic = true;
registry.my-nixos = {
from = {
type = "indirect";
id = "my-nixos";
};
to = {
type = "git";
url = "https://git.xenia.me.uk/pixelifytica/nixos.git?ref=main";
};
};
extraOptions = ''
keep-outputs = false
keep-derivations = false
min-free = ${toString (100 * 1024 * 1024)}
max-free = ${toString (1024 * 1024 * 1024)}
'';
};
system.autoUpgrade = {
enable = true;
persistent = true;
allowReboot = false;
flake = "git+${config.nix.registry.my-nixos.to.url}";
dates = "02:00";
randomizedDelaySec = "5min";
fixedRandomDelay = true;
flags = [
"--option"
"extra-binary-caches"
"https://nix.xenia.me.uk"
];
};
systemd.services = lib.mkIf config.system.autoUpgrade.enable {
nixos-upgrade.serviceConfig = {
CPUQuota = "75%";
CPUWeight = 20;
IOWeight = 20;
};
};
boot.loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
networking = {
inherit hostName;
networkmanager.enable = true;
firewall.enable = true;
nameservers = [ "9.9.9.9" ];
};
users.users =
let
authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINI1dWlS16Keil0MGPWmMsBzx8F9ylfz+fRwxUr8/tZ/ ion"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC4M1zV3yLMMI1tYwdY9QDXJDlOBugm7UXKC+Xk89yHq pixelifytica@Vanguard"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICPypUUGVAdpl0SHrUDVw0RureuFNsljrXQvrf0uc055 pixelifytica@Northstar"
];
in
{
root.openssh = {
inherit authorizedKeys;
};
${username} = {
isNormalUser = true;
group = "users";
description = "Evie Litherland-Smith";
extraGroups = [
"networkmanager"
"wheel"
"video"
"input"
"uinput"
"dialout"
];
initialHashedPassword = "$y$j9T$tHIPQt09Kf3KH2eIRze3g/$2mwSlcq27DTGvHNPJ5EP9/1CfL3bXP0F6oS/Vuffmn3";
openssh = {
inherit authorizedKeys;
};
};
};
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
backupFileExtension = "backup";
users.${username} = {
imports = [ ./home/default.nix ];
home = {
inherit username;
homeDirectory = "/home/${username}";
};
};
extraSpecialArgs = {
inherit inputs;
};
};
environment = {
sessionVariables = {
XDG_CONFIG_HOME = "$HOME/.config";
XDG_CACHE_HOME = "$HOME/.cache";
XDG_DATA_HOME = "$HOME/.local/share";
XDG_STATE_HOME = "$HOME/.local/state";
};
systemPackages = with pkgs; [
coreutils-full
gnumake
git
file
zip
unzip
p7zip
curl
wget
dig
wireguard-tools
quickemu
distrobox
];
localBinInPath = true;
};
programs = {
command-not-found.enable = false;
ssh.startAgent = true;
nano = {
enable = true;
syntaxHighlight = true;
nanorc = ''
set nowrap
set tabstospaces
set tabsize 2
'';
};
};
services = {
upower.enable = true;
power-profiles-daemon.enable = true;
system76-scheduler = {
enable = true;
useStockConfig = true;
};
};
security.rtkit.enable = true;
virtualisation.podman.enable = true;
location = {
latitude = 51.7;
longitude = -1.2;
provider = "manual";
};
time.timeZone = "Europe/London";
i18n.defaultLocale = "en_GB.UTF-8";
console.useXkbConfig = true;
stylix = {
enable = true;
image = ./home/desktop/wallpapers/tropic_island_day.jpg;
base16Scheme = ./one-light.yaml; # Base24 scheme
polarity = "light";
opacity.popups = 0.8;
cursor = {
package = pkgs.volantes-cursors;
name = "volantes_cursors";
size = 32;
};
fonts = {
serif = {
package = inputs.iosevka-custom.outputs.packages.${pkgs.system}.iosevka-custom-etoile;
name = inputs.iosevka-custom.outputs.names.iosevka-custom-etoile;
};
sansSerif = {
package = inputs.iosevka-custom.outputs.packages.${pkgs.system}.iosevka-custom-aile;
name = inputs.iosevka-custom.outputs.names.iosevka-custom-aile;
};
monospace = {
package = pkgs.nerdfonts.override { fonts = [ "Iosevka" ]; };
name = "Iosevka Nerd Font";
};
sizes = {
applications = 12;
desktop = 14;
popups = 16;
terminal = 12;
};
};
};
fonts.packages = with pkgs; [
dejavu_fonts # General compatibility
liberation_ttf # Documents
lmodern # LaTeX
(nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; })
];
}

99
system/desktop.nix Normal file
View file

@ -0,0 +1,99 @@
{ pkgs, username, ... }:
{
home-manager.users.${username}.imports = [ ./home/desktop/default.nix ];
nixpkgs.config.chromium.commandLineArgs = "--password-store='gnome-libsecret' --enable-features=UseOzonePlatform --ozone-platform=wayland";
hardware.bluetooth.enable = true;
environment = {
sessionVariables = {
NIXOS_OZONE_WL = "1";
MOZ_ENABLE_WAYLAND = "1";
WEBKIT_DISABLE_COMPOSITING_MODE = "1";
XDG_SESSION_TYPE = "wayland";
QT_QPA_PLATFORM = "wayland";
};
systemPackages = with pkgs; [
libsecret
libnotify
xdg-utils
hunspell
hunspellDicts.en_GB-large
gnome.nautilus
];
};
security = {
polkit.enable = true;
pam.loginLimits = [
{
domain = "@users";
item = "rtprio";
type = "-";
value = 1;
}
];
};
programs = {
dconf.enable = true;
noisetorch.enable = true;
seahorse.enable = true;
file-roller.enable = true;
kdeconnect.enable = true;
hyprland.enable = true;
xwayland.enable = true;
};
gtk.iconCache.enable = true;
qt = {
enable = true;
style = "adwaita";
platformTheme = "gnome";
};
services = {
gnome.gnome-keyring.enable = true;
flatpak.enable = true;
printing.enable = true;
tumbler.enable = true;
udisks2.enable = true;
gnome.sushi.enable = true;
gvfs = {
enable = true;
package = pkgs.gnome3.gvfs;
};
kanata = {
enable = true;
keyboards.main = {
config = builtins.readFile ./kanata.kbd;
extraDefCfg = "process-unmapped-keys yes";
};
};
pipewire = {
enable = true;
pulse.enable = true;
alsa = {
enable = true;
support32Bit = true;
};
};
greetd = {
enable = true;
settings =
let
default_session.command = "Hyprland";
in
{
inherit default_session;
initial_session = {
inherit (default_session) command;
user = username;
};
};
};
xserver = {
enable = true;
xkb.layout = "gb";
};
};
xdg.portal = {
enable = true;
config.common.default = "*"; # TODO change for xdg-desktop-portal > 1.17 changes
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
};
}

View file

@ -1,32 +1,44 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
config,
lib,
pkgs,
modulesPath,
...
}:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.availableKernelModules = [
"xhci_pci"
"ahci"
"nvme"
"usbhid"
"usb_storage"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/b9d4ba04-a867-4ca6-88f9-79dc6a982e94";
fileSystems."/" = {
device = "/dev/disk/by-uuid/b9d4ba04-a867-4ca6-88f9-79dc6a982e94";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/8F05-4C3A";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/8F05-4C3A";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
options = [
"fmask=0022"
"dmask=0022"
];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/a10ee1da-3b0d-4f6b-b20a-d6a32ae1f668"; }
];
swapDevices = [ { device = "/dev/disk/by-uuid/a10ee1da-3b0d-4f6b-b20a-d6a32ae1f668"; } ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,34 +1,43 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
config,
lib,
pkgs,
modulesPath,
...
}:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "rtsx_pci_sdmmc" ];
boot.initrd.availableKernelModules = [
"nvme"
"xhci_pci"
"rtsx_pci_sdmmc"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/84b28760-3643-4ad8-9ff6-ff78b57067f8";
fileSystems."/" = {
device = "/dev/disk/by-uuid/84b28760-3643-4ad8-9ff6-ff78b57067f8";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-d1062931-ee58-4848-adf9-09452daeb6eb".device = "/dev/disk/by-uuid/d1062931-ee58-4848-adf9-09452daeb6eb";
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/ABE3-88E7";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/ABE3-88E7";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
options = [
"fmask=0022"
"dmask=0022"
];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/ba43345c-a652-497f-84d0-86064805446b"; }
];
swapDevices = [ { device = "/dev/disk/by-uuid/ba43345c-a652-497f-84d0-86064805446b"; } ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,33 +1,44 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
config,
lib,
pkgs,
modulesPath,
...
}:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "vmd" "nvme" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.availableKernelModules = [
"xhci_pci"
"thunderbolt"
"vmd"
"nvme"
"usbhid"
"usb_storage"
"sd_mod"
"rtsx_pci_sdmmc"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/44c11386-0af8-4954-93bc-963a8e071672";
fileSystems."/" = {
device = "/dev/disk/by-uuid/44c11386-0af8-4954-93bc-963a8e071672";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-bf1eab3a-6d92-430d-a282-8dd4c9efe2c7".device = "/dev/disk/by-uuid/bf1eab3a-6d92-430d-a282-8dd4c9efe2c7";
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/85D5-B6EC";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/85D5-B6EC";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/e65e5e4d-2084-4e6b-9255-3b36cba1529f"; }
];
swapDevices = [ { device = "/dev/disk/by-uuid/e65e5e4d-2084-4e6b-9255-3b36cba1529f"; } ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,13 +1,24 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
config,
lib,
pkgs,
modulesPath,
...
}:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules =
[ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
boot.initrd.availableKernelModules = [
"xhci_pci"
"ahci"
"usb_storage"
"usbhid"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
@ -17,16 +28,14 @@
fsType = "ext4";
};
boot.initrd.luks.devices."luks-08822b9c-e9d6-424c-bc75-373f8667526d".device =
"/dev/disk/by-uuid/08822b9c-e9d6-424c-bc75-373f8667526d";
boot.initrd.luks.devices."luks-08822b9c-e9d6-424c-bc75-373f8667526d".device = "/dev/disk/by-uuid/08822b9c-e9d6-424c-bc75-373f8667526d";
fileSystems."/boot/efi" = {
device = "/dev/disk/by-uuid/6009-89FC";
fsType = "vfat";
};
swapDevices =
[{ device = "/dev/disk/by-uuid/ff9627a7-820c-4628-a040-2b665688b893"; }];
swapDevices = [ { device = "/dev/disk/by-uuid/ff9627a7-820c-4628-a040-2b665688b893"; } ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
@ -37,6 +46,5 @@
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -1,39 +1,51 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
config,
lib,
pkgs,
modulesPath,
...
}:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "sd_mod" "sr_mod" ];
boot.initrd.availableKernelModules = [
"xhci_pci"
"ahci"
"nvme"
"usbhid"
"sd_mod"
"sr_mod"
];
boot.initrd.kernelModules = [ "dm-snapshot" ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/379a999a-0753-4cbf-b868-e275902f0f73";
fileSystems."/" = {
device = "/dev/disk/by-uuid/379a999a-0753-4cbf-b868-e275902f0f73";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-0d50df5f-9456-4296-9156-f5b818e11552".device = "/dev/disk/by-uuid/0d50df5f-9456-4296-9156-f5b818e11552";
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/3297-A70D";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/3297-A70D";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
options = [
"fmask=0022"
"dmask=0022"
];
};
fileSystems."/mnt/secondary" =
{ device = "/dev/disk/by-uuid/036f1fcb-0674-4ae5-a2fe-cb4f7ada001d";
fileSystems."/mnt/secondary" = {
device = "/dev/disk/by-uuid/036f1fcb-0674-4ae5-a2fe-cb4f7ada001d";
fsType = "ext4";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/26a8690a-70f9-4701-b224-b212f76a7035"; }
];
swapDevices = [ { device = "/dev/disk/by-uuid/26a8690a-70f9-4701-b224-b212f76a7035"; } ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

9
system/home/default.nix Normal file
View file

@ -0,0 +1,9 @@
{ ... }:
{
imports = [
./shell/default.nix
./scripts/default.nix
./password-store/default.nix
];
programs.home-manager.enable = true;
}

View file

@ -0,0 +1,297 @@
[
{
"name": "Spotify",
"url": "https://open.spotify.com",
"tags": ["Music", "Streaming"]
},
{
"name": "ABRP",
"url": "https://abetterrouteplanner.com/",
"tags": ["Travel"]
},
{
"name": "Patreon",
"url": "https://www.patreon.com/home",
"tags": ["Personal"]
},
{
"name": "NHS App",
"url": "https://www.nhsapp.service.nhs.uk/login",
"tags": ["Personal", "NHS"]
},
{
"name": "Krystal Hosting",
"url": "https://krystal.io",
"tags": ["Server", "Hosting"]
},
{
"name": "Home Assistant",
"url": "https://home.xenia.me.uk",
"tags": ["Home", "Automation", "Personal"]
},
{
"name": "Forgejo",
"url": "https://git.xenia.me.uk",
"tags": ["Software", "Git", "Personal"]
},
{
"name": "GitHub",
"url": "https://github.com",
"tags": ["Software", "Git"]
},
{
"name": "CCFE GitLab",
"url": "https://git.ccfe.ac.uk",
"tags": ["Software", "Git", "Work"]
},
{
"name": "NixOS Manual",
"url": "https://nixos.org/manual/nixpkgs/stable/",
"tags": ["Software", "Documentation", "Ni"]
},
{
"name": "Home Manager",
"url": "https://nix-community.github.io/home-manager/options.xhtml",
"tags": ["Software", "Documentation", "Nix"]
},
{
"name": "Plasma Manager",
"url": "https://nix-community.github.io/plasma-manager/",
"tags": ["Software", "Documentation", "Nix", "KDE", "Plasma"]
},
{
"name": "NixOS and Flakes",
"url": "https://nixos-and-flakes.thiscute.world/",
"tags": ["Software", "Documentation", "Nix"]
},
{
"name": "KDE Plasma Desktop Scripting",
"url": "https://develop.kde.org/docs/plasma/scripting/",
"tags": ["Software", "Documentation", "KDE", "Plasma"]
},
{
"name": "Awesome Emacs",
"url": "https://github.com/emacs-tw/awesome-emacs",
"tags": ["Software", "Repositories"]
},
{
"name": "Awesome Wayland",
"url": "https://github.com/natpen/awesome-wayland",
"tags": ["Software", "Repositories"]
},
{
"name": "Awesome Selfhosted",
"url": "https://github.com/awesome-selfhosted/awesome-selfhosted",
"tags": ["Software", "Repositories"]
},
{
"name": "Awesome reMarkable",
"url": "https://github.com/reHackable/awesome-reMarkable",
"tags": ["Software", "Repositories"]
},
{
"name": "NixOS Wiki",
"url": "https://nixos.wiki",
"tags": ["Wiki"]
},
{
"name": "Arch Wiki",
"url": "https://wiki.archlinux.org",
"tags": ["Wiki"]
},
{
"name": "Filament Guide",
"url": "https://help.prusa3d.com/materials",
"tags": ["3D Printing", "Filament"]
},
{
"name": "Thingiverse",
"url": "https://www.thingiverse.com/",
"tags": ["3D Printing"]
},
{
"name": "Printables",
"url": "https://www.printables.com/",
"tags": ["3D Printing"]
},
{
"name": "MyMiniFactory",
"url": "https://www.myminifactory.com",
"tags": ["3D Printing"]
},
{
"name": "pinshape",
"url": "https://www.pinshape.com",
"tags": ["3D Printing"]
},
{
"name": "YouMagine",
"url": "https://www.youmagine.com",
"tags": ["3D Printing"]
},
{
"name": "SHAPEWAYS",
"url": "https://www.shapeways.com",
"tags": ["3D Printing"]
},
{
"name": "Gambody",
"url": "https://www.gambody.com",
"tags": ["3D Printing"]
},
{
"name": "TouchTerrain",
"url": "https://touchterrain.geol.iastate.edu/",
"tags": ["3D Printing", "Modelling"]
},
{
"name": "Touch Mapper",
"url": "https://touch-mapper.org/en/",
"tags": ["3D Printing", "Modelling"]
},
{
"name": "Homepage",
"url": "https://wiki.jetdata.eu/open/index.php?title=Main_Page",
"tags": ["Wiki", "OpenWiki"]
},
{
"name": "Diagnostic Coordinator",
"url": "https://wiki.jetdata.eu/open/index.php?title=Diagnostic_Coordinator_Wiki",
"tags": ["Wiki", "OpenWiki"]
},
{
"name": "Spectroscopy Group",
"url": "https://wiki.jetdata.eu/open/index.php?title=Spectroscopy_Group:index",
"tags": ["Wiki", "OpenWiki"]
},
{
"name": "KS5 Wiki",
"url": "https://wiki.jetdata.eu/open/index.php?title=CXS:Topic3",
"tags": ["Wiki", "OpenWiki"]
},
{
"name": "KT3 Journals",
"url": "https://wiki.jetdata.eu/open/index.php?title=KT3_Journals",
"tags": ["Wiki", "OpenWiki"]
},
{
"name": "Nucleus",
"url": "https://nucleus.ukaea.uk/",
"tags": ["Work"]
},
{
"name": "Ivanti",
"url": "https://ukaea-ism.ivanticloud.com/Modules/SelfService/?NoDefaultProvider=True#home",
"tags": ["Work"]
},
{
"name": "U4BW",
"url": "https://ubw.unit4cloud.com/uk_aea_prod_web/Login/Login.aspx",
"tags": ["Work"]
},
{
"name": "APS",
"url": "https://appraisal.org.ukaea.uk/",
"tags": ["Work"]
},
{
"name": "Robin",
"url": "https://dashboard.robinpowered.com/",
"tags": ["Work", "Room Booking"]
},
{
"name": "UKAEA Pinboard",
"url": "https://pinboard.ukaea.uk/",
"tags": ["Work"]
},
{
"name": "OPEN-ADAS",
"url": "https://open.adas.ac.uk/",
"tags": ["Work"]
},
{
"name": "Physics Summary",
"url": "https://users.euro-fusion.org/pages/physics-summary/LatestSession.php",
"tags": ["Work", "JET"]
},
{
"name": "DVCM Homepage",
"url": "https://dvcm.jetdata.eu/",
"tags": ["Work", "JET"]
},
{
"name": "JET Data Services",
"url": "https://data.jet.uk",
"tags": ["Work", "JET", "Data"]
},
{
"name": "JET Dashboard",
"url": "https://data.jet.uk/dashboard/sessions/",
"tags": ["Work", "JET", "Data"]
},
{
"name": "PPF Query",
"url": "https://data.jet.uk/ppf/browse/ppfquery",
"tags": ["Work", "JET", "Data"]
},
{
"name": "ReqCo",
"url": "https://data.jet.uk/reqco/myrequests",
"tags": ["Work", "JET", "Data"]
},
{
"name": "Countdown Mimic",
"url": "http://webmimic.jet.uk/mc/codas/countdown",
"tags": ["Work", "JET", "Mimic"]
},
{
"name": "KS5 Mimic",
"url": "http://webmimic.jet.uk/DG/codas/ks5.mim.html",
"tags": ["Work", "JET", "Mimic"]
},
{
"name": "KT3 Mimic",
"url": "http://webmimic.jet.uk/DG/codas/kt3spec.mim.html",
"tags": ["Work", "JET", "Mimic"]
},
{
"name": "MAST-U Users Page",
"url": "https://users.mastu.ukaea.uk/home",
"tags": ["Work", "MAST-U"]
},
{
"name": "MAST-U Diagnostic Handbook",
"url": "https://intranet.ccfe.ac.uk/mastu-handbook",
"tags": ["Work", "MAST-U"]
},
{
"name": "MAST-U Data Access and Tools",
"url": "https://users.mastu.ukaea.uk/data-access-and-tools",
"tags": ["Work", "MAST-U"]
},
{
"name": "Outlook Calendar",
"url": "https://outlook.office.com/calendar/view/workweek",
"tags": ["Work", "Office"]
},
{
"name": "LGBTQIA+ Network Email",
"url": "https://outlook.office.com/mail/ContactUs@lgbtqi.ukaea.uk/",
"tags": ["Work", "Office", "Network", "LGBTQIA+"]
},
{
"name": "OneDrive",
"url": "https://ukaeauk-my.sharepoint.com/",
"tags": ["Work", "Office"]
},
{
"name": "PSFO Sharepoint",
"url": "https://ukaeauk.sharepoint.com/sites/Plasma",
"tags": ["Work", "Office"]
},
{
"name": "Culham Canteen Menus",
"url": "https://nucleus.ukaea.uk/Interact/Pages/Section/Default.aspx?section=10112",
"tags": ["Work", "Canteen", "Menu"]
}
]

View file

@ -0,0 +1,67 @@
(define-configuration buffer
((default-modes
(pushnew 'nyxt/mode/emacs:emacs-mode %slot-value%))
(default-modes
(pushnew 'nyxt/mode/blocker:blocker-mode %slot-value%))))
(define-configuration status-buffer
((glyph-mode-presentation-p t)
(display-tabs-by-last-access-p nil)))
(define-configuration :emacs-mode ((glyph "ε")))
(define-configuration :force-https-mode ((glyph "ϕ")))
(define-configuration :no-script-mode ((glyph "j")))
(define-configuration :user-script-mode ((glyph "u")))
(define-configuration :blocker-mode ((glyph "β")))
(define-configuration :proxy-mode ((glyph "π")))
(define-configuration :reduce-tracking-mode ((glyph "τ")))
(define-configuration :reduce-bandwidth-mode ((glyph "r")))
(define-configuration :certificate-exception-mode ((glyph "χ")))
(define-configuration :style-mode ((glyph "ϕ")))
(define-configuration :cruise-control-mode ((glyph "σ")))
(define-configuration :document-mode
"Extend with custom keybinds"
((keyscheme-map
(keymaps:define-keyscheme-map "custom" (list :import %slot-value%)
nyxt/keyscheme:emacs (list
"C-c u" 'copy-username
"C-c p" 'copy-password)))))
(define-configuration :autofill-mode
"Add autofill functions for passwords"
((autofills
(list
(nyxt/mode/autofill:make-autofill
:name "name"
:fill "Evie Litherland-Smith")
(nyxt/mode/autofill:make-autofill
:name "email"
:fill "evie@xenia.me.uk")))))
(defvar *my-search-engines*
(list
'("osm" "https://www.openstreetmap.org/search?query=~a" "https://www.openstreetmap.org/")
'("rust" "https://doc.rust-lang.org/std/index.html?search=~a" "https://doc.rust-lang.org/std/index.html")
'("crates" "https://crates.io/search?q=~a" "https://crates.io/")
'("py" "https://docs.python.org/3/search.html?q=~a" "https://docs.python.org/3")
'("pypi" "https://pypi.org/search/?q=~a" "https://pypi.org/")
'("nixwiki" "https://nixos.wiki/index.php?search=~a&go=Go" "https://nixos.wiki/")
'("archwiki" "https://wiki.archlinux.org/index.php?search=~a" "https://wiki.archlinux.org/")
'("github" "https://github.com/search?utf8=✓&q=~a&type=repositories" "https://github.com/")
'("flathub" "https://flathub.org/apps/search?q=~a" "https://flathub.org/")
'("doi" "https://dx.doi.org/~a" "https://dx.doi.org/")
'("wiki" "https://en.wikipedia.org/w/index.php?search=~a" "https://en.wikipedia.org/")
'("ddg" "https://html.duckduckgo.com/html/?q=~a" "https://html.duckduckgo.com/"))
"List of search engines.")
(define-configuration context-buffer
"Go through the search engines above and make-search-engine out of them."
((search-engines
(mapcar (lambda (engine) (apply 'make-search-engine engine))
*my-search-engines*))))
(define-configuration browser
((restore-session-on-startup-p nil)))
(setf (uiop/os:getenv "GTK_THEME") "Adwaita:light")

View file

@ -0,0 +1,4 @@
{ ... }:
{
imports = [ ./firefox.nix ];
}

View file

@ -0,0 +1,221 @@
{ config, pkgs, ... }:
{
stylix.targets.firefox.enable = false;
programs = {
browserpass = {
enable = true;
browsers = [ "firefox" ];
};
firefox = {
enable = true;
policies = {
BlockAboutProfiles = true;
Cookies = {
Behavior = "reject-tracker-and-partition-foreign";
BehaviorPrivateBrowsing = "reject";
Locked = true;
};
DefaultDownloadDirectory = config.xdg.userDirs.download;
DisableAppUpdate = true;
DisableFirefoxAccounts = true;
DisableFirefoxScreenshots = true;
DisableFirefoxStudies = true;
DisableFormHistory = true;
DisablePocket = true;
DisableProfileImport = true;
DisableSetDesktopBackground = true;
DisableSystemAddonUpdate = true;
DisableTelemetry = true;
DisplayMenuBar = "default-off";
DontCheckDefaultBrowser = true;
EnableTrackingProtection = {
Value = true;
Locked = true;
Cryptomining = true;
Fingerprinting = true;
};
ExtensionSettings = {
"queryamoid@kaply.com" = {
installation_mode = "force_installed";
install_url = "https://github.com/mkaply/queryamoid/releases/download/v0.1/query_amo_addon_id-0.1-fx.xpi";
};
# uBlock Origin
"uBlock0@raymondhill.net" = {
installation_mode = "force_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
};
# Browserpass
"browserpass@maximbaz.com" = {
installation_mode = "force_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/browserpass-ce/latest.xpi";
};
# SimpleLogin
"addon@simplelogin" = {
installation_mode = "force_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/simplelogin/latest.xpi";
};
# Consent-O-Matic
"gdpr@cavi.au.dk" = {
installation_mode = "force_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/consent-o-matic/latest.xpi";
};
# ClearURLs
"{74145f27-f039-47ce-a470-a662b129930a}" = {
installation_mode = "force_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/clearurls/latest.xpi";
};
};
FirefoxHome = {
Search = true;
TopSites = false;
SponsoredTopSites = false;
Highlights = false;
Pocket = false;
SponsoredPocket = false;
Snippets = false;
Locked = true;
};
FirefoxSuggest = {
WebSuggestions = false;
SponsoredSuggestions = false;
ImproveSuggest = false;
Locked = true;
};
HardwareAcceleration = true;
Homepage = {
Locked = true;
StartPage = "homepage-locked";
};
NewTabPage = true;
NoDefaultBookmarks = false;
OfferToSaveLogins = false;
PasswordManagerEnabled = false;
PDFjs = {
Enabled = false;
};
Permissions = {
Autoplay = {
Default = "block-audio-video";
};
};
PictureInPicture = {
Enabled = true;
};
PopupBlocking = {
Default = true;
};
RequestedLocales = [ "en-GB" ];
SearchBar = "unified";
ShowHomeButton = true;
StartDownloadsInTempDirectory = true;
};
profiles.user = {
isDefault = true;
bookmarks = builtins.fromJSON (builtins.readFile ./bookmarks.json);
settings = {
"app.shield.optoutstudies.enabled" = false;
"browser.tabs.inTitlebar" = 0;
"browser.bookmarks.addedImportButton" = false;
"browser.bookmarks.showMobileBookmarks" = false;
"browser.toolbars.bookmarks.visibility" = "never";
"browser.contentblocking.category" = "strict";
"browser.search.region" = "GB";
"browser.search.isUS" = false;
"browser.warnOnQuitShortcut" = false;
"browser.zoom.siteSpecific" = false;
"distribution.searchplugins.defaultLocale" = "en-GB";
"doh-rollout.home-region" = "GB";
"dom.private-attribution.submission.enabled" = false;
"extensions.activeThemeID" = "default-theme@mozilla.org";
"extensions.formautofill.creditCards.enabled" = false;
"general.useragent.locale" = "en-GB";
"intl.accept_languages" = "en-gb,en";
"intl.locale.requested" = "en-gb,en";
"intl.regional_prefs.use_os_locales" = true;
"media.eme.enabled" = true;
"privacy.webrtc.legacyGlobalIndicator" = false;
"signon.management.page.breach-alerts.enabled" = false;
"signon.rememberSignons" = false;
"widget.use-xdg-desktop-portal.file-picker" = 1;
"widget.use-xdg-desktop-portal.mime-handler" = 1;
"widget.use-xdg-desktop-portal.open-uri" = 1;
"browser.newtabpage.pinned" = [
{
title = "NixOS Wiki";
url = "https://wiki.nixos.org";
}
{
title = "Arch Wiki";
url = "https://wiki.archlinux.org";
}
{
title = "Hyprland Wiki";
url = "https://wiki.hyprland.org";
}
];
};
search = rec {
default = "DuckDuckGo";
privateDefault = default;
force = true;
order = [
"DuckDuckGo"
"Atlas SearXNG"
];
engines = {
"Atlas SearXNG" = {
urls = [ { template = "https://search.atlas.engineer/searxng/search?q={searchTerms}"; } ];
definedAliases = [ "@atlas" ];
};
"NixOS Wiki" = {
urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [
"@nix"
"@nixos"
"@nixoswiki"
];
};
"Arch Wiki" = {
urls = [ { template = "https://wiki.archlinux.org/index.php?search={searchTerms}"; } ];
definedAliases = [
"@aw"
"@arch"
"@archwiki"
];
};
"GitHub" = {
urls = [ { template = "https://github.com/search?q={searchTerms}"; } ];
definedAliases = [
"@gh"
"@git"
"@github"
];
};
"FlatHub" = {
url = [ { template = "https://flathub.org/apps/search?q={searchTerms}"; } ];
definedAliases = [
"@flat"
"@fthub"
"@flathub"
];
};
"NixOS Packages" = {
urls = [
{
template = "http://search.nixos.org/packages?channel=unstable&size=50&sort=relevance&type=packages&query={searchTerms}";
}
];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@nixpkgs" ];
};
"PyPI packages" = {
urls = [ { template = "https://pypi.org/search/?q={searchTerms}"; } ];
definedAliases = [ "@pypi" ];
};
};
};
};
};
};
}

View file

@ -0,0 +1,10 @@
{ ... }:
{
programs = {
browserpass.browsers = [ "librewolf" ];
librewolf = {
enable = true;
settings = { };
};
};
}

View file

@ -0,0 +1,67 @@
{ config, pkgs, ... }:
{
home.packages = [ pkgs.nyxt ];
xdg = {
configFile = {
"nyxt/config.lisp".text =
let
fonts = config.stylix.fonts;
scheme = config.lib.stylix.scheme.withHashtag;
in
''
;; Import custom configuration
(nyxt::load-lisp "${./config.lisp}")
;; Define custom theme
(define-configuration browser
((theme (make-instance 'theme:theme
:dark-p nil
:font-family "${fonts.sansSerif.name}"
:monospace-font-family "${fonts.monospace.name}"
:background-color "${scheme.base00}"
:on-background-color "${scheme.base05}"
:primary-color "${scheme.base02}"
:on-primary-color "${scheme.base05}"
:secondary-color "${scheme.base03}"
:on-secondary-color "${scheme.base05}"
:accent-color "${scheme.base0E}"
:on-accent-color "${scheme.base01}"
:action-color "${scheme.cyan}"
:on-action-color "${scheme.base01}"
:success-color "${scheme.green}"
:on-success-color "${scheme.base01}"
:highlight-color "${scheme.magenta}"
:on-highlight-color "${scheme.base01}"
:warning-color "${scheme.yellow}"
:on-warning-color "${scheme.base01}"
:codeblock-color "${scheme.base02}"
:on-codeblock-color "${scheme.base05}"))))
'';
};
dataFile."nyxt/bookmarks.lisp".text =
let
# Make a string of lisp-style list of strings, from nix-style
# list
convertTags = tags: "(" + (builtins.foldl' (x: y: x + " \"" + y + "\"") "" tags) + " )";
# Take bookmarks as returned from JSON file and convert to NYXT
# expected format
convertBookmark =
{
name,
tags,
url,
}:
"(:url \"${url}\" :title \"${name}\" :tags ${convertTags tags})\n";
in
(
# Fold all entries in bookmarks.json into single string of NYXT
# format bookmarks, each entry on a new line and with 2 space
# indentation, just for visual clarity if reading the outputted
# file
"(\n"
+ (builtins.foldl' (x: y: x + " " + convertBookmark y) "" (
builtins.fromJSON (builtins.readFile ./bookmarks.json)
))
+ ")"
);
};
}

View file

@ -0,0 +1,73 @@
{ config, pkgs, ... }:
{
programs = {
vdirsyncer.enable = true;
khal = {
enable = true;
locale = {
timeformat = "%H:%M";
dateformat = "%Y-%m-%d";
longdateformat = "%Y-%m-%d %a";
datetimeformat = "%Y-%m-%d %H:%M";
longdatetimeformat = "%Y-%m-%d %H:%M";
};
};
};
services.vdirsyncer = {
inherit (config.programs.vdirsyncer) enable package;
frequency = "*:0/30"; # Every 30 minutes
};
accounts.calendar = {
basePath = "Calendar";
accounts = {
main =
let
url = "dav.xenia.me.uk";
in
{
primary = true;
primaryCollection = "personal";
local = {
type = "filesystem";
fileExt = ".ics";
};
remote =
let
userName = "pixelifytica";
in
{
inherit userName;
url = "https://${url}";
type = "caldav";
passwordCommand = [
"${pkgs.libsecret}/bin/secret-tool"
"lookup"
"url"
"${url}"
"user"
"${userName}"
];
};
vdirsyncer = {
inherit (config.programs.vdirsyncer) enable;
auth = "basic";
collections = [
"personal"
"work"
"other"
];
metadata = [ "displayname" ];
timeRange = {
start = "datetime.now() - timedelta(days=365)";
end = "datetime.now() + timedelta(days=365)";
};
};
khal = {
inherit (config.programs.khal) enable;
type = "discover";
addresses = with config.accounts.email.accounts.proton; [ address ] ++ aliases;
};
};
};
};
}

View file

@ -0,0 +1,94 @@
{
config,
pkgs,
osConfig,
...
}:
{
imports = [
./hyprland.nix
./email/default.nix
./calendar/default.nix
./terminal/default.nix
./emacs/default.nix
./browser/default.nix
];
home = {
packages = with pkgs; [
wl-clipboard
libreoffice-fresh
evince
image-roll
clapper
g4music
ffmpeg
remmina
fractal
webcord
signal-desktop
whatsapp-for-linux
teams-for-linux
twinkle
];
file.${config.gtk.gtk2.configLocation}.force = true;
};
services = {
syncthing.enable = true;
gammastep = {
inherit (osConfig.location) latitude longitude provider;
enable = true;
tray = true;
};
};
gtk = {
enable = true;
gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
iconTheme = {
package = (pkgs.papirus-icon-theme.override { color = "magenta"; });
name = "Papirus-Light";
};
};
stylix.targets.gtk.extraCss = with config.lib.stylix.scheme.withHashtag; ''
@define-color accent_color ${base0E-hex};
@define-color accent_bg_color ${base0E-hex};
'';
xdg = {
mime.enable = true;
mimeApps =
let
defaultApplications = import ./mimeapps.nix;
in
{
enable = true;
inherit defaultApplications;
associations.added = defaultApplications;
};
userDirs = {
enable = true;
createDirectories = true;
extraConfig = {
XDG_PROJECTS_DIR = "${config.home.homeDirectory}/Projects";
};
};
configFile = {
# Stop programs from overriding mimeapps
"mimeapps.list".force = true;
# Ensure GTK config is set
"gtk-3.0/gtk.css".force = true;
"gtk-3.0/settings.ini".force = true;
"gtk-4.0/gtk.css".force = true;
"gtk-4.0/settings.ini".force = true;
# Autostart some programs
"autostart/signal-desktop.desktop".source = "${pkgs.signal-desktop}/share/applications/signal-desktop.desktop";
"autostart/com.github.eneshecan.WhatsAppForLinux.desktop".source = "${pkgs.whatsapp-for-linux}/share/applications/com.github.eneshecan.WhatsAppForLinux.desktop";
"teams-for-linux/config.json".text = builtins.toJSON {
awayOnSystemIdle = true;
closeAppOnCross = false;
followSystemTheme = true;
notificationMethod = "electron";
optInTeamsV2 = true;
spellCheckerLanguages = [ "en_GB" ];
};
};
};
}

View file

@ -0,0 +1,137 @@
{ config, pkgs, ... }:
{
imports = [
../../shell/default.nix
../../shell/git.nix
../../gpg/default.nix
];
stylix.targets.emacs.enable = false;
services.emacs = {
enable = true;
package = config.programs.emacs.finalPackage;
defaultEditor = true;
client.enable = true;
socketActivation.enable = true;
startWithUserSession = false;
};
programs.emacs = {
# Clone emacs config from https://git.xenia.me.uk/pixelifytica/emacs.git
enable = true;
package = pkgs.emacs29-pgtk;
extraConfig =
let
fixed-font-family = "${config.stylix.fonts.monospace.name}";
variable-font-family = "${config.stylix.fonts.sansSerif.name}";
font-height = builtins.toString (
builtins.floor (builtins.mul config.stylix.fonts.sizes.applications 10)
);
custom-theme-name = "nix";
custom-theme = pkgs.writeTextFile {
name = "custom-emacs-theme";
destination = "/${custom-theme-name}-theme.el";
text = ''
(deftheme ${custom-theme-name}
"Use Nix customised fonts for main faces")
(custom-theme-set-variables
'${custom-theme-name}
'(menu-bar-mode nil))
(custom-theme-set-faces
'${custom-theme-name}
'(default ((t (:family "${fixed-font-family}" :height ${font-height}))))
'(fixed-pitch ((t (:family "${fixed-font-family}"))))
'(fixed-pitch-serif ((t (:family "${fixed-font-family}"))))
'(variable-pitch ((t (:family "${variable-font-family}")))))
(provide-theme '${custom-theme-name})
'';
};
custom-theme-hash = builtins.hashFile "sha256" "${custom-theme}/${custom-theme-name}-theme.el";
in
''
(add-to-list 'custom-theme-load-path "${custom-theme}")
(add-to-list 'custom-safe-themes "${custom-theme-hash}")
(load-theme '${custom-theme-name})
'';
extraPackages =
epkgs: with epkgs; [
treesit-grammars.with-all-grammars
mu4e
emacsql-sqlite
];
};
home.packages = with pkgs; [
# Emacs requirements
imagemagick
languagetool
wordnet
# Plugin requirements
gcc
sqlite
pandoc
ghostscript
poppler_utils
graphviz
mp3info
# Customised LaTeX install
(texlive.combine {
inherit (texlive)
scheme-medium
dvisvgm
dvipng
wrapfig
amsmath
ulem
hyperref
capt-of
listings
bera
;
latex-beamer-ukaea.pkgs = [ (callPackage ./texlive/latex-beamer-ukaea/default.nix { }) ];
})
# Development tools
## Code screenshots
silicon
## Python Environments
poetry
## Linters
shellcheck
yamllint
ruff
## Formatters
nixfmt-rfc-style
shfmt
stylua
nodePackages.prettier
nodePackages.prettier-plugin-toml
## Language servers
nixd
lua-language-server
## Interpreters
(python3.withPackages (
ps: with ps; [
tkinter
python-lsp-server
mypy
numpy
scipy
xarray
matplotlib
]
))
(luajit.withPackages (ps: [ (ps.callPackage ./luarocks/scilua.nix { }) ]))
];
xdg.configFile = {
"ruff/pyproject.toml".source = ./ruff.toml;
"pypoetry/config.toml".source = ./pypoetry.toml;
};
}

View file

@ -0,0 +1,60 @@
epkgs: with epkgs; [
# UI
base16-theme
all-the-icons
nerd-icons
nerd-icons-completion
nerd-icons-corfu
nerd-icons-dired
nerd-icons-ibuffer
minions
ligature
which-key
diff-hl
# Completion
vertico
orderless
marginalia
cape
corfu
corfu-terminal
consult
consult-eglot
flyspell-correct
tempel
# IDE
treesit-auto
magit
forge
apheleia
envrc
rainbow-delimiters
flymake-shellcheck
flymake-yamllint
flymake-clippy
flymake-eslint
markdown-mode
pandoc-mode
python-docstring
nix-mode
lua-mode
# Org + LaTeX
org-roam
org-noter
citar
auctex
htmlize
# Other
password-store
emms
bbdb
ement
elfeed
elfeed-org
elfeed-tube
scad-mode
]

View file

@ -0,0 +1,53 @@
{
agg,
freetype,
buildLuarocksPackage,
fetchgit,
fetchurl,
lua,
luaOlder,
}:
buildLuarocksPackage {
pname = "graph-toolkit";
version = "scm-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/graph-toolkit-scm-1.rockspec";
sha256 = "0hsrf7k45w8ri18mdrx44mv1kr4zfr5mg76cxi8nnr30ssrblvgb";
}).outPath;
src = fetchgit (
removeAttrs
(builtins.fromJSON ''
{
"url": "https://github.com/franko/graph-toolkit",
"rev": "126a11bdbb98faf785c373516a288b7fa609f824",
"date": "2015-01-02T08:44:01-08:00",
"path": "/nix/store/gbwbjrl4j42kaqk3pjzvmckmr6dimkd0-graph-toolkit",
"sha256": "1pqjpqfandi7brk2213vlq891bl8drb0q32m5wmf0l21li0l4zrp",
"hash": "sha256-N39CQaRBUOAqL1UMDFZuiK6QEKZ7BCFmXic2qxy+Et8=",
"fetchLFS": false,
"fetchSubmodules": true,
"deepClone": false,
"leaveDotGit": false
}
'')
[
"date"
"path"
"sha256"
]
);
disabled = luaOlder "5.1";
propagatedBuildInputs = [
lua
agg
freetype
];
meta = {
homepage = "http://franko.github.io/graph-toolkit/";
description = "Lua Graphics Toolkit";
license.fullName = "GPL-3";
};
}

View file

@ -0,0 +1,38 @@
{
buildLuarocksPackage,
fetchurl,
luaAtLeast,
luaOlder,
callPackage,
luajit,
openblas,
}:
let
xsys = callPackage ./xsys.nix { };
in
buildLuarocksPackage {
pname = "sci";
version = "1.0.0.beta12-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/sci-1.0.0.beta12-1.rockspec";
sha256 = "0lprn9x4zw767hdz8lyxmwrrfyn5xj3x50pm9b4qiwy8992mg00r";
}).outPath;
src = fetchurl {
url = "https://github.com/stepelu/lua-sci/archive/v1.0.0-beta12.tar.gz";
sha256 = "0a45r7n13gfqckpdp1bmizqvjadn8nc5d6ff9gjw860g3i75sy2h";
};
disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
propagatedBuildInputs = [
luajit
xsys
openblas
];
meta = {
homepage = "https://github.com/stepelu/lua-sci";
description = "Scientific Computing with LuaJIT";
license.fullName = "MIT";
};
}

View file

@ -0,0 +1,29 @@
{
buildLuarocksPackage,
fetchurl,
luaAtLeast,
luaOlder,
luajit,
}:
buildLuarocksPackage {
pname = "xsys";
version = "1.0.2-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/xsys-1.0.2-1.rockspec";
sha256 = "0jlyrwbzh6fi68msdynp4bbihyww4i3yk0qh859xlwqhfy5cza7p";
}).outPath;
src = fetchurl {
url = "https://github.com/stepelu/lua-xsys/archive/v1.0.2.tar.gz";
sha256 = "1zwrlp6bghq8c12kyqc1ic7mrn8lf3d42755h8q2wxwhy1i3xqyh";
};
disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
propagatedBuildInputs = [ luajit ];
meta = {
homepage = "http://scilua.org/xsys.html";
description = "LuaJIT General Purpose Routines";
license.fullName = "MIT";
};
}

View file

@ -0,0 +1,9 @@
[virtualenvs]
create = true
in-project = true
[virtualenvs.options]
always-copy = true
no-pip = true
no-setuptools = true
system-site-packages = true

View file

@ -0,0 +1,38 @@
[lint]
select = [
"F", "E4", "E7", "E9", # Defaults
"W", # pycodestyle warnings
"B", # Flake8 bugbear rules
"PD", # Pandas vet rules
"NPY", # NumPy specific rules
"NPY201", # NumPy 2.0 deprecation warnings
"RUF", # Ruff specific rules
"PERF1", "PERF2", # Performance lints from Perflint
"E101", # Mixed spaces and tabs
"E501", # Line too long
"C901", # Complex structure
"I001", # Import block un-sorted / un-formatted
"I002", # Missing required import
"N804", # First argument of class method should be cls
"N805" # First argument of method should be self
]
ignore = [
"W191", # Ignore due to conflict with ruff formatter
"E111", # Ignore due to conflict with ruff formatter
"E114", # Ignore due to conflict with ruff formatter
"E117", # Ignore due to conflict with ruff formatter
"D206", # Ignore due to conflict with ruff formatter
"D300", # Ignore due to conflict with ruff formatter
"Q000", # Ignore due to conflict with ruff formatter
"Q001", # Ignore due to conflict with ruff formatter
"Q002", # Ignore due to conflict with ruff formatter
"Q003", # Ignore due to conflict with ruff formatter
"COM812", # Ignore due to conflict with ruff formatter
"COM819", # Ignore due to conflict with ruff formatter
"ISC001", # Ignore due to conflict with ruff formatter
"ISC002" # Ignore due to conflict with ruff formatter
]
unfixable = ["W", "B", "PD", "NPY", "RUF", "E101", "E501", "C901", "I001", "I002"]
[format]
docstring-code-format = false

View file

@ -0,0 +1,18 @@
# UKAEA Beamer Style
This provides a Beamer theme for the default UKAEA branding. Subbrands
(CCFE, RACE, etc.) are not current available, but would not be
difficult to add.
For best results, it is recommended that you install the non-free
Latex fonts, as described here:
<https://www.tug.org/fonts/getnonfreefonts/>. However you will still
get perfectly acceptable results without them.
The file `ukaea-example.tex` is provided as a starting point for your
presentations. Simply rename and modify it as needed. You must either
keep your presentation TeX file in the same directory as the `.sty`
and image files or install those files on your system. If you wish to
do the latter, [follow these
instructions](https://en.wikibooks.org/wiki/LaTeX/Installing_Extra_Packages#Installing_a_package)
starting from step 3.

View file

@ -0,0 +1,50 @@
\usepackage{xcolor}
\mode<presentation>
\definecolor{UkaeaCoreBlue}{RGB}{0,48,86}
\definecolor{UkaeaCoreWhite}{RGB}{255,255,255}
\definecolor{UkaeaCoreBlack}{RGB}{0,0,0}
\definecolor{UkaeaCoreGrey1}{RGB}{88,89,91}
\definecolor{UkaeaCoreGrey2}{RGB}{128,130,133}
\definecolor{UkaeaCoreGrey3}{RGB}{167,169,172}
\definecolor{UkaeaCoreGrey4}{RGB}{209,211,212}
\definecolor{UkaeaSecondaryYellow}{RGB}{246,212,77}
\definecolor{UkaeaSecondaryGreen}{RGB}{0,111,69}
\definecolor{UkaeaSecondaryBlue}{RGB}{0,130,202}
\definecolor{UkaeaSecondaryRed}{RGB}{201,37,44}
\definecolor{UkaeaSecondaryText}{RGB}{144,145,179}
\definecolor{CcfeOrange}{RGB}{248,151,29}
\definecolor{OasRed}{RGB}{230,62,48}
\definecolor{RaceSilver}{RGB}{191,196,217}
\definecolor{MrcGreen}{RGB}{5,206,124}
\setbeamercolor{headline}{bg=UkaeaCoreBlue}
\setbeamercolor{title page}{bg=UkaeaCoreBlue}
\setbeamercolor{title}{fg=UkaeaCoreWhite, bg=UkaeaCoreBlue}
\setbeamercolor{subtitle}{fg=UkaeaCoreWhite}
\setbeamercolor{author}{fg=UkaeaSecondaryText}
\setbeamercolor{date}{fg=UkaeaSecondaryText}
\setbeamercolor{institute}{fg=UkaeaSecondaryText}
\setbeamercolor{normal text}{fg=UkaeaCoreBlue}
\setbeamercolor{structure}{fg=UkaeaCoreBlue}
\setbeamercolor{frametitle}{fg=UkaeaCoreBlue}
\setbeamercolor{framesubtitle}{fg=UkaeaCoreBlue}
\setbeamercolor{alerted text}{fg=UkaeaSecondaryRed}
\setbeamercolor{block title}{fg=UkaeaCoreWhite, bg=UkaeaCoreBlue}
\setbeamercolor{block body}{parent=normal text, fg=UkaeaCoreBlack, bg=UkaeaCoreBlue!10}
\setbeamercolor{block title example}{fg=UkaeaCoreWhite, bg=UkaeaSecondaryBlue}
\setbeamercolor{block body example}{parent=normal text, fg=UkaeaCoreBlack, bg=UkaeaSecondaryBlue!10}
\setbeamercolor{block title alert}{fg=UkaeaCoreWhite, bg=UkaeaSecondaryRed}
\setbeamercolor{block body alert}{parent=normal text, fg=UkaeaCoreBlack, bg=UkaeaSecondaryRed!10}
\setbeamercolor{pagenumber}{fg=UkaeaCoreGrey3}
\mode<all>

View file

@ -0,0 +1,24 @@
% to use non-standard font
\usepackage{iftex}
\usepackage[T1]{fontenc}
\IfFileExists{uarial.sty}{
\usepackage{newtxsf, uarial, textcomp}
\usepackage[italic]{mathastext}
}{
\usepackage[scaled]{helvet}
}
\renewcommand\familydefault{\sfdefault}
\usepackage[scaled]{beramono}
\setbeamerfont{title}{family=\fontfamily{ugq}, size=\LARGE}
\setbeamerfont{subtitle}{family=\sffamily, series=\mdseries, size=\large}
\setbeamerfont{institute}{family=\fontfamily{ugq}, size=\Large}
\setbeamerfont{author}{family=\sffamily, series=\bfseries, size=\footnotesize}
\setbeamerfont{date}{family=\sffamily, series=\bfseries, size=\footnotesize}
\setbeamerfont{frametitle}{family=\fontfamily{ugq}, size=\LARGE}
\setbeamerfont{framesubtitle}{family=\sffamily, series=\mdseries, size=\Large}
\setbeamerfont{normal text}{family=\sffamily, series=\mdseries, size=\Large}

View file

@ -0,0 +1,24 @@
\mode<presentation>
\defbeamertemplate{itemize item}{circ}%
{\small\raise.2ex\hbox{$\bullet$}}
\defbeamertemplate{itemize subitem}{circ}%
{\small\raise.1ex\hbox{$\circ$}}
\defbeamertemplate{itemize subsubitem}{circ}%
{\scriptsize\raise.1ex\hbox{$\bullet$}}
\setbeamertemplate{items}[circ]
\setbeamertemplate{frametitle}
{
\nointerlineskip%
\vspace{4mm}\hspace{-8mm}
\begin{beamercolorbox}[wd=0.8\paperwidth]{frametitle}
\usebeamerfont{frametitle}{\insertframetitle}\par
\usebeamerfont{framesubtitle}{\usebeamercolor{framesubtitle}\insertframesubtitle}
\end{beamercolorbox}
}
\mode<all>

View file

@ -0,0 +1,96 @@
\usepackage{tikz}
\mode<presentation>
\DeclareOptionBeamer{logo}{\def\beamer@ukaea@logo{#1}}
\ExecuteOptionsBeamer{logo=ukaea_logo.png}
\DeclareOptionBeamer{extratitletext}{\def\beamer@ukaea@extratitletext{#1}}
\ExecuteOptionsBeamer{extratitletext=}
\ProcessOptionsBeamer
\newcommand{\ukaeatriangle}[1] {
\begin{tikzpicture}
\useasboundingbox (0,0) rectangle(\the\paperwidth,0.2\paperwidth);
\node (t1) at (\paperwidth, 0.2\paperwidth) {};
\node (t2) at (0.8\paperwidth, 0.2\paperwidth) {};
\node (t3) at (\paperwidth, 0.) {};
\fill[fill=#1] (t1.center)--(t2.center)--(t3.center);
\if \beamer@ukaea@logo\@empty
\else
\node (logo) at (0.9415\paperwidth, 0.1415\paperwidth) {
\includegraphics[height=0.073\paperwidth]{\beamer@ukaea@logo}
};
\fi
\end{tikzpicture}
}
\setbeamertemplate{title page}
{%
\newdimen\title@graphic@height
\begin{minipage}[t]{\paperwidth}
\hspace*{-1cm}\inserttitlegraphic{}
\end{minipage}
\settoheight{\title@graphic@height}{\inserttitlegraphic{}}
\vspace*{-\title@graphic@height minus 0.004\paperheight}
\hspace*{-1cm}%
\begin{minipage}{\paperwidth}
\usebeamercolor[bg]{headline}
\ukaeatriangle{bg}\par
\end{minipage}
\vspace*{-2.59cm}
\hspace*{-1.085cm}
\begin{tikzpicture}
\useasboundingbox (0,0) rectangle(\the\paperwidth,\the\paperheight);
\node (q1) at (0,0.54\paperheight) {};
\node (q2) at (\the\paperwidth,0.32\paperheight) {};
\node (q3) at (0,0) {};
\node (q4) at (\the\paperwidth,0) {};
\fill[fill=bg] (q1.center)--(q2.center)--(q4.center)--(q3.center);
\node[anchor=north west,text width=0.9\paperwidth] (titletext) at (0.4,0.44\paperheight) {
\usebeamerfont{institute}{\usebeamercolor[fg]{institute}\insertinstitute}\par
\smallskip
\usebeamerfont{title}{\usebeamercolor[fg]{title}\inserttitle}\par
\usebeamerfont{subtitle}{\usebeamercolor[fg]{subtitle}\insertsubtitle}\par
\bigskip
% \begin{minipage}{0.6\textwidth}
\usebeamercolor[fg]{date}{\usebeamerfont{date}\insertdate}\par
\usebeamercolor[fg]{author}{\usebeamerfont{author}\insertauthor}\par
% \end{minipage}
};
\node[anchor=south east,text width=0.45\paperwidth] (extratext) at
(1.28\paperwidth, 0.15) {
\usebeamercolor[fg]{title}
\usebeamerfont{main text}
\beamer@ukaea@extratitletext
};
\end{tikzpicture}
\addtocounter{framenumber}{-1}
}
\setbeamertemplate{headline}
{%\vspace{-0.07cm}\hspace{0.795\paperwidth}
\ukaeatriangle{bg}
\vspace{-0.2\paperwidth}
}
\setbeamertemplate{footline}
{
\leavevmode
\hbox{
\begin{beamercolorbox}[wd=1.0cm,ht=1.5cm,dp=0.3cm,right, rightskip=0.1cm]{pagenumber}%
\textbf{\large{\usebeamercolor[fg]{pagenumber}\insertframenumber{}}}
\end{beamercolorbox}
\usebeamercolor[fg]{normal text}{\textbf{\Large |} \raisebox{0.5ex}{\insertshorttitle}
}
}
}
\mode<all>
\endinput

View file

@ -0,0 +1,24 @@
\mode<presentation>
% Requirement
\RequirePackage{tikz}
\RequirePackage{xcolor}
% Options
\DeclareOptionBeamer{logo}{\PassOptionsToPackage{logo=#1}{beamerouterthemeukaea}}
\DeclareOptionBeamer{sponsors}{\PassOptionsToPackage{sponsors=#1}{beamerouterthemeukaea}}
\ProcessOptionsBeamer
% Settings
\useinnertheme{ukaea}
\useoutertheme{ukaea}
\usecolortheme{ukaea}
\usefonttheme{ukaea}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{blocks}[default]
%\setbeamertemplate{blocks}[rounded][shadow=true]
\titlegraphic{\includegraphics[width=\paperwidth]{ukaea-jet.jpg}}
\mode<all>

View file

@ -0,0 +1,11 @@
{ stdenvNoCC }:
stdenvNoCC.mkDerivation {
pname = "latex-beamer-ukaea";
version = "0.1";
src = ./.;
installPhase = ''
mkdir -p $out/tex/latex
cp -r $src/* $out/tex/latex
'';
tlType = "run";
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View file

@ -0,0 +1,39 @@
davmail.server=true
davmail.mode=O365Manual
davmail.url=https://outlook.office365.com/EWS/Exchange.asmx
davmail.imapPort=1144
davmail.smtpPort=1026
davmail.caldavPort=1080
davmail.enableKeepAlive=true
davmail.logFilePath=/tmp/davmail.log
davmail.enableKerberos=false
davmail.forceActiveSyncUpdate=false
davmail.imapAutoExpunge=true
davmail.useSystemProxies=false
davmail.caldavEditNotifications=false
davmail.ssl.nosecuresmtp=false
davmail.caldavPastDelay=0
log4j.logger.httpclient.wire=WARN
davmail.popMarkReadOnRetr=false
davmail.ssl.nosecureimap=false
davmail.disableTrayActivitySwitch=true
davmail.caldavAutoSchedule=true
davmail.enableProxy=false
davmail.smtpSaveInSent=false
davmail.ssl.nosecurepop=false
log4j.rootLogger=WARN
log4j.logger.davmail=DEBUG
davmail.ssl.clientKeystorePass=
log4j.logger.org.apache.http.conn.ssl=WARN
davmail.sentKeepDelay=0
davmail.ssl.nosecureldap=false
davmail.imapAlwaysApproxMsgSize=true
davmail.ssl.nosecurecaldav=false
davmail.showStartupBanner=false
log4j.logger.httpclient=WARN
log4j.logger.org.apache.http.wire=WARN
davmail.disableGuiNotifications=true
davmail.disableUpdateCheck=true
log4j.logger.org.apache.http=WARN
davmail.carddavReadPhoto=true
davmail.keepDelay=30

View file

@ -0,0 +1,175 @@
{ config, pkgs, ... }:
{
home.packages = [
(pkgs.writeShellScriptBin "davmail-setup" ''
systemctl --user restart davmail # Ensure config file is present
systemctl --user stop davmail
${pkgs.davmail}/bin/davmail -n ~/.davmail.properties
systemctl --user restart davmail
'')
];
accounts.email = {
maildirBasePath = "Mail";
accounts =
let
realName = "Evie Litherland-Smith";
in
{
proton =
let
address = "e.litherlandsmith@proton.me";
host = "127.0.0.1";
tls.enable = false;
in
{
inherit realName address;
primary = true;
maildir.path = "Proton";
imap = {
inherit host tls;
port = 1143;
};
smtp = {
inherit host tls;
port = 1025;
};
aliases = [
"evie@xenia.me.uk"
"evie@litherlandsmith.slmail.me"
];
userName = address;
passwordCommand = "${pkgs.libsecret}/bin/secret-tool lookup email ${address}";
mu.enable = true;
msmtp = {
enable = true;
extraConfig = {
tls = "off";
auth = "login";
};
};
mbsync = {
enable = true;
create = "both";
expunge = "both";
remove = "both";
patterns = [
"*"
"!All Mail"
"!Labels*"
"!Starred"
"!Recovered Messages"
];
subFolders = "Verbatim";
extraConfig.account.AuthMechs = "LOGIN";
};
};
icloud =
let
address = "e.litherlandsmith@icloud.com";
in
{
inherit realName address;
primary = false;
maildir.path = "iCloud";
imap.host = "imap.mail.me.com";
smtp.host = "smtp.mail.me.com";
userName = address;
passwordCommand = "${pkgs.libsecret}/bin/secret-tool lookup email ${address}";
mu.enable = true;
msmtp.enable = true;
mbsync = {
enable = true;
create = "both";
expunge = "both";
remove = "both";
patterns = [
"*"
"!Notes"
];
subFolders = "Verbatim";
};
};
outlook =
let
address = "evie.litherland-smith@ukaea.uk";
host = "127.0.0.1";
tls.enable = false;
in
{
inherit realName address;
primary = false;
maildir.path = "Outlook";
imap = {
inherit host tls;
port = 1144;
};
smtp = {
inherit host tls;
port = 1026;
};
aliases = [ "elitherl@jet.uk" ];
userName = address;
passwordCommand = "${pkgs.libsecret}/bin/secret-tool lookup email ${address}";
mu.enable = true;
msmtp = {
enable = true;
extraConfig = {
tls = "off";
auth = "login";
};
};
mbsync = {
enable = true;
create = "both";
expunge = "both";
remove = "both";
patterns = [
"*"
"!Conversation History"
"!Snoozed"
"!Social Activity Notifications"
"!Sync Issues*"
"!Unsent Messages"
];
subFolders = "Verbatim";
extraConfig.account.AuthMechs = "LOGIN";
};
};
};
};
programs = {
mu.enable = true;
msmtp.enable = true;
mbsync = {
enable = true;
groups.inboxes = {
proton = [ "INBOX" ];
icloud = [ "INBOX" ];
outlook = [ "INBOX" ];
};
};
};
services.mbsync = {
inherit (config.programs.mbsync) enable package;
frequency = "*:0/30"; # Every 30 minutes
verbose = true;
preExec = null;
postExec = null;
};
systemd.user.services.davmail = {
Unit = {
Description = "Davmail server";
Wants = [ "network-online.target" ];
After = [ "network-online.target" ];
};
Service = {
Environment = [ "PATH=/run/current-system/sw/bin/:$PATH" ];
Restart = "always";
ExecStartPre = with config.home; ''
/bin/sh -c "if [ ! -f ${homeDirectory}/.davmail.properties ]; then cp ${./davmail.properties} ${homeDirectory}/.davmail.properties; fi; chmod 644 ${homeDirectory}/.davmail.properties"
'';
ExecStart = "${pkgs.davmail}/bin/davmail -notray ${config.home.homeDirectory}/.davmail.properties";
};
Install.WantedBy = [ "default.target" ];
};
}

View file

@ -0,0 +1,3 @@
--
Evelyn Litherland-Smith (she/they)
email: evie@xenia.me.uk

View file

@ -0,0 +1,5 @@
--
Evelyn Litherland-Smith (she/they)
Spectroscopy Diagnostic Physicist
Plasma Science and Fusion Operations
UK Atomic Energy Authority

View file

@ -0,0 +1,25 @@
{ config, lib, ... }:
{
programs.fuzzel = {
enable = true;
settings = {
main = {
icon-theme = config.gtk.iconTheme.name;
icons-enabled = true;
fields = "filename,name,generic,categories";
fuzzy = true;
filter-desktop = true;
terminal = "${config.programs.alacritty.package}/bin/alacritty -e";
lines = 24;
width = 80;
tabs = 4;
layer = "overlay";
};
border = {
width = 1;
radius = 5;
};
colors.border = lib.mkForce "${config.lib.stylix.scheme.base0E}ff";
};
};
}

View file

@ -0,0 +1,459 @@
{
config,
lib,
pkgs,
osConfig,
...
}:
{
imports = [
./waybar.nix
./fuzzel.nix
./mako.nix
];
home.packages = [
(pkgs.writeShellScriptBin "protonmail-setup-bridge" ''
pkill -9 -f protonmail-bridge
PASSWORD_STORE_DIR=/dev/null ${pkgs.protonmail-bridge}/bin/protonmail-bridge -c
${config.wayland.windowManager.hyprland.finalPackage}/bin/hyprctl dispatch exec "PASSWORD_STORE_DIR=/dev/null ${pkgs.protonmail-bridge}/bin/protonmail-bridge -n"
'')
];
services = {
hyprpaper.enable = true;
kanshi.systemdTarget = "hyprland-session.target";
gpg-agent.pinentryPackage = pkgs.pinentry-gnome3;
avizo = {
enable = true;
settings.default = {
image-opacity = lib.mkForce "1.0";
border-color =
let
scheme = config.lib.stylix.scheme;
in
lib.mkForce "rgba(${scheme.base0E-rgb-r}, ${scheme.base0E-rgb-g}, ${scheme.base0E-rgb-b}, 1.0)";
};
};
kdeconnect = {
enable = true;
indicator = true;
};
udiskie = {
enable = true;
notify = true;
automount = true;
tray = "never";
};
hypridle = {
enable = true;
settings =
let
hyprctl = "${config.wayland.windowManager.hyprland.finalPackage}/bin/hyprctl";
hyprlock = "${config.programs.hyprlock.package}/bin/hyprlock";
in
{
general = {
after_sleep_cmd = "${hyprctl} dispatch dpms on";
ignore_dbus_inhibit = false;
lock_cmd = "${hyprlock}";
};
listener = [
{
timeout = 900;
on-timeout = "${hyprlock}";
}
{
timeout = 1200;
on-timeout = "${hyprctl} dispatch dpms off";
on-resume = "${hyprctl} dispatch dpms on";
}
];
};
};
};
programs = {
waybar.systemd.target = "hyprland-session.target";
hyprlock =
let
font = config.stylix.fonts.sansSerif.name;
scheme = config.lib.stylix.scheme;
accent = scheme.base0E;
in
{
enable = true;
settings = {
general = {
hide_cursor = true;
grace = 5;
ignore_emptry_input = true;
};
background = [
{
monitor = "";
path = "screenshot";
blur_passes = 3;
blur_size = 8;
}
];
label = [
{
monitor = "";
text = "cmd[update:30000] echo \"$(date +\"%R\")\"";
color = "0xff${scheme.base00}";
font_size = 90;
font_family = font;
position = "-30, 0";
halign = "right";
valign = "top";
}
{
monitor = "";
text = "cmd[update:43200000] echo \"$(date +\"%A,%e %B %Y\")\"";
color = "0xff${scheme.base00}";
font_size = 25;
font_family = font;
position = "-30, -150";
halign = "right";
valign = "top";
}
];
image = [
{
monitor = "";
path = "${./pfp/personal.png}";
size = 100;
border_color = "0xff${accent}";
position = "0, 75";
halign = "center";
valign = "center";
}
];
input-field = [
{
monitor = "";
size = "300, 60";
outline_thickness = 2;
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true;
outer_color = "0xff${accent}";
inner_color = "0xff${scheme.base00}";
font_color = "0xff${scheme.base05}";
fade_on_empty = false;
placeholder_text = "󰌾 Logged in as <span foreground=\"##${accent}\">$USER</span>";
check_color = "0xff${scheme.blue}";
fail_color = "0xff${scheme.red}";
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>";
hide_input = false;
position = "0, -50";
halign = "center";
valign = "center";
}
];
};
};
};
wayland.windowManager.hyprland = {
enable = true;
xwayland.enable = true;
systemd.enable = true;
settings = {
monitor = [ ",preferred,auto,auto" ];
env = [
"XDG_CURRENT_DESKTOP=Hyprland"
"XDG_SESSION_DESKTOP=Hyprland"
"GDK_BACKEND=wayland,x11"
"QT_AUTO_SCREEN_SCALE_FACTOR,1"
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
"GRIM_DEFAULT_DIR,${config.xdg.userDirs.pictures}/Screenshots"
];
exec-once = [
"systemctl --user import-environment WAYLAND_DISPLAY QT_QPA_PLATFORMTHEME"
"${config.wayland.windowManager.hyprland.finalPackage}/bin/hyprctl setcursor ${config.gtk.cursorTheme.name} ${toString config.gtk.cursorTheme.size}"
"${pkgs.libsForQt5.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"
"PASSWORD_STORE_DIR=/dev/null ${pkgs.protonmail-bridge}/bin/protonmail-bridge -n"
"sleep 5; ${pkgs.dex}/bin/dex -a"
];
gestures.workspace_swipe = true;
input = {
kb_layout = osConfig.services.xserver.xkb.layout;
follow_mouse = 1;
touchpad.natural_scroll = "yes";
};
dwindle = {
force_split = 2;
preserve_split = false;
smart_split = false;
smart_resizing = false;
special_scale_factor = 0.95;
no_gaps_when_only = 0;
use_active_for_splits = true;
default_split_ratio = 1.0;
};
master = {
allow_small_split = true;
special_scale_factor = 0.95;
mfact = 0.5;
# new_is_master = false;
new_on_top = false;
no_gaps_when_only = 0;
orientation = "left";
inherit_fullscreen = false;
smart_resizing = false;
drop_at_cursor = true;
};
general = {
"col.active_border" = lib.mkForce "rgb(${config.lib.stylix.scheme.magenta})";
gaps_in = 2.5;
gaps_out = 5;
border_size = 1;
# cursor_inactive_timeout = 0;
layout = "master";
};
decoration = {
rounding = 5;
"col.shadow" = lib.mkForce "rgba(${config.lib.stylix.scheme.base00}0d)";
drop_shadow = "yes";
shadow_ignore_window = true;
shadow_range = 4;
shadow_render_power = 3;
blur = {
enabled = true;
size = 5;
passes = 3;
new_optimizations = true;
brightness = 1.0;
noise = 2.0e-2;
};
};
animations = {
enabled = true;
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
animation = [
"windows, 1, 7, myBezier"
"windowsOut, 1, 7, default, popin 80%"
"border, 1, 10, default"
"borderangle, 1, 8, default"
"fade, 1, 7, default"
"workspaces, 1, 6, default"
];
};
misc = {
disable_splash_rendering = true;
disable_autoreload = true;
mouse_move_enables_dpms = true;
key_press_enables_dpms = true;
};
xwayland.force_zero_scaling = true;
layerrule =
let
blur = x: "blur, ^(${x})$";
ignorealpha = x: "ignorealpha 0.3, ^(${x})$";
layers = [
"system-menu"
"gtk-layer-shell"
"notifications"
"launcher"
"logout_dialog"
"waybar"
"avizo"
];
in
(lib.lists.forEach layers blur) ++ (lib.lists.forEach layers ignorealpha);
windowrule = [
# Float + move system windows
# Password prompts
"float, org.kde.polkit-kde-authentication-agent-1|Pinentry|pinentry-qt|gcr-prompter"
"center, org.kde.polkit-kde-authentication-agent-1|Pinentry|pinentry-qt|gcr-prompter"
"pin, org.kde.polkit-kde-authentication-agent-1|Pinentry|pinentry-qt|gcr-prompter"
"dimaround, org.kde.polkit-kde-authentication-agent-1|Pinentry|pinentry-qt|gcr-prompter"
"stayfocused, org.kde.polkit-kde-authentication-agent-1|Pinentry|pinentry-qt|gcr-prompter"
# Network and Bluetooth control panels
"float, pavucontrol|.blueman-manager-wrapped|nm-connection-editor"
"size 800 600, pavucontrol|.blueman-manager-wrapped|nm-connection-editor"
"move onscreen 100%-820 50,pavucontrol|.blueman-manager-wrapped|nm-connection-editor"
# File picker dialog
"float, xdg-desktop-portal-gtk"
"size 800 600, xdg-desktop-portal-gtk"
"center, xdg-desktop-portal-gtk"
# Workspace rules
"workspace 2, firefox" # Browser
"workspace 3, (libreoffice|soffice)(.*)" # Documents
"workspace 4, (signal|whatsapp-for-linux|WebCord|teams-for-linux)" # Messaging
"workspace 5, (org.remmina.Remmina|Nxplayer.bin)" # Remote Desktop
"workspace 6 silent, (steam|steam_app|lutris|page.kramo.Cartridges|org.prismlauncher.PrismLauncher)" # Gaming
# PrismLauncher / Minecraft
"float, org.prismlauncher.PrismLauncher"
"center, org.prismlauncher.PrismLauncher"
"size 800 600, org.prismlauncher.PrismLauncher"
];
windowrulev2 = [
# Firefox PIP
"float, title:Picture-in-Picture|Library,class:firefox"
"size 750 400, title:Picture-in-Picture,class:firefox"
"size 800 800, title:Library,class:firefox"
"move onscreen 100%-775 100%-425, title:Picture-in-Picture,class:firefox"
"center, title:Library,class:firefox"
"pin, title:Picture-in-Picture,class:firefox"
# NautilusPreviewer (Sushi)
"float, class:org.gnome.NautilusPreviewer"
"center, class:org.gnome.NautilusPreviewer"
# Electron file picker dialog
"float, title:Open Files,class:electron"
"size 800 600, title:Open Files,class:electron"
"center, title:Open Files,class:electron"
# Inhibit idle when watching videos
"idleinhibit fullscreen, class:firefox|com.github.rafostar.Clapper"
# Inhibit idle when playing games
"idleinhibit always, class:(steam_app|Minecraft).*"
# LibreOffice
"suppressevent fullscreen maximize, class:(libreoffice|soffice)(.*)"
"float, title:Open,class:(libreoffice|soffice)(.*)"
# Steam
"float, title:Friends List,class:steam"
"size 400 600, title:Friends List,class:steam"
"float, title:(.*)(Chat),class:steam"
"size 800 600, title:(.*)(Chat),class:steam"
"float, title:Steam Settings,class:steam"
"size 800 600, title:Steam Settings,class:steam"
"float, title:(.*)(Controller Layout),class:steam"
"size 1200 800, title:(.*)(Controller Layout),class:steam"
# Remmina / NoMachine
"suppressevent fullscreen maximize, class:org.remmina.Remmina|Nxplayer.bin"
"float, title:Remmina Remote Desktop Client, class:org.remmina.Remmina"
"center, title:Remmina Remote Desktop Client, class:org.remmina.Remmina"
];
bind =
let
withTerm =
{
term ? "alacritty",
package ? config.programs.${term}.package,
progname,
args ? "",
}:
"${package}/bin/${term} -T ${progname} -e ${progname} ${args}";
workspace = w: [
"SUPER, ${toString w}, moveworkspacetomonitor, ${toString w} current"
"SUPER, ${toString w}, workspace, ${toString w}"
"SUPER SHIFT, ${toString w}, movetoworkspace, ${toString w}"
];
in
lib.lists.flatten (lib.lists.forEach (lib.lists.range 1 9) workspace)
++ (
let
btm_args = "--autohide_time --battery --celsius --enable_cache_memory --enable_gpu_memory --group --hide_avg_cpu --hide_table_gap --retention=3m --show_table_scroll_position";
in
[
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Open Hyprland wiki at correct version number
"CTRL_SHIFT, H, exec, xdg-open \"https://wiki.hyprland.org/$(${config.wayland.windowManager.hyprland.finalPackage}/bin/hyprctl version -j | ${pkgs.jq}/bin/jq $args.tag | ${pkgs.gnused}/bin/sed s/v// | ${pkgs.gnused}/bin/sed s/\\\"//g)\""
"SUPER, F1, exec, ${config.programs.hyprlock.package}/bin/hyprlock"
# "SUPER, F1, exec, ${config.programs.swaylock.package}/bin/swaylock --screenshots --clock --indicator --grace-no-mouse"
"SUPER, Q, killactive,"
"SUPER, V, togglefloating"
# "SUPER SHIFT, V, setfloating" ## TODO setfloating exists
# in newer version of Hyprland than mine
"SUPER SHIFT, V, moveactive, exact 1% 4%"
"SUPER SHIFT, V, resizeactive, exact 800 600"
"SUPER SHIFT, V, pin"
"SUPER, M, fullscreen, 1" # Maximise window
"SUPER SHIFT, M, fullscreen, 0" # Actual fullscreen
"SUPER, Z, exec, ${config.services.mako.package}/bin/makoctl restore"
"SUPER SHIFT, Z, exec, exec ${config.services.mako.package}/bin/makoctl dismiss -a"
# Common program shortcuts
"SUPER, Space, exec, ${config.programs.fuzzel.package}/bin/fuzzel"
"SUPER, Return, exec, ${config.programs.alacritty.package}/bin/alacritty"
"SUPER SHIFT, Return, exec, ${config.programs.emacs.finalPackage}/bin/emacsclient -c"
"SUPER, W, exec, ${config.programs.firefox.finalPackage}/bin/firefox"
"SUPER, F, exec, ${pkgs.gnome.nautilus}/bin/nautilus"
# Terminal utilities
"SUPER, S, exec, ${
withTerm {
progname = "${config.programs.bottom.package}/bin/btm";
args = btm_args;
}
}"
"SUPER SHIFT, S, exec, ${
withTerm {
progname = "${config.programs.bottom.package}/bin/btm";
args = btm_args + " --basic";
}
}"
"SUPER, C, exec, ${withTerm { progname = "${config.programs.cava.package}/bin/cava"; }}"
# Misc useful binds
",Print,exec,${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" - | ${pkgs.swappy}/bin/swappy -f -"
# ",XF86Calculator,exec,pkill rofi || ${config.programs.rofi.finalPackage}/bin/rofi -show calc"
# Movement binds
"SUPER, H, movefocus, l"
"SUPER, L, movefocus, r"
"SUPER, K, movefocus, u"
"SUPER, J, movefocus, d"
"SUPER SHIFT, H, movewindow, l"
"SUPER SHIFT, L, movewindow, r"
"SUPER SHIFT, K, movewindow, u"
"SUPER SHIFT, J, movewindow, d"
# Special workspaces
"SUPER, comma, workspace, m-1"
"SUPER SHIFT, comma, movetoworkspace, r-1"
"SUPER, period, workspace, m+1"
"SUPER SHIFT, period, movetoworkspace, r+1"
"SUPER, N, workspace, empty"
"SUPER SHIFT, N, movetoworkspace, empty"
"SUPER, minus, togglespecialworkspace"
"SUPER SHIFT, minus, movetoworkspace, special"
"SUPER, bracketright, focusmonitor, +1"
"SUPER SHIFT, bracketright, movecurrentworkspacetomonitor, +1"
"SUPER, bracketleft, focusmonitor, -1"
"SUPER SHIFT, bracketleft, movecurrentworkspacetomonitor, -1"
"SUPER, O, focusurgentorlast"
]
);
bindl = [
# Sound
",XF86AudioMute,exec,${config.services.avizo.package}/bin/volumectl %"
",XF86AudioMicMute,exec,${config.services.avizo.package}/bin/volumectl -m %"
# Playback
",XF86AudioPlay,exec,${pkgs.playerctl}/bin/playerctl play-pause"
",XF86AudioStop,exec,${pkgs.playerctl}/bin/playerctl play-pause"
",XF86AudioPrev,exec,${pkgs.playerctl}/bin/playerctl previous"
",XF86AudioNext,exec,${pkgs.playerctl}/bin/playerctl next"
];
bindle = [
# Sound
",XF86AudioRaiseVolume,exec,${config.services.avizo.package}/bin/volumectl -u + 5"
",XF86AudioLowerVolume,exec,${config.services.avizo.package}/bin/volumectl -u - 5"
# Brightness
",XF86MonBrightnessUp,exec,${config.services.avizo.package}/bin/lightctl + 5"
",XF86MonBrightnessDown,exec,${config.services.avizo.package}/bin/lightctl - 5"
];
bindm = [
# Move/resize windows with mainMod + LMB/RMB and dragging
"SUPER, mouse:272, movewindow"
"SUPER, mouse:273, resizewindow"
];
};
};
xdg.configFile."hypr/hyprpaper.conf".text = ''
preload = ${config.stylix.image}
wallpaper = ,${config.stylix.image}
'';
}

View file

@ -0,0 +1,18 @@
{ config, lib, ... }:
{
services.mako = {
enable = true;
anchor = "top-right";
width = 600;
height = 600;
layer = "top";
markup = true;
maxVisible = 10;
icons = true;
iconPath = with config.gtk.iconTheme; "${package}/share/icons/${name}";
borderRadius = 5;
borderSize = 1;
borderColor = lib.mkForce config.lib.stylix.scheme.withHashtag.base0E;
defaultTimeout = (builtins.mul 5 1000); # 5s timeout
};
}

View file

@ -0,0 +1,77 @@
let
emacs = [ "emacsclient.desktop" ];
browser = [ "firefox.desktop" ];
in
{
"inode/directory" = [ "org.gnome.Nautilus.desktop" ];
"inode/symlink" = [ "org.gnome.Nautilus.desktop" ];
"image/jpeg" = [ "com.github.weclaw1.ImageRoll.desktop" ];
"image/png" = [ "com.github.weclaw1.ImageRoll.desktop" ];
"video/mp4" = [ "com.github.rafostar.Clapper.desktop" ];
"text/plain" = emacs;
"text/richtext" = emacs;
"text/org" = emacs;
"text/markdown" = emacs;
"text/rust" = emacs;
"text/csv" = emacs;
"text/css" = emacs;
"text/tab-separated-values" = emacs;
"text/html" = browser;
"text/x-emacs-lisp" = emacs;
"text/x-fortran" = emacs;
"text/x-idl" = emacs;
"text/x-log" = emacs;
"text/x-lua" = emacs;
"text/x-makefile" = emacs;
"text/x-cmake" = emacs;
"text/x-python" = emacs;
"text/x-python3" = emacs;
"text/x-readme" = emacs;
"text/x-scheme" = emacs;
"text/x-tex" = emacs;
"text/x-texinfo" = emacs;
"application/json" = emacs;
"application/toml" = emacs;
"application/yaml" = emacs;
"application/xml" = emacs;
"application/rss+xml" = emacs;
"application/xhtml+xml" = emacs;
"application/oxps" = emacs;
"application/zip" = [ "org.gnome.FileRoller.desktop" ];
"application/pdf" = [ "org.gnome.Evince.desktop" ];
"application/epub+zip" = [ "org.gnome.Evince.desktop" ];
"application/msword" = [ "writer.desktop" ];
"application/x-shellscript" = emacs;
"application/x-docbook+xml" = emacs;
"application/x-yaml" = emacs;
"application/x-archive" = [ "org.gnome.FileRoller.desktop" ];
"application/x-extension-htm" = browser;
"application/x-extension-html" = browser;
"application/x-extension-shtml" = browser;
"application/x-extension-xhtml" = browser;
"application/x-extension-xht" = browser;
"application/x-mozilla-bookmarks" = browser;
"application/x-zoom" = browser;
"x-scheme-handler/http" = browser;
"x-scheme-handler/https" = browser;
"x-scheme-handler/about" = browser;
"x-scheme-handler/chrome" = browser;
"x-scheme-handler/webcal" = browser;
"x-scheme-handler/geo" = [ "openstreetmap-geo-handler.desktop" ];
"x-scheme-handler/mailto" = [ "emacsclient-mail.desktop" ];
"x-scheme-handler/unknown" = emacs;
"x-scheme-handler/prusaslicer" = [ "PrusaSlicerURLProtocol.desktop" ];
"x-scheme-handler/ms-word" = [ "writer.desktop" ];
"x-scheme-handler/ms-powerpoint" = [ "impress.desktop" ];
"x-scheme-handler/ms-excel" = [ "calc.desktop" ];
"x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ] ++ browser;
"x-scheme-handler/zoomus" = browser;
"x-scheme-handler/zoommtg" = browser;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View file

@ -0,0 +1,360 @@
{
config,
pkgs,
inputs,
osConfig,
...
}:
{
stylix.targets.kde.enable = false;
imports = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
home.packages = with pkgs; [
protonmail-bridge-gui
libreoffice-qt-fresh
rc2nix
wl-clipboard
];
services.gpg-agent.pinentryPackage = pkgs.pinentry-qt;
programs.plasma = {
enable = true;
overrideConfig = true;
workspace = {
iconTheme = config.gtk.iconTheme.name;
cursor = {
inherit (config.home.pointerCursor) size;
theme = config.home.pointerCursor.name;
};
wallpaper = config.stylix.image;
};
fonts =
let
general = {
family = config.stylix.fonts.sansSerif.name;
pointSize = 12;
};
small = {
inherit (general) family;
pointSize = general.pointSize - 2;
};
fixedWidth = {
family = config.stylix.fonts.monospace.name;
pointSize = 12;
};
in
{
inherit general small fixedWidth;
menu = general;
toolbar = general;
windowTitle = small;
};
hotkeys.commands = {
"launch-alacritty" = {
name = "Launch Alacritty terminal emulator";
key = "Ctrl+Alt+T";
command = "alacritty";
};
"launch-emacs" = {
name = "Launch Emacs Client Window";
key = "Meta+Alt+X";
command = "emacsclient -c";
};
};
panels = [
{
height = 32;
lengthMode = "fill";
location = "bottom";
alignment = "center";
hiding = "normalpanel";
floating = true;
screen = "all";
widgets = [
{
name = "org.kde.plasma.kicker";
config.General = {
icon = "nix-snowflake";
appNameFormat = 0;
limitDepth = true;
alphaSort = true;
recentOrdering = 0;
showRecentApps = true;
showRecentDocs = true;
showIconsRootLevel = true;
};
}
"org.kde.plasma.marginsseparator"
{
name = "org.kde.plasma.pager";
config.General = {
showWindowIcons = "true";
showOnlyCurrentScreen = "false";
wrapPage = "true";
};
}
"org.kde.plasma.panelspacer"
{
name = "org.kde.plasma.icontasks";
config.General = {
maxStripes = "1";
showToolTips = "true";
launchers = [
"preferred://filemanager"
"preferred://browser"
"applications:emacs.desktop"
"applications:Alacritty.desktop"
"applications:writer.desktop"
"applications:calc.desktop"
"applications:impress.desktop"
"applications:org.kde.okular.desktop"
"applications:org.kde.elisa.desktop"
"applications:org.kde.plasma-systemmonitor.desktop"
"applications:systemsettings.desktop"
];
};
}
"org.kde.plasma.panelspacer"
"org.kde.plasma.marginsseparator"
"org.kde.plasma.keyboardindicator"
"org.kde.plasma.cameraindicator"
{
systemTray = {
icons = {
spacing = "small";
scaleToFit = false;
};
};
}
{
digitalClock = {
date = {
enable = true;
format = "isoDate";
position = "besideTime";
};
time = {
format = "24h";
showSeconds = "onlyInTooltip";
};
calendar.showWeekNumbers = true;
};
}
{
name = "org.kde.plasma.userswitcher";
config.General = {
showFace = "true";
showName = "false";
showFullName = "true";
showTechnicalInfo = "true";
};
}
];
}
];
shortcuts = {
ksmserver = {
"Lock Session" = [
"Screensaver"
"Meta+Alt+L"
];
};
kwin = {
"Walk Through Windows of Current Application" = "Alt+`";
"Walk Through Windows of Current Application (Reverse)" = "Alt+¬";
"ToggleMouseClick" = "Meta+*";
"Expose" = "Meta+,";
"Switch Window Down" = "Meta+J";
"Switch Window Left" = "Meta+H";
"Switch Window Right" = "Meta+L";
"Switch Window Up" = "Meta+K";
"Invert" = "Meta+Ctrl+I";
"InvertWindow" = "Meta+Ctrl+U";
"Invert Screen Colors" = [ ];
};
"services/org.kde.konsole.desktop"."_launch" = [ ];
"services/org.kde.krunner.desktop"."_launch" = [
"Meta+Space"
"Search"
"Alt+F2"
];
};
kwin = {
virtualDesktops = {
rows = 1;
number = 4;
};
effects = {
translucency.enable = true;
blur.enable = true;
cube.enable = true;
dimAdminMode.enable = true;
};
};
powerdevil =
let
powerButtonAction = "turnOffScreen";
whenSleepingEnter = "standbyThenHibernate";
whenLaptopLidClosed = "sleep";
in
{
AC = {
inherit powerButtonAction whenSleepingEnter whenLaptopLidClosed;
autoSuspend = {
action = "sleep";
idleTimeout = 7200;
};
dimDisplay = {
enable = true;
# idleTimeOut = 300;
};
turnOffDisplay = {
idleTimeout = 1800;
idleTimeoutWhenLocked = 120;
};
};
battery = {
inherit powerButtonAction whenSleepingEnter whenLaptopLidClosed;
autoSuspend = {
action = "sleep";
idleTimeout = 900;
};
dimDisplay = {
enable = true;
# idleTimeOut = 120;
};
turnOffDisplay = {
idleTimeout = 300;
idleTimeoutWhenLocked = 60;
};
};
lowBattery = {
inherit powerButtonAction whenSleepingEnter whenLaptopLidClosed;
autoSuspend = {
action = "hibernate";
idleTimeout = 300;
};
dimDisplay = {
enable = true;
# idleTimeOut = 60;
};
turnOffDisplay = {
idleTimeout = 120;
idleTimeoutWhenLocked = "immediately";
};
};
};
configFile = {
baloofilerc."Basic Settings"."Indexing-Enabled" = false;
kwalletrc."org.freedesktop.secrets".apiEnabled = true;
kcminputrc.Keyboard.NumLock = 1;
plasmanotifyrc = {
Notifications = {
NormalAlwaysOnTop = true;
};
};
krunnerrc = {
General = {
ActivateWhenTypingOnDesktop = false;
FreeFloating = true;
};
};
kscreenlockerrc = {
Daemon.Timeout = 15;
Greeter.WallpaperPlugin = "org.kde.potd";
};
klipperrc = {
General = {
SyncClipboards = true;
MaxClipItems = 5;
IgnoreImages = false;
KeepClipboardContents = false;
};
};
kdeglobals = {
General =
let
AccentColor =
let
r = config.lib.stylix.scheme."base0E-rgb-r";
g = config.lib.stylix.scheme."base0E-rgb-g";
b = config.lib.stylix.scheme."base0E-rgb-b";
in
"${r}, ${g}, ${b}";
in
{
inherit AccentColor;
LastUsedCustomAccentColor = AccentColor;
TerminalApplication = "alacritty";
TerminalService = "Alacritty.desktop";
};
WM = {
# TODO convert to base16 colours at some point
activeBackground = "227,229,231";
activeBlend = "227,229,231";
activeForeground = "35,38,41";
inactiveBackground = "239,240,241";
inactiveBlend = "239,240,241";
inactiveForeground = "112,125,138";
};
};
breezerc = {
Common = {
OutlineClassButton = true;
OutlineCloseButtone = true;
ShadowSize = "ShadowVeryLarge";
ShadowStrength = "128";
};
Style = {
MenuOpacity = "100";
};
};
dolphinrc = {
ContentDisplay = {
UsePermissionsFormat = "CombinedFormat";
};
General = {
BrowseThroughArchives = true;
OpenNewTabAfterLastTab = true;
RememberOpenedTabs = false;
};
};
kwinrc = {
Plugins = {
frozenappEnabled = false;
mouseclickEnabled = true;
shakecursorEnabled = false;
invertEnabled = true;
};
Windows = {
FocusPolicy = "FocusFollowsMouse";
RollOverDesktops = true;
};
NightColor = {
Active = true;
Mode = "Location";
LatitudeFixed = "${osConfig.location.latitude}";
LongitudeFixed = "${osConfig.location.longitude}";
};
"Effect-translucency" = {
Inactive = 100;
MoveResize = 100;
Dialogs = 100;
ComboboxPopups = 100;
Menus = 100;
};
"org.kde.kdecoration2" = {
BorderSize = "None";
BorderSizeAuto = "false";
};
};
};
};
xdg.configFile."autostart/proton-bridge-gui.desktop".source = "${pkgs.protonmail-bridge-gui}/share/applications/proton-bridge-gui.desktop";
}

View file

@ -0,0 +1,202 @@
{
config,
lib,
pkgs,
osConfig,
...
}:
{
imports = [
./waybar.nix
./fuzzel.nix
./mako.nix
];
stylix.targets.swaylock.useImage = false; # Using swaylock-effects instead
home.packages = with pkgs; [
libreoffice-fresh
ffmpeg
grim
slurp
swappy
wl-clipboard
swayimg
swaybg
(writeShellScriptBin "swaylockfx" ''
${swaylock-effects}/bin/swaylock --screenshots --clock --indicator --effect-blur 7x5 --effect-vignette 0.5:0.5
'')
(writeShellScriptBin "protonmail-setup-bridge" ''
pkill -9 -f protonmail-bridge
${protonmail-bridge}/bin/protonmail-bridge -c
swaymsg exec "${protonmail-bridge}/bin/protonmail-bridge -n"
'')
];
programs = {
waybar.systemd.target = "sway-session.target";
swaylock = {
enable = true;
package = pkgs.swaylock-effects;
};
};
services = {
kanshi.systemdTarget = "sway-session.target";
gpg-agent.pinentryPackage = pkgs.pinentry-gnome3;
avizo = {
enable = true;
settings.default.image-opacity = lib.mkForce "1.0";
};
kdeconnect = {
enable = true;
indicator = true;
};
swayidle = {
enable = true;
timeouts = [
{
timeout = 60 * 15; # 15 minutes
command = "swaylockfx";
}
];
};
udiskie = {
enable = true;
notify = true;
automount = true;
tray = "never";
};
};
wayland.windowManager.sway = {
enable = true;
package = pkgs.swayfx.overrideAttrs (old: {
passthru.providedSessions = [ "sway" ];
});
swaynag.enable = true;
systemd.enable = true;
xwayland = true;
checkConfig = false;
config = {
input = {
"*" = {
xkb_layout = osConfig.services.xserver.xkb.layout;
};
"type:touchpad" = {
tap = "enabled";
natural_scroll = "enabled";
};
};
seat = {
"seat0" = {
xcursor_theme = "${config.gtk.cursorTheme.name} ${toString config.gtk.cursorTheme.size}";
};
};
modifier = "Mod4";
terminal = "${config.programs.alacritty.package}/bin/alacritty";
menu = "${config.programs.fuzzel.package}/bin/fuzzel";
workspaceAutoBackAndForth = true;
bars = [ ];
gaps = {
inner = 5;
outer = 0;
};
startup = [
{ command = "${pkgs.libsForQt5.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"; }
{ command = "${pkgs.protonmail-bridge}/bin/protonmail-bridge -n"; }
{ command = "${pkgs.dex}/bin/dex -a"; }
{ command = "${config.services.mako.package}/bin/mako"; }
];
window = {
border = 1;
titlebar = false;
commands = [
{
criteria.window_role = "(?:pop-up|bubble|dialog)";
command = "floating enable";
}
{
criteria.app_id = "(?:org\.kde\.polkit-kde-authentication-agent-1|Pinentry|pavucontrol|\.blueman-manager-wrapped|nm-connection-editor)";
command = "floating enable";
}
{
criteria.class = "(?:[Mm]atplotlib|.*\.py|Idl)";
command = "floating enable";
}
{
# Catch-all for file dialog windows
criteria.title = "(?:Open|Save) (?:File|Folder|As)";
command = "floating enable, resize set width 1030 height 710";
}
{
# Inhibit idle when watching vidoes
criteria.app_id = "(?:firefox|mpv)";
command = "inhibit_idle fullscreen";
}
{
# Window rules for game sessions.
# Note: controllers don't reset idle timer
criteria.class = "(?:steam_app|Minecraft).*";
command = "floating enable, fullscreen enable, inhibit_idle focus";
}
];
};
floating.border = 1;
keybindings =
let
modifier = config.wayland.windowManager.sway.config.modifier;
in
lib.mkOptionDefault {
# Movement
"${modifier}+comma" = "workspace prev";
"${modifier}+period" = "workspace next";
"${modifier}+shift+comma" = "move workspace prev";
"${modifier}+shift+period" = "move workspace next";
"${modifier}+bracketleft" = "move workspace to output left";
"${modifier}+bracketright" = "move workspace to output right";
# Function keys
## Screenshot
"Print" = "exec ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" - | ${pkgs.swappy}/bin/swappy -f -";
## Sound
"XF86AudioMute" = "exec ${config.services.avizo.package}/bin/volumectl %";
"XF86AudioMicMute" = "exec ${config.services.avizo.package}/bin/volumectl -m %";
"XF86AudioRaiseVolume" = "exec ${config.services.avizo.package}/bin/volumectl -u + 5";
"XF86AudioLowerVolume" = "exec ${config.services.avizo.package}/bin/volumectl -u - 5";
## Playback
"XF86AudioPlay" = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
"XF86AudioStop" = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
"XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl previous";
"XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl next";
## Brightness
"XF86MonBrightnessUp" = "exec ${config.services.avizo.package}/bin/lightctl + 5";
"XF86MonBrightnessDown" = "exec ${config.services.avizo.package}/bin/lightctl - 5";
# System utilities
"Mod4+Mod1+l" = "exec swaylockfx";
"${modifier}+z" = "exec ${config.services.mako.package}/bin/makoctl restore";
"${modifier}+Shift+z" = "exec ${config.services.mako.package}/bin/makoctl dismiss -a";
"${modifier}+Shift+Return" = "exec ${config.programs.emacs.finalPackage}/bin/emacsclient -c";
};
};
extraConfig = ''
bindgesture swipe:right workspace prev
bindgesture swipe:left workspace next
corner_radius 5
blur enable
blur_xray disable
blur_passes 3
blur_radius 5
shadows enable
shadow_blur_radius 5
layer_effects "system-menu" blur enable; blur_ignore_transparent enable; shadows enable
layer_effects "gtk-layer-shell" blur enable; blur_ignore_transparent enable; shadows enable
layer_effects "notifications" blur enable; blur_ignore_transparent enable; shadows enable
layer_effects "launcher" blur enable; blur_ignore_transparent enable; shadows enable
layer_effects "logout_dialog" blur enable; blur_ignore_transparent enable; shadows enable
layer_effects "waybar" blur enable; blur_ignore_transparent enable; shadows enable
layer_effects "avizo" blur enable; blur_ignore_transparent enable; shadows enable
titlebar_separator enable
'';
};
xdg.configFile."swappy/config".source = ./swappy.conf;
}

View file

@ -0,0 +1,19 @@
{ config, ... }:
{
programs.alacritty = {
enable = true;
settings = {
shell = "${config.programs.zsh.package}/bin/zsh";
window = {
dynamic_title = true;
padding = {
x = 5;
y = 5;
};
};
live_config_reload = true;
selection.save_to_clipboard = true;
mouse.hide_when_typing = true;
};
};
}

View file

@ -0,0 +1,4 @@
{ ... }:
{
imports = [ ./alacritty.nix ];
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 747 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,000 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 668 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Some files were not shown because too many files have changed in this diff Show more