diff --git a/flake.lock b/flake.lock index 158180e..d3ff274 100644 --- a/flake.lock +++ b/flake.lock @@ -162,11 +162,11 @@ ] }, "locked": { - "lastModified": 1737085297, - "narHash": "sha256-0gpgsX7hCauT6pblVg+hrDnt83lPoYzq/2BqqyvU8Tc=", + "lastModified": 1737504076, + "narHash": "sha256-/B4XJnzYU/6K1ZZOBIgsa3K4pqDJrnC2579c44c+4rI=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "09414c7e2def24a5c52e588017b8524bcb68972a", + "rev": "65cc1fa8e36ceff067daf6cfb142331f02f524d3", "type": "github" }, "original": { @@ -482,11 +482,11 @@ ] }, "locked": { - "lastModified": 1737075266, - "narHash": "sha256-u1gk5I1an975FOAMMdS6oBKnSIsZza5ZKhaeBZAskVo=", + "lastModified": 1737704314, + "narHash": "sha256-zta8jvOQ2wRCZmiwFEnS5iCulWAh8e+fLUlQxrgOBjM=", "owner": "nix-community", "repo": "home-manager", - "rev": "12851ae7467bad8ef422b20806ab4d6d81e12d29", + "rev": "a0428685572b134f6594e7d7f5db5e1febbab2d7", "type": "github" }, "original": { @@ -526,11 +526,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1737086202, - "narHash": "sha256-33tcNERQt1R7tr/W7pvQj8R6NJktyTOKMIfY16RHLK8=", + "lastModified": 1737739244, + "narHash": "sha256-D0hxQ9BkIV6J9c6uoEFt667LMhl2LvX6ptHUWK6VP8I=", "ref": "refs/heads/main", - "rev": "0d14c2b67a407825e3427bf079b31de069d9653a", - "revCount": 16626, + "rev": "523bd9dce89c29cda3b50f78911d534556775f5f", + "revCount": 16683, "type": "git", "url": "https://git@git.lix.systems/lix-project/lix" }, @@ -569,11 +569,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1737109534, - "narHash": "sha256-ONWusynmMvogEBeCTeZewIDmY4kZYxgv9D/TSL5kH70=", + "lastModified": 1737746480, + "narHash": "sha256-Lccg6b+Sz6TSDj4BpLZhugauwDa/CyCjF7E6W3VvYa0=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "ce46857ea5bcd4e40040d46c6f495fa387fb812a", + "rev": "afeb7877090d50d02c1ecab3159b328b85a44868", "type": "github" }, "original": { @@ -602,11 +602,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1737102881, - "narHash": "sha256-5Lyjc7NduC+5t/Ypuj8DwjfJmdxetzELj6noRNBY8fQ=", + "lastModified": 1737697331, + "narHash": "sha256-9k77pFW2ANx8bZc+RcF6YP9McFZsUCWWY+XwBX0P3/Q=", "owner": "YaLTeR", "repo": "niri", - "rev": "b4add625b2ffdad3e003b3e437891daacf53a12f", + "rev": "748d90b443b9f20134020c21760b5b6c2c42a7de", "type": "github" }, "original": { @@ -698,11 +698,11 @@ }, "nix-hardware": { "locked": { - "lastModified": 1736978406, - "narHash": "sha256-oMr3PVIQ8XPDI8/x6BHxsWEPBRU98Pam6KGVwUh8MPk=", + "lastModified": 1737590910, + "narHash": "sha256-qM/y6Dtpu9Wmf5HqeZajQdn+cS0aljdYQQQnrvx+LJE=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "b678606690027913f3434dea3864e712b862dde5", + "rev": "9368027715d8dde4b84c79c374948b5306fdd2db", "type": "github" }, "original": { @@ -757,11 +757,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1736978406, - "narHash": "sha256-oMr3PVIQ8XPDI8/x6BHxsWEPBRU98Pam6KGVwUh8MPk=", + "lastModified": 1737590910, + "narHash": "sha256-qM/y6Dtpu9Wmf5HqeZajQdn+cS0aljdYQQQnrvx+LJE=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "b678606690027913f3434dea3864e712b862dde5", + "rev": "9368027715d8dde4b84c79c374948b5306fdd2db", "type": "github" }, "original": { @@ -851,11 +851,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1736916166, - "narHash": "sha256-puPDoVKxkuNmYIGMpMQiK8bEjaACcCksolsG36gdaNQ=", + "lastModified": 1737672001, + "narHash": "sha256-YnHJJ19wqmibLQdUeq9xzE6CjrMA568KN/lFPuSVs4I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e24b4c09e963677b1beea49d411cd315a024ad3a", + "rev": "035f8c0853c2977b24ffc4d0a42c74f00b182cd8", "type": "github" }, "original": { @@ -914,11 +914,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1736883708, - "narHash": "sha256-uQ+NQ0/xYU0N1CnXsa2zghgNaOPxWpMJXSUJJ9W7140=", + "lastModified": 1737632463, + "narHash": "sha256-38J9QfeGSej341ouwzqf77WIHAScihAKCt8PQJ+NH28=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eb62e6aa39ea67e0b8018ba8ea077efe65807dc8", + "rev": "0aa475546ed21629c4f5bbf90e38c846a99ec9e9", "type": "github" }, "original": { @@ -930,11 +930,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1736883708, - "narHash": "sha256-uQ+NQ0/xYU0N1CnXsa2zghgNaOPxWpMJXSUJJ9W7140=", + "lastModified": 1737632463, + "narHash": "sha256-38J9QfeGSej341ouwzqf77WIHAScihAKCt8PQJ+NH28=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eb62e6aa39ea67e0b8018ba8ea077efe65807dc8", + "rev": "0aa475546ed21629c4f5bbf90e38c846a99ec9e9", "type": "github" }, "original": { @@ -1142,11 +1142,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1736993991, - "narHash": "sha256-kPDt3QgeIsct9f375LIGmSoZKl7Z4AVzXX+9U0VV5PI=", + "lastModified": 1737657729, + "narHash": "sha256-TIDR1zKoP2uaqRot/LnarugfAC9U7geycjbJqA1naVM=", "owner": "danth", "repo": "stylix", - "rev": "a88c4d264a4379b7fe5a9e75ed51bea96f8dd407", + "rev": "e594886eb0951a0a0c28ffa333a9df6fb13857a1", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 80b01dc..ed6ebcf 100644 --- a/flake.nix +++ b/flake.nix @@ -131,6 +131,7 @@ ./nixos/services/tailscale.nix + agenix.nixosModules.default home-manager.nixosModules.home-manager ]; @@ -165,8 +166,8 @@ ./nixos/configs/gui ./nixos/configs/flatpak.nix + ./nixos/configs/music-server ./nixos/configs/fonts-linux.nix - ./nixos/configs/music-server.nix ./nixos/overlays/fixup-signal ./nixos/overlays/fixup-imhex.nix diff --git a/nixos/configs/gui/niri.nix b/nixos/configs/gui/niri.nix index cf12c47..3291aef 100644 --- a/nixos/configs/gui/niri.nix +++ b/nixos/configs/gui/niri.nix @@ -184,6 +184,21 @@ in default-column-width = { }; } + # Make anki flashcard windows modal floats. + { + matches = [{ + app-id = "^anki$"; + title = "Add"; + }]; + + open-floating = true; + default-floating-position = { + x = 0; + y = 0; + relative-to = "top-right"; + }; + } + # Talon windows should show over other ones. { matches = [ { app-id = "talon"; } ]; diff --git a/nixos/configs/music-server/bandcamp.cfg.age b/nixos/configs/music-server/bandcamp.cfg.age new file mode 100644 index 0000000..f5eb008 Binary files /dev/null and b/nixos/configs/music-server/bandcamp.cfg.age differ diff --git a/nixos/configs/music-server.nix b/nixos/configs/music-server/default.nix similarity index 71% rename from nixos/configs/music-server.nix rename to nixos/configs/music-server/default.nix index 38c1455..66945de 100644 --- a/nixos/configs/music-server.nix +++ b/nixos/configs/music-server/default.nix @@ -3,11 +3,12 @@ # # vim: et:ts=2:sw=2: # -{ pkgs, ... }: +{ pkgs, config, ... }: { + age.secrets.bandcamp.file = ./bandcamp.cfg.age; home-manager.users.deprekated = - { pkgs, config, ... }: + { pkgs, ... }: { # Use mopidy as our music server. @@ -23,13 +24,19 @@ settings = { - # Use tidal, for now. + # Tidal for streaming more-commercial music. tidal = { enabled = true; quality = "LOSSLESS"; }; }; + + # Probvide our bandcamp authentication as an extra config file. + extraConfigFiles = [ + config.age.secrets.bandcamp.path + ]; + }; # Translate our commands over MPRIS2. diff --git a/nixos/hosts/trailblazer/default.nix b/nixos/hosts/trailblazer/default.nix index 7826431..1eec891 100644 --- a/nixos/hosts/trailblazer/default.nix +++ b/nixos/hosts/trailblazer/default.nix @@ -141,6 +141,16 @@ in # Enable fingerprint reader. services.fprintd.enable = true; + # Enable steam. + programs.gamescope = { + enable = true; + capSysNice = true; + }; + programs.steam = { + enable = true; + gamescopeSession.enable = true; + }; + # # Niri configuration for our monitors. # diff --git a/nixos/packages/gui.pkgs.nix b/nixos/packages/gui.pkgs.nix index 91991bf..6bfa609 100644 --- a/nixos/packages/gui.pkgs.nix +++ b/nixos/packages/gui.pkgs.nix @@ -62,7 +62,7 @@ with pkgs; krita xournalpp kdePackages.itinerary - deprekages.notion-app + #deprekages.notion-app # PDFs. (zathuraPkgs.override { useMupdf = false; }).zathuraWrapper @@ -79,6 +79,9 @@ with pkgs; deprekages.argos tidal-hifi vlc + + # Learning + anki ] # Linux-only packages. diff --git a/packages/notion-app/default.nix b/packages/notion-app/default.nix index ba21aff..143c10c 100644 --- a/packages/notion-app/default.nix +++ b/packages/notion-app/default.nix @@ -2,7 +2,7 @@ stdenv, fetchurl, fetchzip, - electron_31, + electron_33, _7zz, asar, writeScriptBin, @@ -15,11 +15,11 @@ let notion-app-unwrapped = stdenv.mkDerivation rec { name = "notion-app-unwrapped"; - version = "3.15.0"; + version = "4.4.0"; src = fetchurl { url = "https://desktop-release.notion-static.com/Notion-${version}.dmg"; - hash = "sha256-Pdd2/aS2xtZoM9awc0CO4I7wpumJ6OkZZc9kTKZHkE8="; + hash = "sha256-FHPru5Byub8DKAmtqr8EYqGiikslEJBS/zV4PVfFiE8="; }; betterSqlite3 = fetchzip { @@ -93,7 +93,7 @@ stdenv.mkDerivation rec { # Launch cd ${notion-app-unwrapped}/lib/notion-app/app - exec ${electron_31}/bin/electron . $WL_ARGS "$@" + exec ${electron_33}/bin/electron . $WL_ARGS "$@" ''; desktopFile = '' diff --git a/secrets.nix b/secrets.nix new file mode 100644 index 0000000..788d6e1 --- /dev/null +++ b/secrets.nix @@ -0,0 +1,24 @@ +# +# Secret database for agenix. +# +# vim: et:ts=2:sw=2: +# +let + # Systems we want to target. + trailblazer = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDcJM0wcR6I53htsvN3A+2kcoln+N89z8bWt7g1PxjZk root@trailblazer"; + + rekey-users = [ + "age1yubikey1qtgvszdcz3n9a707l3k2mhaql9mdm6sqe69mr2hypl8n0qxs5m52sgu9wdd" # Kate + "age1yubikey1qfmkkc57a34f6zd9wh0vm9f20tv85nqkmyh80ygyzwynpaq9nhgkw4wd3zz" # Kate + "age1yubikey1qt5cjhklyek73awwaducjgn0g7l93xeuvcnudnac23kdyem2k7v7zlmn6p0" # Kate + "age1yubikey1qgkz2s97uzquemxx694vvqp2dj6328zpf4l3rj3mqfcnguvuhxcguw8fgxy" # Kate + ]; + + # Combined pubkeys for use below. + all-machine-pubkeys = [ + trailblazer + ] ++ rekey-users; +in +{ + "nixos/configs/music-server/bandcamp.cfg.age".publicKeys = all-machine-pubkeys; +} diff --git a/xonsh/rc.xsh b/xonsh/rc.xsh index 53540bd..49dd44f 100644 --- a/xonsh/rc.xsh +++ b/xonsh/rc.xsh @@ -68,8 +68,8 @@ def try_source(filename): # $GCC_COLOR = "auto" $GCC_COLORS = "auto" -$EDITOR="kak" -$VISUAL="kak" +$EDITOR="nvim" +$VISUAL=$EDITOR # Start off with some empty local variables; these will hopefully be populated