chore: update nix flake

This commit is contained in:
Swarsel 2024-07-11 16:39:42 +02:00
parent cc00e0e74d
commit 9e88b8944b
Signed by: swarsel
GPG key ID: 26A54C31F2A4FD84
4 changed files with 414 additions and 225 deletions

View file

@ -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 #+begin_src nix :tangle no :noweb-ref theme
stylix = { stylix = {
enable = true;
base16Scheme = ../../wallpaper/swarsel.yaml; base16Scheme = ../../wallpaper/swarsel.yaml;
# base16Scheme = "${pkgs.base16-schemes}/share/themes/shapeshifter.yaml"; # base16Scheme = "${pkgs.base16-schemes}/share/themes/shapeshifter.yaml";
polarity = "dark"; 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 #+begin_src nix :tangle no :noweb-ref flakeinputsatoutputs
nixpkgs, nixpkgs,
nixpkgs-stable,
home-manager, home-manager,
nix-on-droid, nix-on-droid,
nixos-generators, nixos-generators,
@ -387,7 +389,6 @@ Mind the comma at the end. You need this because the =...= is being passed as th
stylix, stylix,
sops-nix, sops-nix,
lanzaboote, lanzaboote,
nixpkgs-mautrix-signal,
nix-gaming, nix-gaming,
nixos-hardware, nixos-hardware,
nix-alien, nix-alien,
@ -425,69 +426,65 @@ A short overview over each input and what it does:
#+begin_src nix :tangle no :noweb-ref flakeinputs #+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 # user-level configuration
home-manager = { home-manager = {
url = github:nix-community/home-manager; url = github:nix-community/home-manager;
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# overlay to access bleeding edge emacs # overlay to access bleeding edge emacs
emacs-overlay = { emacs-overlay = {
url = github:nix-community/emacs-overlay; url = github:nix-community/emacs-overlay;
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# nix user repository # nix user repository
# i use this mainly to not have to build all firefox extensions # i use this mainly to not have to build all firefox extensions
# myself as well as for the emacs-init package (tbd) # myself as well as for the emacs-init package (tbd)
nur.url = github:nix-community/NUR; nur.url = github:nix-community/NUR;
# provides GL to non-NixOS hosts # provides GL to non-NixOS hosts
nixgl.url = github:guibou/nixGL; nixgl.url = github:guibou/nixGL;
# manages all theming using Home-Manager # manages all theming using Home-Manager
stylix.url = github:danth/stylix; stylix.url = github:danth/stylix;
# nix secrets management # nix secrets management
sops-nix.url = github:Mic92/sops-nix; sops-nix.url = github:Mic92/sops-nix;
# enable secure boot on NixOS # enable secure boot on NixOS
lanzaboote.url = github:nix-community/lanzaboote; lanzaboote.url = github:nix-community/lanzaboote;
# nix for android # nix for android
nix-on-droid = { nix-on-droid = {
url = github:t184256/nix-on-droid/release-23.05; url = github:t184256/nix-on-droid/release-23.05;
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# generate NixOS images # generate NixOS images
nixos-generators = { nixos-generators = {
url = github:nix-community/nixos-generators; url = github:nix-community/nixos-generators;
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# provides expressions for mautrix-signal # patches for gaming on nix
nixpkgs-mautrix-signal ={ nix-gaming = {
url = github:niklaskorz/nixpkgs/nixos-23.11-mautrix-signal; url = github:fufexan/nix-gaming;
}; };
# patches for gaming on nix # hardware quirks on nix
nix-gaming = { nixos-hardware = {
url = github:fufexan/nix-gaming; url = github:NixOS/nixos-hardware/master;
}; };
# hardware quirks on nix # dynamic library loading
nixos-hardware = { nix-alien = {
url = github:NixOS/nixos-hardware/master; url = github:thiagokokada/nix-alien;
}; };
# dynamic library loading
nix-alien = {
url = github:thiagokokada/nix-alien;
};
#+end_src #+end_src
*** let *** let
@ -508,6 +505,11 @@ Lastly I define some common module lists that I can simply load depending on the
overlays = [ emacs-overlay.overlay overlays = [ emacs-overlay.overlay
nur.overlay nur.overlay
nixgl.overlay nixgl.overlay
(final: _prev: {
stable = import nixpkgs-stable {
inherit (final) system config;
};
})
]; ];
config.allowUnfree = true; 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; config.allowUnfree = true;
}; };
pkgsmautrix = import nixpkgs-mautrix-signal { inherit system;
config.allowUnfree = true;
};
# NixOS modules that can only be used on NixOS systems # NixOS modules that can only be used on NixOS systems
nixModules = [ stylix.nixosModules.stylix 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 { sandbox = nixpkgs.lib.nixosSystem {
pkgs = pkgsmautrix; specialArgs = {inherit inputs pkgs; };
specialArgs.unstable = nixpkgs-mautrix-signal;
modules = [ modules = [
sops-nix.nixosModules.sops sops-nix.nixosModules.sops
./profiles/sandbox/nixos.nix ./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 { matrix = nixpkgs.lib.nixosSystem {
# specialArgs = {inherit pkgsmautrix; }; specialArgs = {inherit inputs pkgs; };
pkgs = pkgsmautrix;
# this is to import a service module that is not on nixpkgs # this is to import a service module that is not on nixpkgs
# this way avoids infinite recursion errors # this way avoids infinite recursion errors
specialArgs.unstable = nixpkgs-mautrix-signal;
modules = [ modules = [
sops-nix.nixosModules.sops sops-nix.nixosModules.sops
./profiles/server1/matrix/nixos.nix ./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 #ovm swarsel
swatrix = nixpkgs.lib.nixosSystem { swatrix = nixpkgs.lib.nixosSystem {
# specialArgs = {inherit pkgsmautrix; }; specialArgs = {inherit inputs pkgs; };
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;
modules = [ modules = [
sops-nix.nixosModules.sops sops-nix.nixosModules.sops
./profiles/remote/oracle/matrix/nixos.nix ./profiles/remote/oracle/matrix/nixos.nix
@ -1527,10 +1519,9 @@ Mostly just sets some opened ports for several games, enables virtualbox (which
<<theme>> <<theme>>
hardware = { hardware = {
opengl = { graphics = {
enable = true; enable = true;
driSupport = true; enable32Bit = true;
driSupport32Bit = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
vulkan-loader vulkan-loader
vulkan-validation-layers 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:二";} { output = "HDMI-A-1"; workspace = "2:二";}
]; ];
keybindings = let keybindings = let
modifier = config.wayland.windowManager.sway.config.modifier; modifier = config.wayland.windowManager.sway.config.modifier;
in { 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: { nixpkgs.config.packageOverrides = pkgs: {
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
}; };
hardware.opengl = { hardware.graphics = {
enable = true; enable = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
intel-media-driver # LIBVA_DRIVER_NAME=iHD intel-media-driver # LIBVA_DRIVER_NAME=iHD
@ -2590,7 +2582,6 @@ Make sure to also do this for doublepuppet.yaml
./hardware-configuration.nix ./hardware-configuration.nix
# we import here a service that is not available yet on normal nixpkgs # 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 # 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. 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; }; # vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
# }; # };
hardware.opengl = { hardware.graphics = {
enable = true; enable = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
intel-media-driver # LIBVA_DRIVER_NAME=iHD 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 #+begin_src nix :tangle profiles/common/nixos.nix
hardware.opengl = { hardware.graphics = {
enable = true; enable = true;
driSupport = true; enable32Bit = true;
driSupport32Bit = true;
}; };
sound.enable = true; sound.enable = true;
@ -5094,13 +5084,13 @@ Programming languages and default lsp's are defined here: [[#h:0e7e8bea-ec58-499
ffmpeg_5-full ffmpeg_5-full
flac flac
mediainfo mediainfo
picard picard-tools
audacity audacity
sox sox
# printing # printing
cups cups
gnome.simple-scan simple-scan
# dict # dict
(aspellWithDicts (dicts: with dicts; [ de en en-computers en-science ])) (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 obsidian
spotify spotify
discord discord
nextcloud-client stable.nextcloud-client
spotify-player spotify-player
element-desktop-wayland element-desktop-wayland
nicotine-plus nicotine-plus
transmission stable.transmission
mktorrent mktorrent
hexchat hexchat
hugo hugo
@ -5189,7 +5179,7 @@ Programming languages and default lsp's are defined here: [[#h:0e7e8bea-ec58-499
unzip unzip
#nautilus #nautilus
gnome.nautilus nautilus
xfce.tumbler xfce.tumbler
libgsf libgsf
@ -5215,7 +5205,7 @@ Programming languages and default lsp's are defined here: [[#h:0e7e8bea-ec58-499
#keychain #keychain
qalculate-gtk qalculate-gtk
gcr # needed for gnome-secrets to work gcr # needed for gnome-secrets to work
gnome.seahorse seahorse
# sops-related # sops-related
sops sops
@ -6205,7 +6195,7 @@ Lastly, I am defining some more packages here that the parser has problems findi
extraEmacsPackages = epkgs: [ extraEmacsPackages = epkgs: [
epkgs.mu4e epkgs.mu4e
epkgs.use-package epkgs.use-package
epkgs.lsp-bridge # epkgs.lsp-bridge
epkgs.doom-themes epkgs.doom-themes
# build the rest of the packages myself # 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 = { assigns = {
"1:一" = [{ app_id = "firefox"; }]; "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 = { floating = {
border = 1; border = 1;
criteria = [ criteria = [

216
flake.lock generated
View file

@ -101,15 +101,15 @@
"base16-vim": { "base16-vim": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1663659192, "lastModified": 1716150083,
"narHash": "sha256-uJvaYYDMXvoo0fhBZUhN8WBXeJ87SRgof6GEK2efFT0=", "narHash": "sha256-ZMhnNmw34ogE5rJZrjRv5MtG3WaqKd60ds2VXvT6hEc=",
"owner": "chriskempson", "owner": "tinted-theming",
"repo": "base16-vim", "repo": "base16-vim",
"rev": "3be3cd82cd31acfcab9a41bad853d9c68d30478d", "rev": "6e955d704d046b0dc3e5c2d68a2a6eeffd2b5d3d",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "chriskempson", "owner": "tinted-theming",
"repo": "base16-vim", "repo": "base16-vim",
"type": "github" "type": "github"
} }
@ -122,11 +122,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1711299236, "lastModified": 1718474113,
"narHash": "sha256-6/JsyozOMKN8LUGqWMopKTSiK8N79T8Q+hcxu2KkTXg=", "narHash": "sha256-UKrfy/46YF2TRnxTtKCYzqf2f5ZPRRWwKCCJb7O5X8U=",
"owner": "ipetkov", "owner": "ipetkov",
"repo": "crane", "repo": "crane",
"rev": "880573f80d09e18a11713f402b9e6172a085449f", "rev": "0095fd8ea00ae0a9e6014f39c375e40c2fbd3386",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -144,11 +144,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1716342612, "lastModified": 1720689099,
"narHash": "sha256-D8Zj8ftu5Zpgkb3wbQoxsRfJ9cGJxDdauFtuPHenD8E=", "narHash": "sha256-sTZbsq2IYa2EQu7Gel8HLlPI4xVdufonNOJxmFGhigw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "6eb679f5e75b80580e8d3fa1594369e128b37911", "rev": "862212a4e798845254e4ae2ad97f69b7b4d85a72",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -212,11 +212,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1709336216, "lastModified": 1717285511,
"narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -230,11 +230,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1715865404, "lastModified": 1719994518,
"narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -374,11 +374,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1715930644, "lastModified": 1720646128,
"narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=", "narHash": "sha256-BivO5yIQukDlJL+1875Sqf3GuOPxZDdA48dYDi3PkL8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d", "rev": "c085b984ff2808bf322f375b10fea5a415a9c43d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -417,11 +417,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1714981474, "lastModified": 1715930644,
"narHash": "sha256-b3/U21CJjCjJKmA9WqUbZGZgCvospO3ArOUTgJugkOY=", "narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "6ebe7be2e67be7b9b54d61ce5704f6fb466c536f", "rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -441,11 +441,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1713369831, "lastModified": 1719818887,
"narHash": "sha256-G4OGxvlIIjphpkxcRAkf1QInYsAeqbfNh6Yl1JLy2uM=", "narHash": "sha256-Bogl1pJlgby7OpR16jp8zwOWV7FHRxCsnNxHcisyIq0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "lanzaboote", "repo": "lanzaboote",
"rev": "850f27322239f8cfa56b122cc9a278ab99a49015", "rev": "0e6457c98547ec8866714d4222545e7e8c1ae429",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -467,11 +467,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1715754082, "lastModified": 1718448591,
"narHash": "sha256-2hAydsdMk6QmDar+16ryyn+pVksxudwC5vRiatJbysM=", "narHash": "sha256-TDzUlwvCmkY4IzEMLV7vmB/GlKznsS+/oBO4Z6z9ACE=",
"owner": "thiagokokada", "owner": "thiagokokada",
"repo": "nix-alien", "repo": "nix-alien",
"rev": "ea6ebda03c5537eebbb93af57ca6f2c2979981be", "rev": "d457975f39a4eaf8bec55b7cc3ff26226d4fb062",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -524,11 +524,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1716340597, "lastModified": 1720315345,
"narHash": "sha256-OlN/h6w4Hf5YP4ZPdqzxix3eSPCwYqInUMvsTIERB8M=", "narHash": "sha256-B7CRTjGf0Nll2RouHAzLsOt5L0u04JTN4vetrGXXmUk=",
"owner": "fufexan", "owner": "fufexan",
"repo": "nix-gaming", "repo": "nix-gaming",
"rev": "36d3115d7707e0f99b42e89ed7bb9ad88ad102e8", "rev": "96379e6b4d1f234ffd4bbe684d83a3d08a3dd2a7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -542,11 +542,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1715483403, "lastModified": 1718011381,
"narHash": "sha256-WMDuQj7J5jbpXI/X/E6FZRKgBFGcaSTvYyVxPnKE6KU=", "narHash": "sha256-sFXI+ZANp/OC+MwfJoZgPSf4xMdtzQMe1pS3FGti4C8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "f9027322f48b427da23746aa359a6510dfcd0228", "rev": "88ad3d7501e22b2401dd72734b032b7baa794434",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -601,11 +601,11 @@
}, },
"nixlib": { "nixlib": {
"locked": { "locked": {
"lastModified": 1712450863, "lastModified": 1719708727,
"narHash": "sha256-K6IkdtMtq9xktmYPj0uaYc8NsIqHuaAoRBaMgu9Fvrw=", "narHash": "sha256-XFNKtyirrGNdehpg7lMNm1skEcBApjqGhaHc/OI95HY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "3c62b6a12571c9a7f65ab037173ee153d539905f", "rev": "1bba8a624b3b9d4f68db94fb63aaeb46039ce9e6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -622,11 +622,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1716210724, "lastModified": 1720055043,
"narHash": "sha256-iqQa3omRcHGpWb1ds75jS9ruA5R39FTmAkeR3J+ve1w=", "narHash": "sha256-SKizewU4UeYrkZWPUjur8EoxscGoNb0pGcrNL4YzAIg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-generators", "repo": "nixos-generators",
"rev": "d14b286322c7f4f897ca4b1726ce38cb68596c94", "rev": "168b220231a70e47cc1f0919048fa5914415fb18",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -637,11 +637,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1716173274, "lastModified": 1720515935,
"narHash": "sha256-FC21Bn4m6ctajMjiUof30awPBH/7WjD0M5yqrWepZbY=", "narHash": "sha256-8b+fzR4W2hI5axwB+4nBwoA15awPKkck4ghhCt8v39M=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "d9e0b26202fd500cf3e79f73653cce7f7d541191", "rev": "a111ce6b537df12a39874aa9672caa87f8677eda",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -653,11 +653,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1711297276, "lastModified": 1718541509,
"narHash": "sha256-KtHBr73Z729krfueBV6pUsEyq/4vILGP77DPmrKOTrI=", "narHash": "sha256-TmC5TxW5WPAfmovDzi1hLe1i4qqND79s9SH9UOKcSvo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3d41d1087707826b3a90685ab69147f8dc8145d5", "rev": "ba06293cdba1c94af9710024abf3b94cf8d76349",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -685,44 +685,28 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1714640452, "lastModified": 1719876945,
"narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=", "narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=",
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.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"
} }
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1716218643, "lastModified": 1720553833,
"narHash": "sha256-i/E7gzQybvcGAYDRGDl39WL6yVk30Je/NXypBz6/nmM=", "narHash": "sha256-IXMiHQMtdShDXcBW95ctA+m5Oq2kLxnBt7WlMxvDQXA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a8695cbd09a7ecf3376bd62c798b9864d20f86ee", "rev": "249fbde2a178a2ea2638b65b9ecebd531b338cf9",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-23.11", "ref": "nixos-24.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -745,31 +729,47 @@
}, },
"nixpkgs-stable_3": { "nixpkgs-stable_3": {
"locked": { "locked": {
"lastModified": 1716061101, "lastModified": 1720553833,
"narHash": "sha256-H0eCta7ahEgloGIwE/ihkyGstOGu+kQwAiHvwVoXaA0=", "narHash": "sha256-IXMiHQMtdShDXcBW95ctA+m5Oq2kLxnBt7WlMxvDQXA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e7cc61784ddf51c81487637b3031a6dd2d6673a2", "rev": "249fbde2a178a2ea2638b65b9ecebd531b338cf9",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "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", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1715266358, "lastModified": 1717786204,
"narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=", "narHash": "sha256-4q0s6m0GUcN7q+Y2DqD27iLvbcd1G50T2lv08kKxkSI=",
"owner": "nixos", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f1010e0469db743d14519a1efd37e23f8513d714", "rev": "051f920625ab5aabe37c920346e3e69d7d34400e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
@ -777,11 +777,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1716062047, "lastModified": 1720181791,
"narHash": "sha256-OhysviwHQz4p2HZL4g7XGMLoUbWMjkMr/ogaR3VUYNA=", "narHash": "sha256-i4vJL12/AdyuQuviMMd1Hk2tsGt02hDNhA0Zj1m16N8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "02923630b89aa1ab36ef8e422501a6f4fd4b2016", "rev": "4284c2b73c8bce4b46a6adf23e16d9e2ec8da4bb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -808,11 +808,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1716293225, "lastModified": 1720542800,
"narHash": "sha256-pU9ViBVE3XYb70xZx+jK6SEVphvt7xMTbm6yDIF4xPs=", "narHash": "sha256-ZgnNHuKV6h2+fQ5LuqnUaqZey1Lqqt5dTUAiAnqH0QQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3eaeaeb6b1e08a016380c279f8846e0bd8808916", "rev": "feb2849fdeb70028c70d73b848214b00d324a497",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -824,11 +824,11 @@
}, },
"nixpkgs_6": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1716062047, "lastModified": 1720181791,
"narHash": "sha256-OhysviwHQz4p2HZL4g7XGMLoUbWMjkMr/ogaR3VUYNA=", "narHash": "sha256-i4vJL12/AdyuQuviMMd1Hk2tsGt02hDNhA0Zj1m16N8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "02923630b89aa1ab36ef8e422501a6f4fd4b2016", "rev": "4284c2b73c8bce4b46a6adf23e16d9e2ec8da4bb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -904,11 +904,11 @@
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1716346130, "lastModified": 1720689012,
"narHash": "sha256-o4Tk7LpBgtJxf4eZQojpd0FR1mWNyy+mlzrouAvIzQ0=", "narHash": "sha256-igRAAL1qJvYA3H+SZGY3MgZvs2GdzjBy9OKLukN0qz0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "d69724e2c7a808d107407f38f99c56fa50394df4", "rev": "1643074be5f5a9d2e362080048df235cb2473e80",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -923,10 +923,6 @@
"lanzaboote", "lanzaboote",
"flake-compat" "flake-compat"
], ],
"flake-utils": [
"lanzaboote",
"flake-utils"
],
"gitignore": "gitignore", "gitignore": "gitignore",
"nixpkgs": [ "nixpkgs": [
"lanzaboote", "lanzaboote",
@ -935,11 +931,11 @@
"nixpkgs-stable": "nixpkgs-stable_2" "nixpkgs-stable": "nixpkgs-stable_2"
}, },
"locked": { "locked": {
"lastModified": 1710923068, "lastModified": 1717664902,
"narHash": "sha256-6hOpUiuxuwpXXc/xfJsBUJeqqgGI+JMJuLo45aG3cKc=", "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=",
"owner": "cachix", "owner": "cachix",
"repo": "pre-commit-hooks.nix", "repo": "pre-commit-hooks.nix",
"rev": "e611897ddfdde3ed3eaac4758635d7177ff78673", "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -960,7 +956,7 @@
"nixos-generators": "nixos-generators", "nixos-generators": "nixos-generators",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_5",
"nixpkgs-mautrix-signal": "nixpkgs-mautrix-signal", "nixpkgs-stable": "nixpkgs-stable_3",
"nur": "nur", "nur": "nur",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"stylix": "stylix" "stylix": "stylix"
@ -978,11 +974,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1711246447, "lastModified": 1718504420,
"narHash": "sha256-g9TOluObcOEKewFo2fR4cn51Y/jSKhRRo4QZckHLop0=", "narHash": "sha256-F2HT/abCfr0CDpkvXwYCscJyD66XDTLMVfdrIMRp2ck=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "dcc802a6ec4e9cc6a1c8c393327f0c42666f22e4", "rev": "0043c3f92304823cc2c0a4354b0feaa61dfb4cd9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -994,14 +990,14 @@
"sops-nix": { "sops-nix": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_6", "nixpkgs": "nixpkgs_6",
"nixpkgs-stable": "nixpkgs-stable_3" "nixpkgs-stable": "nixpkgs-stable_4"
}, },
"locked": { "locked": {
"lastModified": 1716244104, "lastModified": 1720479166,
"narHash": "sha256-XXbqfkyWe0d0O+zqRQWi2oXi6wYDmTzXedFkBRwx1VI=", "narHash": "sha256-jqvhLDXzTLTHq9ZviFOpcTmXXmnbLfz7mWhgMNipMN4=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "fddd52460e3332eedd8a0043af5675338a5b3e0b", "rev": "67035a355b1d52d2d238501f8cc1a18706979760",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1025,11 +1021,11 @@
"nixpkgs": "nixpkgs_7" "nixpkgs": "nixpkgs_7"
}, },
"locked": { "locked": {
"lastModified": 1716206302, "lastModified": 1719525570,
"narHash": "sha256-5Qc3aQGVyPEOuN82zVamStaV81HebHvLjk3fGfpyCPY=", "narHash": "sha256-xSO/H67GAHEW0siD2PHoO/e97MbROL3r3s5SpF6A6Dc=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "81df8443556335016d6f0bc22630a95776a56d8b", "rev": "1ff9d37d27377bfe8994c24a8d6c6c1734ffa116",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -5,6 +5,7 @@
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 # user-level configuration
home-manager = { home-manager = {
@ -47,11 +48,6 @@
inputs.nixpkgs.follows = "nixpkgs"; 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 # patches for gaming on nix
nix-gaming = { nix-gaming = {
url = github:fufexan/nix-gaming; url = github:fufexan/nix-gaming;
@ -73,6 +69,7 @@
self, self,
nixpkgs, nixpkgs,
nixpkgs-stable,
home-manager, home-manager,
nix-on-droid, nix-on-droid,
nixos-generators, nixos-generators,
@ -82,7 +79,6 @@
stylix, stylix,
sops-nix, sops-nix,
lanzaboote, lanzaboote,
nixpkgs-mautrix-signal,
nix-gaming, nix-gaming,
nixos-hardware, nixos-hardware,
nix-alien, nix-alien,
@ -95,6 +91,11 @@
overlays = [ emacs-overlay.overlay overlays = [ emacs-overlay.overlay
nur.overlay nur.overlay
nixgl.overlay nixgl.overlay
(final: _prev: {
stable = import nixpkgs-stable {
inherit (final) system config;
};
})
]; ];
config.allowUnfree = true; config.allowUnfree = true;
}; };
@ -108,9 +109,6 @@
config.allowUnfree = true; config.allowUnfree = true;
}; };
pkgsmautrix = import nixpkgs-mautrix-signal { inherit system;
config.allowUnfree = true;
};
# NixOS modules that can only be used on NixOS systems # NixOS modules that can only be used on NixOS systems
nixModules = [ stylix.nixosModules.stylix nixModules = [ stylix.nixosModules.stylix
@ -158,8 +156,7 @@
}; };
sandbox = nixpkgs.lib.nixosSystem { sandbox = nixpkgs.lib.nixosSystem {
pkgs = pkgsmautrix; specialArgs = {inherit inputs pkgs; };
specialArgs.unstable = nixpkgs-mautrix-signal;
modules = [ modules = [
sops-nix.nixosModules.sops sops-nix.nixosModules.sops
./profiles/sandbox/nixos.nix ./profiles/sandbox/nixos.nix
@ -253,11 +250,9 @@
}; };
matrix = nixpkgs.lib.nixosSystem { matrix = nixpkgs.lib.nixosSystem {
# specialArgs = {inherit pkgsmautrix; }; specialArgs = {inherit inputs pkgs; };
pkgs = pkgsmautrix;
# this is to import a service module that is not on nixpkgs # this is to import a service module that is not on nixpkgs
# this way avoids infinite recursion errors # this way avoids infinite recursion errors
specialArgs.unstable = nixpkgs-mautrix-signal;
modules = [ modules = [
sops-nix.nixosModules.sops sops-nix.nixosModules.sops
./profiles/server1/matrix/nixos.nix ./profiles/server1/matrix/nixos.nix
@ -299,11 +294,7 @@
#ovm swarsel #ovm swarsel
swatrix = nixpkgs.lib.nixosSystem { swatrix = nixpkgs.lib.nixosSystem {
# specialArgs = {inherit pkgsmautrix; }; specialArgs = {inherit inputs pkgs; };
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;
modules = [ modules = [
sops-nix.nixosModules.sops sops-nix.nixosModules.sops
./profiles/remote/oracle/matrix/nixos.nix ./profiles/remote/oracle/matrix/nixos.nix

228
programs/waybar/style.css Normal file
View file

@ -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;
}