diff --git a/flake.lock b/flake.lock index f6adf84..43e5c2f 100644 --- a/flake.lock +++ b/flake.lock @@ -228,11 +228,11 @@ ] }, "locked": { - "lastModified": 1756245065, - "narHash": "sha256-aAZNbGcWrVRZgWgkQbkabSGcDVRDMgON4BipMy69gvI=", + "lastModified": 1753592768, + "narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=", "owner": "nix-community", "repo": "home-manager", - "rev": "54b2879ce622d44415e727905925e21b8f833a98", + "rev": "fc3add429f21450359369af74c2375cb34a2d204", "type": "github" }, "original": { @@ -300,11 +300,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1756451209, - "narHash": "sha256-zrFKbXArvNjUKYYd1I48cnvlgB6cGA/mFoRvgp/wRHc=", + "lastModified": 1754744872, + "narHash": "sha256-rcMHMs+dFWaDXev092gfxTfxHEWcUY/6SRV+cseNevQ=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "cdfffe0b009582f5161dcd030a5549236287767b", + "rev": "346fc31bcc4d2dbcc3e8ce8dbb622e4255ff54b7", "type": "github" }, "original": { @@ -333,11 +333,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1756448032, - "narHash": "sha256-ZIRj8dt8FmJdQeJjNvyK1RirYBmun+e/K3TMG8Qdodc=", + "lastModified": 1754742008, + "narHash": "sha256-Tp0FG7VpLudVEC622d91z2hbdfPLCXxw0Nv43iNN4O0=", "owner": "YaLTeR", "repo": "niri", - "rev": "dfe463ed7dcf36cc706f5540c5d0804775b5c86b", + "rev": "67361f88fd01974ebee4cf80f0e29c87d805cc39", "type": "github" }, "original": { @@ -364,11 +364,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1756217674, - "narHash": "sha256-TH1SfSP523QI7kcPiNtMAEuwZR3Jdz0MCDXPs7TS8uo=", + "lastModified": 1754689972, + "narHash": "sha256-eogqv6FqZXHgqrbZzHnq43GalnRbLTkbBbFtEfm1RSc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4e7667a90c167f7a81d906e5a75cba4ad8bee620", + "rev": "fc756aa6f5d3e2e5666efcf865d190701fef150a", "type": "github" }, "original": { @@ -380,11 +380,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1756469547, - "narHash": "sha256-YvtD2E7MYsQ3r7K9K2G7nCslCKMPShoSEAtbjHLtH0k=", + "lastModified": 1754689972, + "narHash": "sha256-eogqv6FqZXHgqrbZzHnq43GalnRbLTkbBbFtEfm1RSc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "41d292bfc37309790f70f4c120b79280ce40af16", + "rev": "fc756aa6f5d3e2e5666efcf865d190701fef150a", "type": "github" }, "original": { @@ -395,11 +395,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1756386758, - "narHash": "sha256-1wxxznpW2CKvI9VdniaUnTT2Os6rdRJcRUf65ZK9OtE=", + "lastModified": 1754214453, + "narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dfb2f12e899db4876308eba6d93455ab7da304cd", + "rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376", "type": "github" }, "original": { @@ -419,11 +419,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1755727480, - "narHash": "sha256-eb9N7XFj1zirk+D2KV+rn/CjmVHDISlxhtZCWZEVpkM=", + "lastModified": 1754262585, + "narHash": "sha256-Yz5dJ0VzGRzSRHdHldsWQbuFYmtP3NWNreCvPfCi9CI=", "owner": "nix-community", "repo": "nixvim", - "rev": "6df0b97b39baa1c0b3002b051f307aed68e17d1b", + "rev": "ab1b5962e1ca90b42de47e1172e0d24ca80e6256", "type": "github" }, "original": { @@ -502,11 +502,11 @@ ] }, "locked": { - "lastModified": 1754988908, - "narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=", + "lastModified": 1754328224, + "narHash": "sha256-glPK8DF329/dXtosV7YSzRlF4n35WDjaVwdOMEoEXHA=", "owner": "Mic92", "repo": "sops-nix", - "rev": "3223c7a92724b5d804e9988c6b447a0d09017d48", + "rev": "49021900e69812ba7ddb9e40f9170218a7eca9f4", "type": "github" }, "original": { @@ -536,11 +536,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1755710103, - "narHash": "sha256-VmheUy4UzWDy/u0TvCCHptgF30peL7wRxkHy7EVpDrQ=", + "lastModified": 1754599117, + "narHash": "sha256-AzAYdZlat002vCjCKWdFpGi2xUaiOU4DtIPnv1nomD8=", "owner": "danth", "repo": "stylix", - "rev": "79be65b20d7b8fb7e8f39ba8121cfe41b7f46808", + "rev": "312dec38b2231b21f36903d1bdce96daa11548ff", "type": "github" }, "original": { @@ -701,16 +701,16 @@ "xwayland-satellite-stable": { "flake": false, "locked": { - "lastModified": 1755491097, - "narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=", + "lastModified": 1748488455, + "narHash": "sha256-IiLr1alzKFIy5tGGpDlabQbe6LV1c9ABvkH6T5WmyRI=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "388d291e82ffbc73be18169d39470f340707edaa", + "rev": "3ba30b149f9eb2bbf42cf4758d2158ca8cceef73", "type": "github" }, "original": { "owner": "Supreeeme", - "ref": "v0.7", + "ref": "v0.6", "repo": "xwayland-satellite", "type": "github" } @@ -718,11 +718,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1756260173, - "narHash": "sha256-wcf04fl5ncbOqAK7OCWIgILERIbMfL/eeM3UThqgErI=", + "lastModified": 1754533920, + "narHash": "sha256-fCZ68Yud1sUCq6UNXj0SDyiBgVA8gJUE+14ZFGsFJG8=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "af33f7eb124b51ff6d9cdf9b428643e2246c8cbb", + "rev": "e0d1dad25a158551ab58547b2ece4b7d5a19929c", "type": "github" }, "original": { @@ -736,11 +736,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1756526767, - "narHash": "sha256-aMcUT5QOgVghB+x89xf9+Phc/BTIQfoitVIcQ66ZQWk=", + "lastModified": 1754540523, + "narHash": "sha256-Wgv2qVckt8q11/xErY7hYdLAPcoOnZ0BkMLqyXegCzQ=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "3cef1d4a0b597c1746d399cc46ef98a53af9a732", + "rev": "451454de40a4433174153e823994fe2ecd3c869e", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index fcce8b5..1c1bbae 100644 --- a/flake.nix +++ b/flake.nix @@ -42,6 +42,8 @@ pkgs = import inputs.nixpkgs {inherit system;}; user = "tristan"; userFullname = "Tristan Beedell"; + # auto-login = import ./nixos/programs/auto-login.nix; + mkConf = import ./lib/mkconf.nix {inherit inputs system user userFullname;}; in { formatter.${system} = pkgs.alejandra; @@ -49,6 +51,7 @@ zenix = mkConf { nixos-modules = [ ./hardware/zenix.nix + ./nixos/programs/cosmic.nix ./nixos/programs/niri.nix ./nixos/programs/gamer.nix ./nixos/programs/personal.nix @@ -59,6 +62,7 @@ ./home/programs/graphical.nix ./home/programs/gamer.nix ./home/programs/personal/. + ./home/desktop/cosmic/. ]; }; @@ -67,11 +71,13 @@ ./hardware/framework-13.nix ./nixos/workstation.nix ./nixos/modules/work.nix + ./nixos/programs/cosmic.nix ./nixos/programs/niri.nix ]; home-modules = [ ./home/programs/work.nix ./home/programs/graphical.nix + ./home/desktop/cosmic/. ]; }; diff --git a/hardware/zenix.nix b/hardware/zenix.nix index 8019544..d0fa17f 100644 --- a/hardware/zenix.nix +++ b/hardware/zenix.nix @@ -1,9 +1,12 @@ { + config, lib, + pkgs, modulesPath, - user, ... -}: { +}: let + user = config.user; +in { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ./ddc.nix @@ -28,6 +31,10 @@ options = ["noatime"]; }; + # boot.initrd.luks.devices."usbkey" = { + # device = "/dev/disk/by-label/usbkey1"; + # }; + boot.initrd.luks.devices."cryptroot" = { device = "/dev/disk/by-uuid/cc0617df-8cbf-4618-abbc-df64c96de151"; }; diff --git a/home/default.nix b/home/default.nix index 824d722..3c46f22 100644 --- a/home/default.nix +++ b/home/default.nix @@ -41,8 +41,6 @@ programs.yazi.enable = true; - programs.bat.enable = true; - programs.zoxide.enable = true; programs.rbw = { diff --git a/home/desktop/niri/default.nix b/home/desktop/niri/default.nix index 0b7e958..f615ce9 100644 --- a/home/desktop/niri/default.nix +++ b/home/desktop/niri/default.nix @@ -11,7 +11,6 @@ ]; programs.waybar.settings.mainBar.modules-left = ["niri/workspaces" "niri/window"]; - programs.waybar.settings.mainBar.modules-right = lib.mkBefore ["niri/language"]; programs.fuzzel = { enable = true; @@ -33,8 +32,8 @@ programs.niri = { settings = { input.keyboard = { - xkb.layout = "us,gb"; - xkb.variant = "dvorak,"; + xkb.layout = "us"; + xkb.variant = "dvorak"; xkb.options = "caps:escape"; }; input.mouse = { @@ -58,7 +57,7 @@ }; environment = { NIXOS_OZONE_WL = "1"; - DISPLAY = ":0"; + DISPLAY = ":1"; }; binds = with config.lib.niri.actions; { "Mod+Return".action.spawn = [(lib.getExe config.programs.terminal)]; @@ -111,7 +110,6 @@ "Mod+M".action = switch-preset-column-width; "Mod+G".action = toggle-window-floating; - "Mod+Shift+Ctrl+Alt+Space".action = switch-layout "next"; "Print".action = screenshot; diff --git a/home/desktop/utils/waybar.nix b/home/desktop/utils/waybar.nix index 2c3d23c..72756b4 100644 --- a/home/desktop/utils/waybar.nix +++ b/home/desktop/utils/waybar.nix @@ -7,7 +7,7 @@ layer = "bottom"; position = "top"; height = 36; - modules-right = ["mpris" "power-profiles-daemon" "cpu" "idle_inhibitor" "wireplumber" "clock" "tray" "battery"]; + modules-right = ["mpris" "power-profiles-daemon" "cpu" "idle_inhibitor" "pulseaudio" "clock" "tray" "battery"]; "cpu" = { "format" = "{icon}"; "format-icons" = ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█"]; @@ -35,19 +35,24 @@ tooltip-format-activated = "system sleep inhibited"; tooltip-format-deactivated = "system will sleep when idle"; }; - wireplumber = { - format-muted = "🔇"; - format = "{icon} {volume}%"; - format-icons = ["🔈" "🔉" "🔊"]; - on-click = "pwvucontrol"; + pulseaudio = { + format-muted = "🔇 {volume}"; + format = "{icon} {volume}"; + format-icons.default = ["🔈" "🔉" "🔊"]; + on-click = "${pkgs.pavucontrol}/bin/pavucontrol"; }; mpris = { - format = "▶️ {title}"; - format-paused = "⏸️ {title}"; + format = "{player_icon} {title}"; + format-paused = "⏸️ {player_icon} {title}"; + player-icons = { + default = "▶️"; + mpd = "🎵"; + kdeconnect = "☎️"; + }; }; battery = { format = "{icon} {capacity}%"; - format-icons = ["🪫" "🔋" "🔋"]; + format-icons = ["🤏" "🪫" "🔋" "🔋"]; format-charging = "🔌 {capacity}%"; states = { warning = 30; diff --git a/home/programs/graphical.nix b/home/programs/graphical.nix index 9cb3e2c..df550f1 100644 --- a/home/programs/graphical.nix +++ b/home/programs/graphical.nix @@ -25,6 +25,7 @@ youtube-music transmission_4-gtk feishin + grayjay # other element-desktop diff --git a/home/programs/work.nix b/home/programs/work.nix index 2f1b3c1..65a96ff 100644 --- a/home/programs/work.nix +++ b/home/programs/work.nix @@ -1,7 +1,6 @@ { config, pkgs, - lib, ... }: let modifier = config.windowManager.modifierKey; @@ -44,7 +43,7 @@ in { home.sessionVariables = { CYPRESS_INSTALL_BINARY = 0; CYPRESS_RUN_BINARY = "${pkgs.cypress}/bin/Cypress"; - MONGOMS_SYSTEM_BINARY = lib.getExe' pkgs.mongodb-7_0 "mongod"; + MONGOMS_SYSTEM_BINARY = "${pkgs.callPackage ../../pkgs/mongodb.nix pkgs}/bin/mongod"; }; gtk.gtk3.bookmarks = [ diff --git a/home/workstation.nix b/home/workstation.nix index f4e68c0..2e9b0c2 100644 --- a/home/workstation.nix +++ b/home/workstation.nix @@ -28,6 +28,7 @@ playerctl quickemu devenv + bottles ]; services.udiskie = { diff --git a/nixos/default.nix b/nixos/default.nix index 7b805cb..6f108e8 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -1,11 +1,13 @@ # https://search.nixos.org/options { inputs, + config, pkgs, lib, - user, ... -}: { +}: let + user = config.user; +in { nix = { settings = { experimental-features = ["nix-command" "flakes" "pipe-operators"]; @@ -96,7 +98,6 @@ nix-tree comma jq - bat ]; boot.kernel.sysctl = { diff --git a/nixos/modules/work.nix b/nixos/modules/work.nix index 94e36ff..cd358c3 100644 --- a/nixos/modules/work.nix +++ b/nixos/modules/work.nix @@ -12,7 +12,6 @@ in { "steam-run" "postman" "drawio" # the creator had a hissyfit over a negative review: https://github.com/jgraph/drawio/discussions/4623 - "mongodb" ]; nixpkgs.config.permittedInsecurePackages = [ diff --git a/nixos/programs/auto-login.nix b/nixos/programs/auto-login.nix new file mode 100644 index 0000000..9c93810 --- /dev/null +++ b/nixos/programs/auto-login.nix @@ -0,0 +1,10 @@ +command: {user, ...}: { + services.greetd = { + enable = true; + settings = { + default_session = { + inherit command user; + }; + }; + }; +} diff --git a/nixos/programs/gamer.nix b/nixos/programs/gamer.nix index e1ddbec..7356755 100644 --- a/nixos/programs/gamer.nix +++ b/nixos/programs/gamer.nix @@ -12,13 +12,10 @@ dedicatedServer.openFirewall = true; gamescopeSession = { enable = true; - args = ["-r" "120" "-W" "3840" "-H" "2160" "-O" "HDMI-A-1" "--rt" "--hdr-enabled" "--adaptive-sync" "--xwayland-count" "2"]; + args = ["-r" "120" "-W" "3840" "-H" "2160" "-O" "HDMI-A-1" "--rt" "--hdr-enabled" "--adaptive-sync"]; env = { - PROTON_ENABLE_WAYLAND = "1"; - PROTON_ENABLE_HDR = "1"; ENABLE_HDR_WSI = "1"; DXVK_HDR = "1"; - STEAM_MULTIPLE_XWAYLANDS = "1"; }; }; }; diff --git a/nixos/services/jellyfin.nix b/nixos/services/jellyfin.nix index 3a74d6f..91c4347 100644 --- a/nixos/services/jellyfin.nix +++ b/nixos/services/jellyfin.nix @@ -1,11 +1,10 @@ -{pkgs, ...}: { +{ users.groups.media = {}; services.jellyfin = { enable = true; group = "media"; # access to user stuff openFirewall = true; }; - environment.variables.JELLYFIN_FFMPEG = "${pkgs.jellyfin-ffmpeg}/bin/ffmpeg"; services.nginx.virtualHosts."movies.tristans.cloud" = { forceSSL = true; enableACME = true; diff --git a/nixos/workstation.nix b/nixos/workstation.nix index e898bd8..3667716 100644 --- a/nixos/workstation.nix +++ b/nixos/workstation.nix @@ -3,7 +3,6 @@ pkgs, lib, config, - user, ... }: { imports = [ @@ -22,7 +21,6 @@ hardware.bluetooth.enable = true; services.blueman.enable = true; - services.power-profiles-daemon.enable = true; services.gnome.gnome-keyring.enable = true; @@ -30,8 +28,6 @@ virtualisation.waydroid.enable = true; - services.displayManager.cosmic-greeter.enable = true; - networking.stevenblack = { enable = lib.mkDefault true; block = ["porn" "gambling"]; @@ -80,11 +76,18 @@ }; qt.enable = true; - fonts.packages = with pkgs; [ - nerd-fonts.symbols-only + nixpkgs.overlays = [ + (final: prev: { + interalia = prev.callPackage ../pkgs/interalia.nix {}; + }) ]; - home-manager.users.${user}.imports = [ + fonts.packages = with pkgs; [ + nerd-fonts.symbols-only + interalia + ]; + + home-manager.users.${config.user}.imports = [ ../home/workstation.nix ];