diff --git a/SwarselSystems.org b/SwarselSystems.org index 4ab9b32..cdff90b 100644 --- a/SwarselSystems.org +++ b/SwarselSystems.org @@ -117,6 +117,7 @@ For styling, I am using the [[https://github.com/danth/stylix][stylix]] NixOS mo #+begin_src nix :tangle no :noweb-ref theme stylix = { + enable = true; base16Scheme = ../../wallpaper/swarsel.yaml; # base16Scheme = "${pkgs.base16-schemes}/share/themes/shapeshifter.yaml"; polarity = "dark"; @@ -378,6 +379,7 @@ Mind the comma at the end. You need this because the =...= is being passed as th #+begin_src nix :tangle no :noweb-ref flakeinputsatoutputs nixpkgs, + nixpkgs-stable, home-manager, nix-on-droid, nixos-generators, @@ -387,7 +389,6 @@ Mind the comma at the end. You need this because the =...= is being passed as th stylix, sops-nix, lanzaboote, - nixpkgs-mautrix-signal, nix-gaming, nixos-hardware, nix-alien, @@ -425,69 +426,65 @@ A short overview over each input and what it does: #+begin_src nix :tangle no :noweb-ref flakeinputs - nixpkgs.url = github:nixos/nixpkgs/nixos-unstable; + nixpkgs.url = github:nixos/nixpkgs/nixos-unstable; + nixpkgs-stable.url = github:NixOS/nixpkgs/nixos-24.05; - # user-level configuration - home-manager = { - url = github:nix-community/home-manager; - inputs.nixpkgs.follows = "nixpkgs"; - }; + # user-level configuration + home-manager = { + url = github:nix-community/home-manager; + inputs.nixpkgs.follows = "nixpkgs"; + }; - # overlay to access bleeding edge emacs - emacs-overlay = { - url = github:nix-community/emacs-overlay; - inputs.nixpkgs.follows = "nixpkgs"; - }; + # overlay to access bleeding edge emacs + emacs-overlay = { + url = github:nix-community/emacs-overlay; + inputs.nixpkgs.follows = "nixpkgs"; + }; - # nix user repository - # i use this mainly to not have to build all firefox extensions - # myself as well as for the emacs-init package (tbd) - nur.url = github:nix-community/NUR; + # nix user repository + # i use this mainly to not have to build all firefox extensions + # myself as well as for the emacs-init package (tbd) + nur.url = github:nix-community/NUR; - # provides GL to non-NixOS hosts - nixgl.url = github:guibou/nixGL; + # provides GL to non-NixOS hosts + nixgl.url = github:guibou/nixGL; - # manages all theming using Home-Manager - stylix.url = github:danth/stylix; + # manages all theming using Home-Manager + stylix.url = github:danth/stylix; - # nix secrets management - sops-nix.url = github:Mic92/sops-nix; + # nix secrets management + sops-nix.url = github:Mic92/sops-nix; - # enable secure boot on NixOS - lanzaboote.url = github:nix-community/lanzaboote; + # enable secure boot on NixOS + lanzaboote.url = github:nix-community/lanzaboote; - # nix for android - nix-on-droid = { - url = github:t184256/nix-on-droid/release-23.05; - inputs.nixpkgs.follows = "nixpkgs"; - }; + # nix for android + nix-on-droid = { + url = github:t184256/nix-on-droid/release-23.05; + inputs.nixpkgs.follows = "nixpkgs"; + }; - # generate NixOS images - nixos-generators = { - url = github:nix-community/nixos-generators; - inputs.nixpkgs.follows = "nixpkgs"; - }; + # generate NixOS images + nixos-generators = { + url = github:nix-community/nixos-generators; + inputs.nixpkgs.follows = "nixpkgs"; + }; - # provides expressions for mautrix-signal - nixpkgs-mautrix-signal ={ - url = github:niklaskorz/nixpkgs/nixos-23.11-mautrix-signal; - }; + # patches for gaming on nix + nix-gaming = { + url = github:fufexan/nix-gaming; + }; - # patches for gaming on nix - nix-gaming = { - url = github:fufexan/nix-gaming; - }; + # hardware quirks on nix + nixos-hardware = { + url = github:NixOS/nixos-hardware/master; + }; - # hardware quirks on nix - nixos-hardware = { - url = github:NixOS/nixos-hardware/master; - }; - - # dynamic library loading - nix-alien = { - url = github:thiagokokada/nix-alien; - }; + # dynamic library loading + nix-alien = { + url = github:thiagokokada/nix-alien; + }; #+end_src *** let @@ -508,6 +505,11 @@ Lastly I define some common module lists that I can simply load depending on the overlays = [ emacs-overlay.overlay nur.overlay nixgl.overlay + (final: _prev: { + stable = import nixpkgs-stable { + inherit (final) system config; + }; + }) ]; config.allowUnfree = true; }; @@ -521,9 +523,6 @@ Lastly I define some common module lists that I can simply load depending on the config.allowUnfree = true; }; - pkgsmautrix = import nixpkgs-mautrix-signal { inherit system; - config.allowUnfree = true; - }; # NixOS modules that can only be used on NixOS systems nixModules = [ stylix.nixosModules.stylix @@ -570,8 +569,7 @@ This section is the biggest pain point of the configuration. For every system, I }; sandbox = nixpkgs.lib.nixosSystem { - pkgs = pkgsmautrix; - specialArgs.unstable = nixpkgs-mautrix-signal; + specialArgs = {inherit inputs pkgs; }; modules = [ sops-nix.nixosModules.sops ./profiles/sandbox/nixos.nix @@ -665,11 +663,9 @@ This section is the biggest pain point of the configuration. For every system, I }; matrix = nixpkgs.lib.nixosSystem { - # specialArgs = {inherit pkgsmautrix; }; - pkgs = pkgsmautrix; + specialArgs = {inherit inputs pkgs; }; # this is to import a service module that is not on nixpkgs # this way avoids infinite recursion errors - specialArgs.unstable = nixpkgs-mautrix-signal; modules = [ sops-nix.nixosModules.sops ./profiles/server1/matrix/nixos.nix @@ -711,11 +707,7 @@ This section is the biggest pain point of the configuration. For every system, I #ovm swarsel swatrix = nixpkgs.lib.nixosSystem { - # specialArgs = {inherit pkgsmautrix; }; - pkgs = pkgsmautrix; - # this is to import a service module that is not on nixpkgs - # this way avoids infinite recursion errors - specialArgs.unstable = nixpkgs-mautrix-signal; + specialArgs = {inherit inputs pkgs; }; modules = [ sops-nix.nixosModules.sops ./profiles/remote/oracle/matrix/nixos.nix @@ -1527,10 +1519,9 @@ Mostly just sets some opened ports for several games, enables virtualbox (which <> hardware = { - opengl = { + graphics = { enable = true; - driSupport = true; - driSupport32Bit = true; + enable32Bit = true; extraPackages = with pkgs; [ vulkan-loader vulkan-validation-layers @@ -1658,6 +1649,7 @@ This is basically just adjusted to the core count, path to the =hwmon= (this was { output = "HDMI-A-1"; workspace = "2:二";} ]; + keybindings = let modifier = config.wayland.windowManager.sway.config.modifier; in { @@ -2164,7 +2156,7 @@ In general, I am not amazed by this setup; Kavita is the reader of choice, calib nixpkgs.config.packageOverrides = pkgs: { vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; }; - hardware.opengl = { + hardware.graphics = { enable = true; extraPackages = with pkgs; [ intel-media-driver # LIBVA_DRIVER_NAME=iHD @@ -2590,7 +2582,6 @@ Make sure to also do this for doublepuppet.yaml ./hardware-configuration.nix # we import here a service that is not available yet on normal nixpkgs # this module is hence not in the modules list, we add it ourselves - (unstable + "/nixos/modules/services/matrix/mautrix-signal.nix") ]; networking.hostName = "matrix"; # Define your hostname. @@ -3909,7 +3900,7 @@ My laptop, sadly soon to be replaced by a new one, since most basic functions ar # vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; # }; - hardware.opengl = { + hardware.graphics = { enable = true; extraPackages = with pkgs; [ intel-media-driver # LIBVA_DRIVER_NAME=iHD @@ -4715,10 +4706,9 @@ Enable OpenGL, Sound, Bluetooth and various drivers. #+begin_src nix :tangle profiles/common/nixos.nix - hardware.opengl = { + hardware.graphics = { enable = true; - driSupport = true; - driSupport32Bit = true; + enable32Bit = true; }; sound.enable = true; @@ -5094,13 +5084,13 @@ Programming languages and default lsp's are defined here: [[#h:0e7e8bea-ec58-499 ffmpeg_5-full flac mediainfo - picard + picard-tools audacity sox # printing cups - gnome.simple-scan + simple-scan # dict (aspellWithDicts (dicts: with dicts; [ de en en-computers en-science ])) @@ -5126,11 +5116,11 @@ Programming languages and default lsp's are defined here: [[#h:0e7e8bea-ec58-499 obsidian spotify discord - nextcloud-client + stable.nextcloud-client spotify-player element-desktop-wayland nicotine-plus - transmission + stable.transmission mktorrent hexchat hugo @@ -5189,7 +5179,7 @@ Programming languages and default lsp's are defined here: [[#h:0e7e8bea-ec58-499 unzip #nautilus - gnome.nautilus + nautilus xfce.tumbler libgsf @@ -5215,7 +5205,7 @@ Programming languages and default lsp's are defined here: [[#h:0e7e8bea-ec58-499 #keychain qalculate-gtk gcr # needed for gnome-secrets to work - gnome.seahorse + seahorse # sops-related sops @@ -6205,7 +6195,7 @@ Lastly, I am defining some more packages here that the parser has problems findi extraEmacsPackages = epkgs: [ epkgs.mu4e epkgs.use-package - epkgs.lsp-bridge + # epkgs.lsp-bridge epkgs.doom-themes # build the rest of the packages myself @@ -7067,22 +7057,6 @@ Currently, I am too lazy to explain every option here, but most of it is very se assigns = { "1:一" = [{ app_id = "firefox"; }]; }; - colors = { - focused = { - # background = "#080808"; - # border = "#80a0ff"; - # childBorder = "#80a0ff"; - # indicator = "#080808"; - # text = "#ffd700"; - }; - unfocused = { - # background = "#080808"; - # border = "#80a0ff"; - # childBorder = "#303030"; - # indicator = "#80a0ff"; - # text = "#c6c6c6"; - }; - }; floating = { border = 1; criteria = [ diff --git a/flake.lock b/flake.lock index 5f78c6b..5ff3e57 100644 --- a/flake.lock +++ b/flake.lock @@ -101,15 +101,15 @@ "base16-vim": { "flake": false, "locked": { - "lastModified": 1663659192, - "narHash": "sha256-uJvaYYDMXvoo0fhBZUhN8WBXeJ87SRgof6GEK2efFT0=", - "owner": "chriskempson", + "lastModified": 1716150083, + "narHash": "sha256-ZMhnNmw34ogE5rJZrjRv5MtG3WaqKd60ds2VXvT6hEc=", + "owner": "tinted-theming", "repo": "base16-vim", - "rev": "3be3cd82cd31acfcab9a41bad853d9c68d30478d", + "rev": "6e955d704d046b0dc3e5c2d68a2a6eeffd2b5d3d", "type": "github" }, "original": { - "owner": "chriskempson", + "owner": "tinted-theming", "repo": "base16-vim", "type": "github" } @@ -122,11 +122,11 @@ ] }, "locked": { - "lastModified": 1711299236, - "narHash": "sha256-6/JsyozOMKN8LUGqWMopKTSiK8N79T8Q+hcxu2KkTXg=", + "lastModified": 1718474113, + "narHash": "sha256-UKrfy/46YF2TRnxTtKCYzqf2f5ZPRRWwKCCJb7O5X8U=", "owner": "ipetkov", "repo": "crane", - "rev": "880573f80d09e18a11713f402b9e6172a085449f", + "rev": "0095fd8ea00ae0a9e6014f39c375e40c2fbd3386", "type": "github" }, "original": { @@ -144,11 +144,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1716342612, - "narHash": "sha256-D8Zj8ftu5Zpgkb3wbQoxsRfJ9cGJxDdauFtuPHenD8E=", + "lastModified": 1720689099, + "narHash": "sha256-sTZbsq2IYa2EQu7Gel8HLlPI4xVdufonNOJxmFGhigw=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "6eb679f5e75b80580e8d3fa1594369e128b37911", + "rev": "862212a4e798845254e4ae2ad97f69b7b4d85a72", "type": "github" }, "original": { @@ -212,11 +212,11 @@ ] }, "locked": { - "lastModified": 1709336216, - "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "lastModified": 1717285511, + "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", + "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", "type": "github" }, "original": { @@ -230,11 +230,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1715865404, - "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", + "lastModified": 1719994518, + "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", + "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", "type": "github" }, "original": { @@ -374,11 +374,11 @@ ] }, "locked": { - "lastModified": 1715930644, - "narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=", + "lastModified": 1720646128, + "narHash": "sha256-BivO5yIQukDlJL+1875Sqf3GuOPxZDdA48dYDi3PkL8=", "owner": "nix-community", "repo": "home-manager", - "rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d", + "rev": "c085b984ff2808bf322f375b10fea5a415a9c43d", "type": "github" }, "original": { @@ -417,11 +417,11 @@ ] }, "locked": { - "lastModified": 1714981474, - "narHash": "sha256-b3/U21CJjCjJKmA9WqUbZGZgCvospO3ArOUTgJugkOY=", + "lastModified": 1715930644, + "narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=", "owner": "nix-community", "repo": "home-manager", - "rev": "6ebe7be2e67be7b9b54d61ce5704f6fb466c536f", + "rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d", "type": "github" }, "original": { @@ -441,11 +441,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1713369831, - "narHash": "sha256-G4OGxvlIIjphpkxcRAkf1QInYsAeqbfNh6Yl1JLy2uM=", + "lastModified": 1719818887, + "narHash": "sha256-Bogl1pJlgby7OpR16jp8zwOWV7FHRxCsnNxHcisyIq0=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "850f27322239f8cfa56b122cc9a278ab99a49015", + "rev": "0e6457c98547ec8866714d4222545e7e8c1ae429", "type": "github" }, "original": { @@ -467,11 +467,11 @@ ] }, "locked": { - "lastModified": 1715754082, - "narHash": "sha256-2hAydsdMk6QmDar+16ryyn+pVksxudwC5vRiatJbysM=", + "lastModified": 1718448591, + "narHash": "sha256-TDzUlwvCmkY4IzEMLV7vmB/GlKznsS+/oBO4Z6z9ACE=", "owner": "thiagokokada", "repo": "nix-alien", - "rev": "ea6ebda03c5537eebbb93af57ca6f2c2979981be", + "rev": "d457975f39a4eaf8bec55b7cc3ff26226d4fb062", "type": "github" }, "original": { @@ -524,11 +524,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1716340597, - "narHash": "sha256-OlN/h6w4Hf5YP4ZPdqzxix3eSPCwYqInUMvsTIERB8M=", + "lastModified": 1720315345, + "narHash": "sha256-B7CRTjGf0Nll2RouHAzLsOt5L0u04JTN4vetrGXXmUk=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "36d3115d7707e0f99b42e89ed7bb9ad88ad102e8", + "rev": "96379e6b4d1f234ffd4bbe684d83a3d08a3dd2a7", "type": "github" }, "original": { @@ -542,11 +542,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1715483403, - "narHash": "sha256-WMDuQj7J5jbpXI/X/E6FZRKgBFGcaSTvYyVxPnKE6KU=", + "lastModified": 1718011381, + "narHash": "sha256-sFXI+ZANp/OC+MwfJoZgPSf4xMdtzQMe1pS3FGti4C8=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "f9027322f48b427da23746aa359a6510dfcd0228", + "rev": "88ad3d7501e22b2401dd72734b032b7baa794434", "type": "github" }, "original": { @@ -601,11 +601,11 @@ }, "nixlib": { "locked": { - "lastModified": 1712450863, - "narHash": "sha256-K6IkdtMtq9xktmYPj0uaYc8NsIqHuaAoRBaMgu9Fvrw=", + "lastModified": 1719708727, + "narHash": "sha256-XFNKtyirrGNdehpg7lMNm1skEcBApjqGhaHc/OI95HY=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "3c62b6a12571c9a7f65ab037173ee153d539905f", + "rev": "1bba8a624b3b9d4f68db94fb63aaeb46039ce9e6", "type": "github" }, "original": { @@ -622,11 +622,11 @@ ] }, "locked": { - "lastModified": 1716210724, - "narHash": "sha256-iqQa3omRcHGpWb1ds75jS9ruA5R39FTmAkeR3J+ve1w=", + "lastModified": 1720055043, + "narHash": "sha256-SKizewU4UeYrkZWPUjur8EoxscGoNb0pGcrNL4YzAIg=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "d14b286322c7f4f897ca4b1726ce38cb68596c94", + "rev": "168b220231a70e47cc1f0919048fa5914415fb18", "type": "github" }, "original": { @@ -637,11 +637,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1716173274, - "narHash": "sha256-FC21Bn4m6ctajMjiUof30awPBH/7WjD0M5yqrWepZbY=", + "lastModified": 1720515935, + "narHash": "sha256-8b+fzR4W2hI5axwB+4nBwoA15awPKkck4ghhCt8v39M=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "d9e0b26202fd500cf3e79f73653cce7f7d541191", + "rev": "a111ce6b537df12a39874aa9672caa87f8677eda", "type": "github" }, "original": { @@ -653,11 +653,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1711297276, - "narHash": "sha256-KtHBr73Z729krfueBV6pUsEyq/4vILGP77DPmrKOTrI=", + "lastModified": 1718541509, + "narHash": "sha256-TmC5TxW5WPAfmovDzi1hLe1i4qqND79s9SH9UOKcSvo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3d41d1087707826b3a90685ab69147f8dc8145d5", + "rev": "ba06293cdba1c94af9710024abf3b94cf8d76349", "type": "github" }, "original": { @@ -685,44 +685,28 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1714640452, - "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=", + "lastModified": 1719876945, + "narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" - } - }, - "nixpkgs-mautrix-signal": { - "locked": { - "lastModified": 1704022861, - "narHash": "sha256-jiNWj17KcjnaUHpIcv20i0X68Jy8isa13I1QKTvUwUk=", - "owner": "niklaskorz", - "repo": "nixpkgs", - "rev": "104113a9fa1d330e024f7f2eab1f7d861f0cda3f", - "type": "github" - }, - "original": { - "owner": "niklaskorz", - "ref": "nixos-23.11-mautrix-signal", - "repo": "nixpkgs", - "type": "github" + "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" } }, "nixpkgs-stable": { "locked": { - "lastModified": 1716218643, - "narHash": "sha256-i/E7gzQybvcGAYDRGDl39WL6yVk30Je/NXypBz6/nmM=", + "lastModified": 1720553833, + "narHash": "sha256-IXMiHQMtdShDXcBW95ctA+m5Oq2kLxnBt7WlMxvDQXA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a8695cbd09a7ecf3376bd62c798b9864d20f86ee", + "rev": "249fbde2a178a2ea2638b65b9ecebd531b338cf9", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.11", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } @@ -745,31 +729,47 @@ }, "nixpkgs-stable_3": { "locked": { - "lastModified": 1716061101, - "narHash": "sha256-H0eCta7ahEgloGIwE/ihkyGstOGu+kQwAiHvwVoXaA0=", + "lastModified": 1720553833, + "narHash": "sha256-IXMiHQMtdShDXcBW95ctA+m5Oq2kLxnBt7WlMxvDQXA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e7cc61784ddf51c81487637b3031a6dd2d6673a2", + "rev": "249fbde2a178a2ea2638b65b9ecebd531b338cf9", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-23.11", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_4": { + "locked": { + "lastModified": 1720282526, + "narHash": "sha256-dudRkHPRivMNOhd04YI+v4sWvn2SnN5ODSPIu5IVbco=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "550ac3e955c30fe96dd8b2223e37e0f5d225c927", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "release-24.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_2": { "locked": { - "lastModified": 1715266358, - "narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=", - "owner": "nixos", + "lastModified": 1717786204, + "narHash": "sha256-4q0s6m0GUcN7q+Y2DqD27iLvbcd1G50T2lv08kKxkSI=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "f1010e0469db743d14519a1efd37e23f8513d714", + "rev": "051f920625ab5aabe37c920346e3e69d7d34400e", "type": "github" }, "original": { - "owner": "nixos", + "owner": "NixOS", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" @@ -777,11 +777,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1716062047, - "narHash": "sha256-OhysviwHQz4p2HZL4g7XGMLoUbWMjkMr/ogaR3VUYNA=", + "lastModified": 1720181791, + "narHash": "sha256-i4vJL12/AdyuQuviMMd1Hk2tsGt02hDNhA0Zj1m16N8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "02923630b89aa1ab36ef8e422501a6f4fd4b2016", + "rev": "4284c2b73c8bce4b46a6adf23e16d9e2ec8da4bb", "type": "github" }, "original": { @@ -808,11 +808,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1716293225, - "narHash": "sha256-pU9ViBVE3XYb70xZx+jK6SEVphvt7xMTbm6yDIF4xPs=", + "lastModified": 1720542800, + "narHash": "sha256-ZgnNHuKV6h2+fQ5LuqnUaqZey1Lqqt5dTUAiAnqH0QQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3eaeaeb6b1e08a016380c279f8846e0bd8808916", + "rev": "feb2849fdeb70028c70d73b848214b00d324a497", "type": "github" }, "original": { @@ -824,11 +824,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1716062047, - "narHash": "sha256-OhysviwHQz4p2HZL4g7XGMLoUbWMjkMr/ogaR3VUYNA=", + "lastModified": 1720181791, + "narHash": "sha256-i4vJL12/AdyuQuviMMd1Hk2tsGt02hDNhA0Zj1m16N8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "02923630b89aa1ab36ef8e422501a6f4fd4b2016", + "rev": "4284c2b73c8bce4b46a6adf23e16d9e2ec8da4bb", "type": "github" }, "original": { @@ -904,11 +904,11 @@ }, "nur": { "locked": { - "lastModified": 1716346130, - "narHash": "sha256-o4Tk7LpBgtJxf4eZQojpd0FR1mWNyy+mlzrouAvIzQ0=", + "lastModified": 1720689012, + "narHash": "sha256-igRAAL1qJvYA3H+SZGY3MgZvs2GdzjBy9OKLukN0qz0=", "owner": "nix-community", "repo": "NUR", - "rev": "d69724e2c7a808d107407f38f99c56fa50394df4", + "rev": "1643074be5f5a9d2e362080048df235cb2473e80", "type": "github" }, "original": { @@ -923,10 +923,6 @@ "lanzaboote", "flake-compat" ], - "flake-utils": [ - "lanzaboote", - "flake-utils" - ], "gitignore": "gitignore", "nixpkgs": [ "lanzaboote", @@ -935,11 +931,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1710923068, - "narHash": "sha256-6hOpUiuxuwpXXc/xfJsBUJeqqgGI+JMJuLo45aG3cKc=", + "lastModified": 1717664902, + "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "e611897ddfdde3ed3eaac4758635d7177ff78673", + "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", "type": "github" }, "original": { @@ -960,7 +956,7 @@ "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_5", - "nixpkgs-mautrix-signal": "nixpkgs-mautrix-signal", + "nixpkgs-stable": "nixpkgs-stable_3", "nur": "nur", "sops-nix": "sops-nix", "stylix": "stylix" @@ -978,11 +974,11 @@ ] }, "locked": { - "lastModified": 1711246447, - "narHash": "sha256-g9TOluObcOEKewFo2fR4cn51Y/jSKhRRo4QZckHLop0=", + "lastModified": 1718504420, + "narHash": "sha256-F2HT/abCfr0CDpkvXwYCscJyD66XDTLMVfdrIMRp2ck=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "dcc802a6ec4e9cc6a1c8c393327f0c42666f22e4", + "rev": "0043c3f92304823cc2c0a4354b0feaa61dfb4cd9", "type": "github" }, "original": { @@ -994,14 +990,14 @@ "sops-nix": { "inputs": { "nixpkgs": "nixpkgs_6", - "nixpkgs-stable": "nixpkgs-stable_3" + "nixpkgs-stable": "nixpkgs-stable_4" }, "locked": { - "lastModified": 1716244104, - "narHash": "sha256-XXbqfkyWe0d0O+zqRQWi2oXi6wYDmTzXedFkBRwx1VI=", + "lastModified": 1720479166, + "narHash": "sha256-jqvhLDXzTLTHq9ZviFOpcTmXXmnbLfz7mWhgMNipMN4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "fddd52460e3332eedd8a0043af5675338a5b3e0b", + "rev": "67035a355b1d52d2d238501f8cc1a18706979760", "type": "github" }, "original": { @@ -1025,11 +1021,11 @@ "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1716206302, - "narHash": "sha256-5Qc3aQGVyPEOuN82zVamStaV81HebHvLjk3fGfpyCPY=", + "lastModified": 1719525570, + "narHash": "sha256-xSO/H67GAHEW0siD2PHoO/e97MbROL3r3s5SpF6A6Dc=", "owner": "danth", "repo": "stylix", - "rev": "81df8443556335016d6f0bc22630a95776a56d8b", + "rev": "1ff9d37d27377bfe8994c24a8d6c6c1734ffa116", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 450461e..3341b9f 100644 --- a/flake.nix +++ b/flake.nix @@ -5,6 +5,7 @@ nixpkgs.url = github:nixos/nixpkgs/nixos-unstable; + nixpkgs-stable.url = github:NixOS/nixpkgs/nixos-24.05; # user-level configuration home-manager = { @@ -47,11 +48,6 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - # provides expressions for mautrix-signal - nixpkgs-mautrix-signal ={ - url = github:niklaskorz/nixpkgs/nixos-23.11-mautrix-signal; - }; - # patches for gaming on nix nix-gaming = { url = github:fufexan/nix-gaming; @@ -73,6 +69,7 @@ self, nixpkgs, + nixpkgs-stable, home-manager, nix-on-droid, nixos-generators, @@ -82,7 +79,6 @@ stylix, sops-nix, lanzaboote, - nixpkgs-mautrix-signal, nix-gaming, nixos-hardware, nix-alien, @@ -95,6 +91,11 @@ overlays = [ emacs-overlay.overlay nur.overlay nixgl.overlay + (final: _prev: { + stable = import nixpkgs-stable { + inherit (final) system config; + }; + }) ]; config.allowUnfree = true; }; @@ -108,9 +109,6 @@ config.allowUnfree = true; }; - pkgsmautrix = import nixpkgs-mautrix-signal { inherit system; - config.allowUnfree = true; - }; # NixOS modules that can only be used on NixOS systems nixModules = [ stylix.nixosModules.stylix @@ -158,8 +156,7 @@ }; sandbox = nixpkgs.lib.nixosSystem { - pkgs = pkgsmautrix; - specialArgs.unstable = nixpkgs-mautrix-signal; + specialArgs = {inherit inputs pkgs; }; modules = [ sops-nix.nixosModules.sops ./profiles/sandbox/nixos.nix @@ -253,11 +250,9 @@ }; matrix = nixpkgs.lib.nixosSystem { - # specialArgs = {inherit pkgsmautrix; }; - pkgs = pkgsmautrix; + specialArgs = {inherit inputs pkgs; }; # this is to import a service module that is not on nixpkgs # this way avoids infinite recursion errors - specialArgs.unstable = nixpkgs-mautrix-signal; modules = [ sops-nix.nixosModules.sops ./profiles/server1/matrix/nixos.nix @@ -299,11 +294,7 @@ #ovm swarsel swatrix = nixpkgs.lib.nixosSystem { - # specialArgs = {inherit pkgsmautrix; }; - pkgs = pkgsmautrix; - # this is to import a service module that is not on nixpkgs - # this way avoids infinite recursion errors - specialArgs.unstable = nixpkgs-mautrix-signal; + specialArgs = {inherit inputs pkgs; }; modules = [ sops-nix.nixosModules.sops ./profiles/remote/oracle/matrix/nixos.nix diff --git a/programs/waybar/style.css b/programs/waybar/style.css new file mode 100644 index 0000000..553f54f --- /dev/null +++ b/programs/waybar/style.css @@ -0,0 +1,228 @@ + @define-color foreground #fdf6e3; + @define-color background #1a1a1a; + @define-color background-alt #292b2e; + @define-color foreground-warning #268bd2; + @define-color background-warning @background; + @define-color foreground-error red; + @define-color background-error @background; + @define-color foreground-critical gold; + @define-color background-critical blue; + + + ,* { + border: none; + border-radius: 0; + font-family: "FiraCode Nerd Font Propo", "Font Awesome 5 Free"; + font-size: 14px; + min-height: 0; + margin: -1px 0px; + } + + window#waybar { + background: transparent; + color: @foreground; + transition-duration: .5s; + } + + window#waybar.hidden { + opacity: 0.2; + } + + + #mpris { + padding: 0 10px; + background-color: transparent; + color: #1DB954; + font-family: Monospace; + font-size: 12px; + } + + #custom-right-arrow-dark, + #custom-left-arrow-dark { + color: @background; + background: @background-alt; + font-size: 24px; + } + + #window { + font-size: 12px; + padding: 0 20px; + } + + #mode { + background: @background-critical; + color: @foreground-critical; + padding: 0 3px; + } + + #custom-configwarn { + color: black; + padding: 0 3px; + animation-name: configblink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; + } + + #custom-outer-right-arrow-dark, + #custom-outer-left-arrow-dark { + color: @background; + font-size: 24px; + } + + #custom-outer-left-arrow-dark, + #custom-left-arrow-dark, + #custom-left-arrow-light { + margin: 0 -1px; + } + + #custom-right-arrow-light, + #custom-left-arrow-light { + color: @background-alt; + background: @background; + font-size: 24px; + } + + #workspaces, + #clock.1, + #clock.2, + #clock.3, + #pulseaudio, + #memory, + #cpu, + #temperature, + #power-profiles-daemon, + #mpris, + #tray { + background: @background; + } + + #network, + #clock.2, + #battery, + #cpu, + #custom-pseudobat, + #disk { + background: @background-alt; + } + + + #workspaces button { + padding: 0 2px; + color: #fdf6e3; + } + #workspaces button.focused { + color: @foreground-warning; + } + + #workspaces button:hover { + background: @foreground; + color: @background; + border: @foreground; + padding: 0 2px; + box-shadow: inherit; + text-shadow: inherit; + } + + #workspaces button.urgent { + color: @background-critical; + background: @foreground-critical; + } + + #network { + color: #cc99c9; + } + + #temperature, + #power-profiles-daemon { + color: #9ec1cf; + } + + #disk { + /*color: #b58900;*/ + color: #9ee09e; + } + + #disk.warning { + color: @foreground-error; + background-color: @background-error; + } + #disk.critical, + #temperature.critical { + color: @foreground-critical; + background-color: @background-critical; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; + } + #pulseaudio.muted { + color: @foreground-error; + } + #memory { + /*color: #2aa198;*/ + color: #fdfd97; + } + #cpu { + /*color: #6c71c4;*/ + color: #feb144; + } + + #pulseaudio { + /*color: #268bd2;*/ + color: #ff6663; + } + + #battery, + #custom-pseudobat { + color: cyan; + } + #battery.discharging { + color: #859900; + } + + @keyframes blink { + to { + color: @foreground-error; + background-color: @background-error; + } + } + @keyframes configblink { + to { + color: @foreground-error; + background-color: transparent; + } + } + + #battery.critical:not(.charging) { + color: @foreground-critical; + background-color: @background-critical; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; + } + + #clock.1, + #clock.2, + #clock.3 { + font-family: Monospace; + } + + #clock, + #pulseaudio, + #memory, + #cpu, + #tray, + #temperature, + #power-profiles-daemon, + #network, + #mpris, + #battery, + #custom-pseudobat, + #disk { + padding: 0 3px; + }