updates
This commit is contained in:
parent
a3283256b4
commit
cfc82b3817
26 changed files with 172 additions and 1673 deletions
|
@ -1,4 +1,5 @@
|
||||||
{ lib, inputs, pkgs, ... }: {
|
{ lib, inputs, ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./users
|
./users
|
||||||
./modules
|
./modules
|
||||||
|
@ -7,8 +8,14 @@
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = {
|
||||||
sharedModules = [ ./hm-modules inputs.nixvim.homeManagerModules.nixvim ];
|
inherit inputs;
|
||||||
|
};
|
||||||
|
sharedModules = [
|
||||||
|
./hm-modules
|
||||||
|
inputs.nixvim.homeManagerModules.nixvim
|
||||||
|
inputs.catppuccin.homeManagerModules.catppuccin
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.oci-containers.backend = lib.mkDefault "podman";
|
virtualisation.oci-containers.backend = lib.mkDefault "podman";
|
||||||
|
@ -29,12 +36,15 @@
|
||||||
|
|
||||||
# Nix Settings
|
# Nix Settings
|
||||||
nix = {
|
nix = {
|
||||||
registry.nixpkgs.flake = inputs.nixpkgs;
|
# registry.nixpkgs.flake = inputs.nixpkgs;
|
||||||
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
|
# nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
|
||||||
# package = pkgs.nixUnstable;
|
# package = pkgs.nixUnstable;
|
||||||
settings = {
|
settings = {
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
trusted-users = [ "root" "vivian" ];
|
trusted-users = [
|
||||||
|
"root"
|
||||||
|
"vivian"
|
||||||
|
];
|
||||||
substituters = [
|
substituters = [
|
||||||
"https://nix-community.cachix.org"
|
"https://nix-community.cachix.org"
|
||||||
"https://nixpkgs-review-bot.cachix.org"
|
"https://nixpkgs-review-bot.cachix.org"
|
||||||
|
|
|
@ -26,6 +26,11 @@ in
|
||||||
enable = mkEnableOption "catppuccin";
|
enable = mkEnableOption "catppuccin";
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
catppuccin = {
|
||||||
|
flavor = "frappe";
|
||||||
|
accent = "pink";
|
||||||
|
};
|
||||||
|
|
||||||
home.pointerCursor = {
|
home.pointerCursor = {
|
||||||
name = "Bibata_Ghost";
|
name = "Bibata_Ghost";
|
||||||
size = 24;
|
size = 24;
|
||||||
|
@ -39,14 +44,15 @@ in
|
||||||
|
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = {
|
# theme = {
|
||||||
name = "Catppuccin-Frappe-Standard-Pink-Dark";
|
# name = "Catppuccin-Frappe-Standard-Pink-Dark";
|
||||||
package = pkgs.catppuccin-gtk.override {
|
# package = pkgs.catppuccin-gtk.override {
|
||||||
accents = [ "pink" ];
|
# accents = [ "pink" ];
|
||||||
variant = "frappe";
|
# variant = "frappe";
|
||||||
size = "standard";
|
# size = "standard";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
|
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
name = "Papirus-Dark";
|
name = "Papirus-Dark";
|
||||||
package = pkgs.papirus-icon-theme.override { color = "violet"; };
|
package = pkgs.papirus-icon-theme.override { color = "violet"; };
|
||||||
|
@ -56,31 +62,34 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
qt = {
|
# qt = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
platformTheme = "qtct";
|
# # platformTheme = "qtct";
|
||||||
style.name = "kvantum";
|
# style.name = "kvantum";
|
||||||
};
|
# platformTheme.name = "kvantum";
|
||||||
|
# };
|
||||||
|
|
||||||
xdg.configFile = {
|
# xdg.configFile = {
|
||||||
"Kvantum/kvantum.kvconfig".text = ''
|
# "Kvantum/kvantum.kvconfig".text = ''
|
||||||
[General]
|
# [General]
|
||||||
theme=Catppuccin-Frappe-Pink
|
# theme=Catppuccin-Frappe-Pink
|
||||||
'';
|
# '';
|
||||||
};
|
# };
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
(catppuccin-kvantum.override {
|
# (catppuccin-kvantum.override {
|
||||||
accent = "Pink";
|
# accent = "Pink";
|
||||||
variant = "Frappe";
|
# variant = "Frappe";
|
||||||
})
|
# })
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.mako.extraConfig = readFile "${mako}/src/frappe";
|
services.mako.catppuccin.enable = true;
|
||||||
|
# programs.mako.extraConfig = readFile "${mako}/src/frappe";
|
||||||
programs.starship.settings = {
|
#
|
||||||
palette = "catppuccin_frappe";
|
# programs.starship.settings = {
|
||||||
} //fromTOML (readFile "${starship}/palettes/frappe.toml");
|
# palette = "catppuccin_frappe";
|
||||||
|
# } //fromTOML (readFile "${starship}/palettes/frappe.toml");
|
||||||
|
#
|
||||||
|
|
||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
userSettings."workbench.colorTheme" = "Catppuccin Frappé";
|
userSettings."workbench.colorTheme" = "Catppuccin Frappé";
|
||||||
|
|
|
@ -37,6 +37,7 @@ with lib;
|
||||||
conceallevel = 2;
|
conceallevel = 2;
|
||||||
expandtab = true;
|
expandtab = true;
|
||||||
tabstop = 2;
|
tabstop = 2;
|
||||||
|
|
||||||
shiftwidth = 2;
|
shiftwidth = 2;
|
||||||
smartindent = true;
|
smartindent = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
let cfg = config.services.flood;
|
let cfg = config.services.v.flood;
|
||||||
in {
|
in {
|
||||||
options.services.flood = {
|
options.services.v.flood = {
|
||||||
enable = mkEnableOption "flood";
|
enable = mkEnableOption "flood";
|
||||||
|
|
||||||
user = mkOption {
|
user = mkOption {
|
||||||
|
|
216
flake.lock
generated
216
flake.lock
generated
|
@ -40,6 +40,21 @@
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"catppuccin": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1720311994,
|
||||||
|
"narHash": "sha256-HsDHgJaozek5fExjwmN47QWbDtDnGLWJT4uOOtLEmvA=",
|
||||||
|
"owner": "catppuccin",
|
||||||
|
"repo": "nix",
|
||||||
|
"rev": "0ec7ee23269bcbe3e5f23de743fbc8e1383a3315",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "catppuccin",
|
||||||
|
"repo": "nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"colmena": {
|
"colmena": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
|
@ -90,11 +105,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": {
|
||||||
|
@ -110,11 +125,11 @@
|
||||||
"utils": "utils"
|
"utils": "utils"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715699772,
|
"lastModified": 1718194053,
|
||||||
"narHash": "sha256-sKhqIgucN5sI/7UQgBwsonzR4fONjfMr9OcHK/vPits=",
|
"narHash": "sha256-FaGrf7qwZ99ehPJCAwgvNY5sLCqQ3GDiE/6uLhxxwSY=",
|
||||||
"owner": "serokell",
|
"owner": "serokell",
|
||||||
"repo": "deploy-rs",
|
"repo": "deploy-rs",
|
||||||
"rev": "b3ea6f333f9057b77efd9091119ba67089399ced",
|
"rev": "3867348fa92bc892eba5d9ddb2d7a97b9e127a8a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -300,11 +315,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": {
|
||||||
|
@ -321,11 +336,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717285511,
|
"lastModified": 1719877454,
|
||||||
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
|
"narHash": "sha256-g5N1yyOSsPNiOlFfkuI/wcUjmtah+nxdImJqrSATjOU=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
|
"rev": "4e3583423212f9303aa1a6337f8dffb415920e4f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -369,7 +384,7 @@
|
||||||
},
|
},
|
||||||
"flake-utils_10": {
|
"flake-utils_10": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_10"
|
"systems": "systems_9"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681202837,
|
"lastModified": 1681202837,
|
||||||
|
@ -474,7 +489,7 @@
|
||||||
},
|
},
|
||||||
"flake-utils_7": {
|
"flake-utils_7": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_7"
|
"systems": "systems_6"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1705309234,
|
"lastModified": 1705309234,
|
||||||
|
@ -492,7 +507,7 @@
|
||||||
},
|
},
|
||||||
"flake-utils_8": {
|
"flake-utils_8": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_8"
|
"systems": "systems_7"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701680307,
|
"lastModified": 1701680307,
|
||||||
|
@ -510,7 +525,7 @@
|
||||||
},
|
},
|
||||||
"flake-utils_9": {
|
"flake-utils_9": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_9"
|
"systems": "systems_8"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710146030,
|
"lastModified": 1710146030,
|
||||||
|
@ -540,11 +555,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717664902,
|
"lastModified": 1719259945,
|
||||||
"narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=",
|
"narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1",
|
"rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -625,11 +640,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717525419,
|
"lastModified": 1720327769,
|
||||||
"narHash": "sha256-5z2422pzWnPXHgq2ms8lcCfttM0dz+hg+x1pCcNkAws=",
|
"narHash": "sha256-kAsg3Lg4YKKpGw+f1W2s5hzjP8B0y/juowvjK8utIag=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "a7117efb3725e6197dd95424136f79147aa35e5b",
|
"rev": "6b7ce96f34b324e4e104abc30d06955d216bac71",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -646,11 +661,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717525419,
|
"lastModified": 1719827439,
|
||||||
"narHash": "sha256-5z2422pzWnPXHgq2ms8lcCfttM0dz+hg+x1pCcNkAws=",
|
"narHash": "sha256-tneHOIv1lEavZ0vQ+rgz67LPNCgOZVByYki3OkSshFU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "a7117efb3725e6197dd95424136f79147aa35e5b",
|
"rev": "59ce796b2563e19821361abbe2067c3bb4143a7d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -672,11 +687,11 @@
|
||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717686691,
|
"lastModified": 1719818887,
|
||||||
"narHash": "sha256-LF4zVaSsJ83wq6j+4lm/olK2V71KAJHNJbD42mF+fr8=",
|
"narHash": "sha256-Bogl1pJlgby7OpR16jp8zwOWV7FHRxCsnNxHcisyIq0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "lanzaboote",
|
"repo": "lanzaboote",
|
||||||
"rev": "990e300ef9abe0eb8c86388683f8d7465e335626",
|
"rev": "0e6457c98547ec8866714d4222545e7e8c1ae429",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -692,20 +707,20 @@
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"utils": "utils_2"
|
"nixpkgs-24_05": "nixpkgs-24_05"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717515088,
|
"lastModified": 1718697807,
|
||||||
"narHash": "sha256-nWOLpPA7+k7V1OjXTuxdsVd5jeeI0b13Di57wvnqkic=",
|
"narHash": "sha256-Enla61WFisytTYbWygPynEbu8vozjeGc6Obkj2GRj7o=",
|
||||||
"owner": "simple-nixos-mailserver",
|
"ref": "refs/heads/master",
|
||||||
"repo": "nixos-mailserver",
|
"rev": "290a995de5c3d3f08468fa548f0d55ab2efc7b6b",
|
||||||
"rev": "0d51a32e4799d081f260eb4db37145f5f4ee7456",
|
"revCount": 591,
|
||||||
"type": "gitlab"
|
"type": "git",
|
||||||
|
"url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "simple-nixos-mailserver",
|
"type": "git",
|
||||||
"repo": "nixos-mailserver",
|
"url": "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git"
|
||||||
"type": "gitlab"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"microvm": {
|
"microvm": {
|
||||||
|
@ -715,11 +730,11 @@
|
||||||
"spectrum": "spectrum"
|
"spectrum": "spectrum"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717441449,
|
"lastModified": 1720034501,
|
||||||
"narHash": "sha256-juxjgmLnFbl+/hhIO2cVtIa6caCO4pLKlZWUMwAOznM=",
|
"narHash": "sha256-fzZpuVnhw5uOtA4OuXw3a+Otpy8C+QV0Uu5XfhGEPSg=",
|
||||||
"owner": "astro",
|
"owner": "astro",
|
||||||
"repo": "microvm.nix",
|
"repo": "microvm.nix",
|
||||||
"rev": "e3a4dd5b381fb580804105594cc9c71dc45abdb5",
|
"rev": "a808af7775f508a2afedd1e4940a382fe1194f21",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -736,11 +751,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1716993688,
|
"lastModified": 1719845423,
|
||||||
"narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=",
|
"narHash": "sha256-ZLHDmWAsHQQKnmfyhYSHJDlt8Wfjv6SQhl2qek42O7A=",
|
||||||
"owner": "lnl7",
|
"owner": "lnl7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4",
|
"rev": "ec12b88104d6c117871fad55e931addac4626756",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -751,11 +766,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": {
|
||||||
|
@ -772,11 +787,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": {
|
||||||
|
@ -787,11 +802,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717574423,
|
"lastModified": 1719895800,
|
||||||
"narHash": "sha256-cz3P5MZffAHwL2IQaNzsqUBsJS+u0J/AAwArHMAcCa0=",
|
"narHash": "sha256-xNbjISJTFailxass4LmdWeV4jNhAlmJPwj46a/GxE6M=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "d6c6cf6f5fead4057d8fb2d5f30aa8ac1727f177",
|
"rev": "6e253f12b1009053eff5344be5e835f604bb64cd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -816,6 +831,21 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-24_05": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1717144377,
|
||||||
|
"narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "805a384895c696f802a9bf5bf4720f37385df547",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"ref": "nixos-24.05",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1711460390,
|
"lastModified": 1711460390,
|
||||||
|
@ -882,11 +912,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717602782,
|
"lastModified": 1720031269,
|
||||||
"narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=",
|
"narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6",
|
"rev": "9f4128e00b0ae8ec65918efeba59db998750ead6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -897,11 +927,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717196966,
|
"lastModified": 1719848872,
|
||||||
"narHash": "sha256-yZKhxVIKd2lsbOqYd5iDoUIwsRZFqE87smE2Vzf6Ck0=",
|
"narHash": "sha256-H3+EC5cYuq+gQW8y0lSrrDZfH71LB4DAf+TDFyvwCNA=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "57610d2f8f0937f39dbd72251e9614b1561942d8",
|
"rev": "00d80d13810dbfea8ab4ed1009b09100cca86ba8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -939,11 +969,11 @@
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717681257,
|
"lastModified": 1720298683,
|
||||||
"narHash": "sha256-0PhFvfc4wDjba1cus2ALsfn0wVizeKkcuF+aqvDJivg=",
|
"narHash": "sha256-CNtfHBwlKuTTanwmUI85Z/HkHShnqZs+WYyxQR8zRFY=",
|
||||||
"owner": "pta2002",
|
"owner": "pta2002",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "36f2e51b28ee3389a67ed5e9ed5c4bd388b06918",
|
"rev": "6674dea8403747827431d4d8497c34023f93d047",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -954,11 +984,11 @@
|
||||||
},
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717748219,
|
"lastModified": 1720333675,
|
||||||
"narHash": "sha256-FTHNyCkHGI4F20WzBvIVurkr5J4UGMyZuZCWK6bxDhw=",
|
"narHash": "sha256-VGywVhDGWxNjykMEiCv1XXk1xT7vYAYHe557L9dIQN0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "c1edc05252cacfe23a04c9b7e687bb1dfaac67f9",
|
"rev": "25e98a0c8af990fdef4cd1aa951c6a7b93618bdd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -973,10 +1003,6 @@
|
||||||
"lanzaboote",
|
"lanzaboote",
|
||||||
"flake-compat"
|
"flake-compat"
|
||||||
],
|
],
|
||||||
"flake-utils": [
|
|
||||||
"lanzaboote",
|
|
||||||
"flake-utils"
|
|
||||||
],
|
|
||||||
"gitignore": "gitignore",
|
"gitignore": "gitignore",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"lanzaboote",
|
"lanzaboote",
|
||||||
|
@ -985,11 +1011,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": {
|
||||||
|
@ -1001,6 +1027,7 @@
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"attic": "attic",
|
"attic": "attic",
|
||||||
|
"catppuccin": "catppuccin",
|
||||||
"colmena": "colmena",
|
"colmena": "colmena",
|
||||||
"deploy": "deploy",
|
"deploy": "deploy",
|
||||||
"essentials": "essentials",
|
"essentials": "essentials",
|
||||||
|
@ -1032,11 +1059,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": {
|
||||||
|
@ -1092,21 +1119,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_10": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems_2": {
|
"systems_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
|
@ -1256,11 +1268,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717278143,
|
"lastModified": 1719887753,
|
||||||
"narHash": "sha256-u10aDdYrpiGOLoxzY/mJ9llST9yO8Q7K/UlROoNxzDw=",
|
"narHash": "sha256-p0B2r98UtZzRDM5miGRafL4h7TwGRC4DII+XXHDHqek=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "3eb96ca1ae9edf792a8e0963cc92fddfa5a87706",
|
"rev": "bdb6355009562d8f9313d9460c0d3860f525bc6c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1287,24 +1299,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"utils_2": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_6"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1709126324,
|
|
||||||
"narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "d465f4819400de7c8d874d50b982301f28a84605",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"vault-secrets": {
|
"vault-secrets": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_8",
|
"flake-compat": "flake-compat_8",
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
home-manager.url = "github:nix-community/home-manager";
|
home-manager.url = "github:nix-community/home-manager";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
|
mailserver.url = "git+https://gitlab.com/simple-nixos-mailserver/nixos-mailserver.git";
|
||||||
mailserver.inputs.nixpkgs.follows = "nixpkgs";
|
mailserver.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
nixvim.url = "github:pta2002/nixvim";
|
nixvim.url = "github:pta2002/nixvim";
|
||||||
|
@ -42,6 +42,8 @@
|
||||||
attic.url = "github:zhaofengli/attic";
|
attic.url = "github:zhaofengli/attic";
|
||||||
attic.inputs.nixpkgs.follows = "nixpkgs";
|
attic.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
|
catppuccin.url = "github:catppuccin/nix";
|
||||||
|
|
||||||
essentials.url = "github:jdonszelmann/essentials";
|
essentials.url = "github:jdonszelmann/essentials";
|
||||||
essentials.inputs.nixpkgs.follows = "nixpkgs";
|
essentials.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
@ -58,6 +60,7 @@
|
||||||
gnome-autounlock-keyring,
|
gnome-autounlock-keyring,
|
||||||
lanzaboote,
|
lanzaboote,
|
||||||
t,
|
t,
|
||||||
|
catppuccin,
|
||||||
...
|
...
|
||||||
}@inputs:
|
}@inputs:
|
||||||
let
|
let
|
||||||
|
@ -76,6 +79,7 @@
|
||||||
# Channels config
|
# Channels config
|
||||||
channelsConfig = {
|
channelsConfig = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
|
permittedInsecurePackages = [ "electron" ];
|
||||||
};
|
};
|
||||||
sharedOverlays = [
|
sharedOverlays = [
|
||||||
(import ./pkgs)
|
(import ./pkgs)
|
||||||
|
@ -88,6 +92,7 @@
|
||||||
modules = [
|
modules = [
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
gnome-autounlock-keyring.nixosModules.default
|
gnome-autounlock-keyring.nixosModules.default
|
||||||
|
catppuccin.nixosModules.catppuccin
|
||||||
./common
|
./common
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -98,7 +103,6 @@
|
||||||
|
|
||||||
# hosts
|
# hosts
|
||||||
hosts = {
|
hosts = {
|
||||||
# TODO: Figure out why this is reversed, and how/why it sets the FQDN
|
|
||||||
"olympus.bastion" = {
|
"olympus.bastion" = {
|
||||||
modules = [
|
modules = [
|
||||||
./common/generic-vm.nix
|
./common/generic-vm.nix
|
||||||
|
|
|
@ -13,8 +13,6 @@
|
||||||
# OpenGL + Vulkan
|
# OpenGL + Vulkan
|
||||||
opengl = {
|
opengl = {
|
||||||
enable = true;
|
enable = true;
|
||||||
driSupport = true;
|
|
||||||
driSupport32Bit = true;
|
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
amdvlk
|
amdvlk
|
||||||
rocm-opencl-icd
|
rocm-opencl-icd
|
||||||
|
|
|
@ -39,14 +39,6 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile."hypr/hyprpaper.conf".text =
|
|
||||||
let
|
|
||||||
wallpaper = "/home/vivian/cloud/Pictures/Wallpapers-Laptop/wallpaper-nix-pink.png";
|
|
||||||
in
|
|
||||||
''
|
|
||||||
|
|
||||||
'';
|
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
wofi = {
|
wofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -211,10 +203,11 @@ in
|
||||||
"col.border_inactive" = "rgba(232634aa)";
|
"col.border_inactive" = "rgba(232634aa)";
|
||||||
|
|
||||||
groupbar = {
|
groupbar = {
|
||||||
font_size = 16;
|
font_size = 10;
|
||||||
|
height = 18;
|
||||||
"col.active" = "rgba(babbf1aa)";
|
"col.active" = "rgba(babbf1aa)";
|
||||||
"col.inactive" = "rgba(414559aa)";
|
"col.inactive" = "rgba(414559aa)";
|
||||||
text_color = "rgba(81c8beee)";
|
text_color = "rgba(ffffffee)";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
decoration = {
|
decoration = {
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# * Smart Phone Sensing
|
# * Smart Phone Sensing
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [ android-studio ];
|
environment.systemPackages = with pkgs; [ ];
|
||||||
|
|
||||||
programs.wireshark = {
|
programs.wireshark = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
# null
|
|
||||||
This folder contains the NixOS configuration for my laptop, with hostname `null`.
|
|
||||||
|
|
||||||
## Information
|
|
||||||
* OS: NixOS
|
|
||||||
* WM: hyprland
|
|
||||||
* Terminal: foot
|
|
||||||
* Shell: zsh
|
|
||||||
* Theme: Captuccin Pink Dark
|
|
||||||
* Launcher: wofi
|
|
|
@ -1,266 +0,0 @@
|
||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
|
||||||
|
|
||||||
{ pkgs, inputs, ... }:
|
|
||||||
let
|
|
||||||
nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" ''
|
|
||||||
export __NV_PRIME_RENDER_OFFLOAD=1
|
|
||||||
export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
|
|
||||||
export __GLX_VENDOR_LIBRARY_NAME=nvidia
|
|
||||||
export __VK_LAYER_NV_optimus=NVIDIA_only
|
|
||||||
export LIBVA_DRIVER_NAME=nvidia
|
|
||||||
export GBM_BACKEND=nvidia-drm
|
|
||||||
|
|
||||||
exec "$@"
|
|
||||||
'';
|
|
||||||
run-hyprland = pkgs.writeShellScriptBin "run-hyprland" ''
|
|
||||||
export _JAVA_AWT_WM_NONREPARENTING=1
|
|
||||||
export XCURSOR_SIZE=32
|
|
||||||
|
|
||||||
export CLUTTER_BACKEND=wayland
|
|
||||||
export XDG_SESSION_TYPE=wayland
|
|
||||||
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
|
|
||||||
export MOZ_ENABLE_WAYLAND=1
|
|
||||||
export WLR_NO_HARDWARE_CURSORS=1
|
|
||||||
export WLR_BACKEND=vulkan
|
|
||||||
export QT_QPA_PLATFORM=wayland
|
|
||||||
export GDK_BACKEND=wayland
|
|
||||||
export SDL_VIDEODRIVER=wayland
|
|
||||||
|
|
||||||
exec Hyprland
|
|
||||||
'';
|
|
||||||
in {
|
|
||||||
imports = [
|
|
||||||
# Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
|
||||||
./rescue-boot.nix
|
|
||||||
./networking.nix
|
|
||||||
];
|
|
||||||
home-manager = {
|
|
||||||
|
|
||||||
# home-manager
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
useUserPackages = true;
|
|
||||||
users.vivian = import ./home;
|
|
||||||
extraSpecialArgs = { inherit inputs; };
|
|
||||||
};
|
|
||||||
|
|
||||||
security = {
|
|
||||||
|
|
||||||
pam.services.swaylock = { };
|
|
||||||
|
|
||||||
sudo.wheelNeedsPassword = true;
|
|
||||||
rtkit.enable = true;
|
|
||||||
|
|
||||||
# Enables logging in with my Solokey
|
|
||||||
pam.u2f = {
|
|
||||||
enable = true;
|
|
||||||
debug = false;
|
|
||||||
cue = true;
|
|
||||||
control = "sufficient";
|
|
||||||
authFile =
|
|
||||||
"/etc/u2f-mappings"; # use `pamu2fcfg` from `pkgs.pam_u2f` to generate this config
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
fonts = {
|
|
||||||
fonts = with pkgs; [
|
|
||||||
material-design-icons
|
|
||||||
noto-fonts
|
|
||||||
noto-fonts-cjk
|
|
||||||
noto-fonts-emoji
|
|
||||||
dejavu_fonts
|
|
||||||
(nerdfonts.override {
|
|
||||||
fonts =
|
|
||||||
[ "DejaVuSansMono" "Ubuntu" "DroidSansMono" "NerdFontsSymbolsOnly" ];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
enableDefaultFonts = false;
|
|
||||||
|
|
||||||
fontconfig = {
|
|
||||||
defaultFonts = {
|
|
||||||
monospace = [ "DejaVuSansMono Nerd Font" "Noto Color Emoji" ];
|
|
||||||
sansSerif =
|
|
||||||
[ "DejaVu Sans" "DejaVuSansMono Nerd Font" "Noto Color Emoji" ];
|
|
||||||
serif =
|
|
||||||
[ "DejaVu Serif" "DejaVuSansMono Nerd Font" "Noto Color Emoji" ];
|
|
||||||
emoji = [ "Noto Color Emoji" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Bootloader.
|
|
||||||
# boot.initrd.systemd.enable = true; # Experimental
|
|
||||||
boot = {
|
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
|
||||||
loader = {
|
|
||||||
systemd-boot.editor = false;
|
|
||||||
systemd-boot.enable = true;
|
|
||||||
# loader.systemd-boot.configurationLimit = 6;
|
|
||||||
efi.canTouchEfiVariables = true;
|
|
||||||
efi.efiSysMountPoint = "/boot/efi";
|
|
||||||
};
|
|
||||||
|
|
||||||
kernel.sysctl = { "fs.inotify.max_user_watches" = 524288; };
|
|
||||||
};
|
|
||||||
services = {
|
|
||||||
gnome.gnome-keyring.enable = true;
|
|
||||||
|
|
||||||
udisks2.enable = true;
|
|
||||||
dbus.enable = true;
|
|
||||||
|
|
||||||
xserver = {
|
|
||||||
enable = false;
|
|
||||||
layout = "us";
|
|
||||||
xkbVariant = "altgr-intl";
|
|
||||||
xkbOptions = "caps:swapescape";
|
|
||||||
videoDrivers = [ "nvidia" ];
|
|
||||||
};
|
|
||||||
blueman.enable = true;
|
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
|
||||||
printing.enable = true;
|
|
||||||
pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
# If you want to use JACK applications, uncomment this
|
|
||||||
#jack.enable = true;
|
|
||||||
|
|
||||||
# use the example session manager (no others are packaged yet so this is enabled by default,
|
|
||||||
# no need to redefine it in your config for now)
|
|
||||||
#media-session.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
fstrim.enable = true;
|
|
||||||
|
|
||||||
# don't shutdown when power button is short-pressed
|
|
||||||
logind.extraConfig = ''
|
|
||||||
HandlePowerKey=suspend
|
|
||||||
'';
|
|
||||||
|
|
||||||
udev.packages = with pkgs; [
|
|
||||||
android-udev-rules
|
|
||||||
logitech-udev-rules
|
|
||||||
wooting-udev-rules
|
|
||||||
];
|
|
||||||
};
|
|
||||||
fileSystems = {
|
|
||||||
|
|
||||||
"/".options = [ "compress=zstd" ];
|
|
||||||
"/home".options = [ "compress=zstd" ];
|
|
||||||
"/nix".options = [ "compress=zstd" "noatime" ];
|
|
||||||
};
|
|
||||||
i18n = {
|
|
||||||
|
|
||||||
# Filesystem dedup
|
|
||||||
# services.beesd.filesystems = {
|
|
||||||
# root = {
|
|
||||||
# spec = "LABEL=nixos";
|
|
||||||
# hashTableSizeMB = 256;
|
|
||||||
# verbosity = "crit";
|
|
||||||
# extraOptions = [ "--loadavg-target" "2.0" ];
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
defaultLocale = "en_GB.utf8";
|
|
||||||
|
|
||||||
extraLocaleSettings = {
|
|
||||||
LC_ADDRESS = "nl_NL.UTF-8";
|
|
||||||
LC_IDENTIFICATION = "nl_NL.UTF-8";
|
|
||||||
LC_MEASUREMENT = "nl_NL.UTF-8";
|
|
||||||
LC_MONETARY = "nl_NL.UTF-8";
|
|
||||||
LC_NAME = "nl_NL.UTF-8";
|
|
||||||
LC_NUMERIC = "nl_NL.UTF-8";
|
|
||||||
LC_PAPER = "nl_NL.UTF-8";
|
|
||||||
LC_TELEPHONE = "nl_NL.UTF-8";
|
|
||||||
LC_TIME = "en_DK.UTF-8";
|
|
||||||
};
|
|
||||||
|
|
||||||
supportedLocales =
|
|
||||||
[ "en_GB.UTF-8/UTF-8" "nl_NL.UTF-8/UTF-8" "en_DK.UTF-8/UTF-8" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.portal = {
|
|
||||||
enable = true;
|
|
||||||
wlr.enable = true;
|
|
||||||
};
|
|
||||||
programs = {
|
|
||||||
|
|
||||||
# Hyprland
|
|
||||||
hyprland = {
|
|
||||||
enable = true;
|
|
||||||
package = null; # Managed by home manager
|
|
||||||
};
|
|
||||||
|
|
||||||
steam = {
|
|
||||||
enable = true;
|
|
||||||
remotePlay.openFirewall = true;
|
|
||||||
dedicatedServer.openFirewall = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
ssh.startAgent = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.loginShellInit = ''
|
|
||||||
if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then
|
|
||||||
${run-hyprland}/bin/run-hyprland
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
hardware = {
|
|
||||||
|
|
||||||
nvidia.prime = {
|
|
||||||
offload.enable = true;
|
|
||||||
intelBusId = "PCI:0:2:0";
|
|
||||||
nvidiaBusId = "PCI:1:0:0";
|
|
||||||
};
|
|
||||||
|
|
||||||
opengl = {
|
|
||||||
enable = true;
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
vaapiVdpau
|
|
||||||
intel-media-driver # LIBVA_DRIVER_NAME=iHD
|
|
||||||
vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
|
|
||||||
libvdpau-va-gl
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
bluetooth.enable = true;
|
|
||||||
|
|
||||||
saleae-logic.enable = true;
|
|
||||||
pulseaudio.enable = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
virtualisation.podman.enable = true;
|
|
||||||
|
|
||||||
# Enable sound with pipewire.
|
|
||||||
sound.enable = true;
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
pciutils
|
|
||||||
nvidia-offload
|
|
||||||
run-hyprland
|
|
||||||
wireguard-tools
|
|
||||||
slurp
|
|
||||||
gdb
|
|
||||||
|
|
||||||
swaylock-effects # Has to be installed globally so that pam module works
|
|
||||||
];
|
|
||||||
|
|
||||||
nix.extraOptions = ''
|
|
||||||
keep-outputs = true
|
|
||||||
keep-derivations = true
|
|
||||||
'';
|
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
|
||||||
# settings for stateful data, like file locations and database versions
|
|
||||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
|
||||||
# this value at the release version of the first install of this system.
|
|
||||||
# Before changing this value read the documentation for this option
|
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
|
||||||
system.stateVersion = "22.05"; # Did you read the comment?
|
|
||||||
}
|
|
|
@ -1,56 +0,0 @@
|
||||||
# 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, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
|
||||||
boot = {
|
|
||||||
|
|
||||||
initrd.availableKernelModules =
|
|
||||||
[ "xhci_pci" "ahci" "nvme" "rtsx_pci_sdmmc" ];
|
|
||||||
initrd.kernelModules = [ ];
|
|
||||||
kernelModules = [ "kvm-intel" ];
|
|
||||||
extraModulePackages = [ ];
|
|
||||||
};
|
|
||||||
fileSystems = {
|
|
||||||
|
|
||||||
"/" = {
|
|
||||||
device = "/dev/disk/by-uuid/d4f56e5b-2509-4e63-8324-65a35c71e90c";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=@" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/nix" = {
|
|
||||||
device = "/dev/disk/by-uuid/d4f56e5b-2509-4e63-8324-65a35c71e90c";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=@/nix" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/home" = {
|
|
||||||
device = "/dev/disk/by-uuid/d4f56e5b-2509-4e63-8324-65a35c71e90c";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=@home" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/boot/efi" = {
|
|
||||||
device = "/dev/disk/by-uuid/D478-6F66";
|
|
||||||
fsType = "vfat";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [ ];
|
|
||||||
|
|
||||||
# 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
|
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.wg0.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
|
||||||
hardware.cpu.intel.updateMicrocode =
|
|
||||||
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
|
|
@ -1,353 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
texlive,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
tex = pkgs.texlive.combine {
|
|
||||||
inherit (pkgs.texlive) scheme-full;
|
|
||||||
dnd-5e-latex-template = {
|
|
||||||
pkgs = [ pkgs.v.dnd-5e-latex-template ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
programs = {
|
|
||||||
home-manager.enable = true;
|
|
||||||
|
|
||||||
foot = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
nix-index.enable = true;
|
|
||||||
|
|
||||||
exa = {
|
|
||||||
enable = true;
|
|
||||||
enableAliases = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
bat.enable = true;
|
|
||||||
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.gitAndTools.gitFull;
|
|
||||||
userName = "Vivian";
|
|
||||||
userEmail = "vivian@0x76.dev";
|
|
||||||
lfs.enable = true;
|
|
||||||
# delta.enable = true;
|
|
||||||
extraConfig = {
|
|
||||||
push.autoSetupRemote = true;
|
|
||||||
init.defaultBranch = "main";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
mako = {
|
|
||||||
enable = true;
|
|
||||||
extraConfig = ''
|
|
||||||
[mode=do-not-disturb]
|
|
||||||
invisible=1
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
tmux = {
|
|
||||||
enable = true;
|
|
||||||
shortcut = "b";
|
|
||||||
terminal = "screen-256color";
|
|
||||||
clock24 = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
firefox = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.firefox-devedition-bin;
|
|
||||||
};
|
|
||||||
|
|
||||||
vscode = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.vscode;
|
|
||||||
userSettings = {
|
|
||||||
"ltex.language" = "en-GB";
|
|
||||||
"latex-workshop" = {
|
|
||||||
"linting.chktex.enabled" = true;
|
|
||||||
"latex.clean.subfolder.enabled" = true;
|
|
||||||
"latex.outDir" = "%TMPDIR%/%RELATIVE_DOC%";
|
|
||||||
};
|
|
||||||
"workbench.colorTheme" = "Catppuccin Frappé";
|
|
||||||
"editor.fontFamily" = "'DejaVuSansMono Nerd Font', 'monospace', monospace";
|
|
||||||
"keyboard.dispatch" = "keyCode";
|
|
||||||
"rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer";
|
|
||||||
"terminal.integrated.defaultProfile.linux" = "zsh";
|
|
||||||
"nix.enableLanguageServer" = true; # Enable LSP.
|
|
||||||
"nix.serverPath" = "${pkgs.nil}/bin/nil"; # The path to the LSP server executable.
|
|
||||||
"[nix]" = {
|
|
||||||
"editor.defaultFormatter" = "brettm12345.nixfmt-vscode";
|
|
||||||
};
|
|
||||||
"latex-workshop.latex.tools" = [
|
|
||||||
{
|
|
||||||
"name" = "latexmk";
|
|
||||||
"command" = "latexmk";
|
|
||||||
"args" = [
|
|
||||||
"-shell-escape"
|
|
||||||
"-synctex=1"
|
|
||||||
"-interaction=nonstopmode"
|
|
||||||
"-file-line-error"
|
|
||||||
"-pdf"
|
|
||||||
"-outdir=%OUTDIR%"
|
|
||||||
"%DOC%"
|
|
||||||
];
|
|
||||||
"env" = { };
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "lualatexmk";
|
|
||||||
"command" = "latexmk";
|
|
||||||
"args" = [
|
|
||||||
"-synctex=1"
|
|
||||||
"-interaction=nonstopmode"
|
|
||||||
"-file-line-error"
|
|
||||||
"-lualatex"
|
|
||||||
"-outdir=%OUTDIR%"
|
|
||||||
"%DOC%"
|
|
||||||
];
|
|
||||||
"env" = { };
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "xelatexmk";
|
|
||||||
"command" = "latexmk";
|
|
||||||
"args" = [
|
|
||||||
"-synctex=1"
|
|
||||||
"-interaction=nonstopmode"
|
|
||||||
"-file-line-error"
|
|
||||||
"-xelatex"
|
|
||||||
"-outdir=%OUTDIR%"
|
|
||||||
"%DOC%"
|
|
||||||
];
|
|
||||||
"env" = { };
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "latexmk_rconly";
|
|
||||||
"command" = "latexmk";
|
|
||||||
"args" = [ "%DOC%" ];
|
|
||||||
"env" = { };
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "pdflatex";
|
|
||||||
"command" = "pdflatex";
|
|
||||||
"args" = [
|
|
||||||
"-synctex=1"
|
|
||||||
"-interaction=nonstopmode"
|
|
||||||
"-file-line-error"
|
|
||||||
"%DOC%"
|
|
||||||
];
|
|
||||||
"env" = { };
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "bibtex";
|
|
||||||
"command" = "bibtex";
|
|
||||||
"args" = [ "%DOCFILE%" ];
|
|
||||||
"env" = { };
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "rnw2tex";
|
|
||||||
"command" = "Rscript";
|
|
||||||
"args" = [
|
|
||||||
"-e"
|
|
||||||
"knitr==opts_knit$set(concordance = TRUE); knitr==knit('%DOCFILE_EXT%')"
|
|
||||||
];
|
|
||||||
"env" = { };
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "jnw2tex";
|
|
||||||
"command" = "julia";
|
|
||||||
"args" = [
|
|
||||||
"-e"
|
|
||||||
"using Weave; weave(\"%DOC_EXT%\"; doctype=\"tex\")"
|
|
||||||
];
|
|
||||||
"env" = { };
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "jnw2texminted";
|
|
||||||
"command" = "julia";
|
|
||||||
"args" = [
|
|
||||||
"-e"
|
|
||||||
"using Weave; weave(\"%DOC_EXT%\"; doctype=\"texminted\")"
|
|
||||||
];
|
|
||||||
"env" = { };
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "pnw2tex";
|
|
||||||
"command" = "pweave";
|
|
||||||
"args" = [
|
|
||||||
"-f"
|
|
||||||
"tex"
|
|
||||||
"%DOC_EXT%"
|
|
||||||
];
|
|
||||||
"env" = { };
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "pnw2texminted";
|
|
||||||
"command" = "pweave";
|
|
||||||
"args" = [
|
|
||||||
"-f"
|
|
||||||
"texminted"
|
|
||||||
"%DOC_EXT%"
|
|
||||||
];
|
|
||||||
"env" = { };
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"name" = "tectonic";
|
|
||||||
"command" = "tectonic";
|
|
||||||
"args" = [
|
|
||||||
"--synctex"
|
|
||||||
"--keep-logs"
|
|
||||||
"%DOC%.tex"
|
|
||||||
];
|
|
||||||
"env" = { };
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
extensions =
|
|
||||||
with pkgs.vscode-extensions;
|
|
||||||
with pkgs.v.vscode-extensions;
|
|
||||||
[
|
|
||||||
# astro-build.astro-vscode
|
|
||||||
brettm12345.nixfmt-vscode
|
|
||||||
catppuccin.catppuccin-vsc
|
|
||||||
codezombiech.gitignore
|
|
||||||
editorconfig.editorconfig
|
|
||||||
foxundermoon.shell-format
|
|
||||||
james-yu.latex-workshop
|
|
||||||
jnoortheen.nix-ide
|
|
||||||
matklad.rust-analyzer
|
|
||||||
mkhl.direnv
|
|
||||||
ms-vscode-remote.remote-ssh
|
|
||||||
ms-vscode.cpptools
|
|
||||||
platformio.platformio-ide
|
|
||||||
redhat.vscode-yaml
|
|
||||||
tamasfe.even-better-toml
|
|
||||||
valentjn.vscode-ltex
|
|
||||||
vscodevim.vim
|
|
||||||
xaver.clang-format
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
direnv = {
|
|
||||||
enable = true;
|
|
||||||
nix-direnv = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
zsh = {
|
|
||||||
enable = true;
|
|
||||||
sessionVariables = {
|
|
||||||
DIRENV_LOG_FORMAT = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
home = {
|
|
||||||
username = "vivian";
|
|
||||||
homeDirectory = "/home/vivian";
|
|
||||||
stateVersion = "22.05";
|
|
||||||
|
|
||||||
packages = with pkgs; [
|
|
||||||
appimage-run
|
|
||||||
brightnessctl
|
|
||||||
btop
|
|
||||||
calibre
|
|
||||||
cinny-desktop
|
|
||||||
discord-canary
|
|
||||||
fluxcd
|
|
||||||
fusee-launcher
|
|
||||||
gcc
|
|
||||||
gimp
|
|
||||||
gnome.eog
|
|
||||||
gnome.file-roller
|
|
||||||
gnome.gnome-font-viewer
|
|
||||||
gnome.nautilus
|
|
||||||
grim # Screenshot tool
|
|
||||||
# inputs.comma.packages.${pkgs.system}.default
|
|
||||||
inputs.webcord.packages.${pkgs.system}.default
|
|
||||||
k9s
|
|
||||||
kubectl
|
|
||||||
libnotify
|
|
||||||
mullvad-vpn
|
|
||||||
neofetch
|
|
||||||
nixpkgs-review
|
|
||||||
nixfmt
|
|
||||||
ouch
|
|
||||||
plex-media-player
|
|
||||||
plexamp
|
|
||||||
python3
|
|
||||||
retroarchFull
|
|
||||||
ripgrep
|
|
||||||
rsync
|
|
||||||
rustup
|
|
||||||
saleae-logic-2
|
|
||||||
solo2-cli
|
|
||||||
steam-run
|
|
||||||
tex
|
|
||||||
thunderbird-wayland
|
|
||||||
v.deemix-gui
|
|
||||||
wf-recorder # Screenrecorder
|
|
||||||
wl-clipboard # Clipboard manager
|
|
||||||
wofi # Wayland rofi
|
|
||||||
wpa_supplicant_gui
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
./hyprland.nix
|
|
||||||
./neovim.nix
|
|
||||||
./eww
|
|
||||||
./theme.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
xdg.mimeApps = {
|
|
||||||
enable = true;
|
|
||||||
defaultApplications =
|
|
||||||
let
|
|
||||||
browser = [ "firefox.desktop" ];
|
|
||||||
in
|
|
||||||
{
|
|
||||||
"image/*" = "org.gnome.eog.desktop";
|
|
||||||
"text/html" = browser;
|
|
||||||
"x-scheme-handler/http" = browser;
|
|
||||||
"x-scheme-handler/https" = browser;
|
|
||||||
"x-scheme-handler/ftp" = browser;
|
|
||||||
"x-scheme-handler/about" = browser;
|
|
||||||
"x-scheme-handler/unknown" = browser;
|
|
||||||
"application/x-extension-htm" = browser;
|
|
||||||
"application/x-extension-html" = browser;
|
|
||||||
"application/x-extension-shtml" = browser;
|
|
||||||
"application/xhtml+xml" = browser;
|
|
||||||
"application/x-extension-xhtml" = browser;
|
|
||||||
"application/x-extension-xht" = browser;
|
|
||||||
|
|
||||||
"application/json" = browser;
|
|
||||||
"application/pdf" = browser;
|
|
||||||
|
|
||||||
"x-scheme-handler/vscode" = "code-url-handler.desktop";
|
|
||||||
"x-scheme-handler/discord" = "webcord.desktop";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.userDirs =
|
|
||||||
let
|
|
||||||
home = config.home.homeDirectory;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
createDirectories = true;
|
|
||||||
desktop = "${home}/.desktop";
|
|
||||||
documents = "${home}/cloud/Documents";
|
|
||||||
download = "${home}/dl";
|
|
||||||
music = "${home}/cloud/Music";
|
|
||||||
pictures = "${home}/cloud/Pictures";
|
|
||||||
publicShare = "${home}/.publicShare";
|
|
||||||
templates = "${home}/.templates";
|
|
||||||
videos = "${home}/cloud/Videos";
|
|
||||||
};
|
|
||||||
|
|
||||||
services.syncthing.enable = true;
|
|
||||||
}
|
|
|
@ -1,42 +0,0 @@
|
||||||
{ pkgs, ... }: {
|
|
||||||
home = {
|
|
||||||
packages = with pkgs; [
|
|
||||||
eww-wayland
|
|
||||||
pamixer
|
|
||||||
lua
|
|
||||||
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
|
|
||||||
];
|
|
||||||
file = {
|
|
||||||
|
|
||||||
".config/eww/eww.yuck".source = ./eww.yuck;
|
|
||||||
".config/eww/eww.scss".text = builtins.readFile ./eww.scss;
|
|
||||||
|
|
||||||
# scripts
|
|
||||||
# TODO: just link all scripts in ./scripts to .config/eww/scripts
|
|
||||||
".config/eww/scripts/volume.sh" = {
|
|
||||||
source = ./scripts/volume.sh;
|
|
||||||
executable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
".config/eww/scripts/wifi.sh" = {
|
|
||||||
source = ./scripts/wifi.sh;
|
|
||||||
executable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
".config/eww/scripts/workspaces.sh" = {
|
|
||||||
source = ./scripts/workspaces.sh;
|
|
||||||
executable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
".config/eww/scripts/workspaces.lua" = {
|
|
||||||
source = ./scripts/workspaces.lua;
|
|
||||||
executable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
".config/eww/scripts/do-not-disturb.sh" = {
|
|
||||||
source = ./scripts/do-not-disturb.sh;
|
|
||||||
executable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,138 +0,0 @@
|
||||||
$light-gray: #9699b7;
|
|
||||||
|
|
||||||
* {
|
|
||||||
all: unset; //Unsets everything so you can style everything from scratch
|
|
||||||
font-family: "JetBrainsMono"
|
|
||||||
}
|
|
||||||
|
|
||||||
tooltip {
|
|
||||||
background-color: $base;
|
|
||||||
border-radius: 5px
|
|
||||||
}
|
|
||||||
|
|
||||||
button {
|
|
||||||
transition: background-color 200ms, color 200ms;
|
|
||||||
}
|
|
||||||
|
|
||||||
.active {
|
|
||||||
color: $pink;
|
|
||||||
font-size: 1.4rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inactive {
|
|
||||||
color: $base;
|
|
||||||
font-size: 1.4rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inactive:hover {
|
|
||||||
color: $light-gray;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bar {
|
|
||||||
background-color: $mantle;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clock {
|
|
||||||
font-weight: bold;
|
|
||||||
background-color: $base;
|
|
||||||
color: $text;
|
|
||||||
border-radius: 10px;
|
|
||||||
padding: 0.2rem;
|
|
||||||
margin: 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.date {
|
|
||||||
font-size: 1.5rem;
|
|
||||||
color: $text;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.battery {
|
|
||||||
font-family: monospace;
|
|
||||||
font-size: 1.5rem;
|
|
||||||
color: $teal;
|
|
||||||
}
|
|
||||||
|
|
||||||
.volume,
|
|
||||||
.dnd,
|
|
||||||
.wifi {
|
|
||||||
font-family: monospace;
|
|
||||||
font-size: 1.5rem;
|
|
||||||
color: $mauve;
|
|
||||||
padding: 0 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// battery menu
|
|
||||||
.batterywindow {
|
|
||||||
background-color: $mantle;
|
|
||||||
border-radius: 5px;
|
|
||||||
font-size: 18px;
|
|
||||||
font-weight: normal;
|
|
||||||
color: $text;
|
|
||||||
|
|
||||||
progressbar {
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
progressbar progress {
|
|
||||||
background-color: $green;
|
|
||||||
}
|
|
||||||
|
|
||||||
progressbar trough {
|
|
||||||
background-color: $base;
|
|
||||||
}
|
|
||||||
|
|
||||||
.batterymenu {
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Calendar
|
|
||||||
.cal {
|
|
||||||
background-color: $mantle;
|
|
||||||
border-radius: 5px;
|
|
||||||
font-size: 18px;
|
|
||||||
font-weight: normal;
|
|
||||||
|
|
||||||
.cal-in {
|
|
||||||
padding: 0px 10px 0px 10px;
|
|
||||||
color: $text;
|
|
||||||
|
|
||||||
.cal {
|
|
||||||
&.highlight {
|
|
||||||
padding: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
padding: 5px 5px 5px 5px;
|
|
||||||
margin-left: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
calender {
|
|
||||||
color: $text;
|
|
||||||
}
|
|
||||||
|
|
||||||
calendar:selected {
|
|
||||||
color: $mauve;
|
|
||||||
}
|
|
||||||
|
|
||||||
calendar.header {
|
|
||||||
color: $overlay0;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
calendar.button {
|
|
||||||
color: $base;
|
|
||||||
}
|
|
||||||
|
|
||||||
calendar.highlight {
|
|
||||||
color: $overlay0;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
calendar:indeterminate {
|
|
||||||
color: $text;
|
|
||||||
}
|
|
|
@ -1,164 +0,0 @@
|
||||||
(defwidget bar []
|
|
||||||
(centerbox
|
|
||||||
:orientation "v"
|
|
||||||
(box
|
|
||||||
:valign "start"
|
|
||||||
:hexpand false
|
|
||||||
:vexpand false
|
|
||||||
:orientation "v"
|
|
||||||
:space-evenly false
|
|
||||||
)
|
|
||||||
|
|
||||||
(workspaces
|
|
||||||
:halign "center"
|
|
||||||
:vexpand true
|
|
||||||
:hexpand false
|
|
||||||
:orientation "v"
|
|
||||||
)
|
|
||||||
|
|
||||||
(box :valign "end" :hexpand false :vexpand true :orientation "v" :space-evenly false
|
|
||||||
(wifi)
|
|
||||||
(do-not-disturb)
|
|
||||||
(volume)
|
|
||||||
(battery)
|
|
||||||
(time)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
;; ━━━ BATTERY ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
||||||
(defwidget battery []
|
|
||||||
(eventbox :onclick "eww open batterywindow --toggle"
|
|
||||||
(label
|
|
||||||
:text `${
|
|
||||||
EWW_BATTERY.BAT0.status == "Charging" ? "" :
|
|
||||||
EWW_BATTERY.BAT0.capacity < 10 ? "" :
|
|
||||||
EWW_BATTERY.BAT0.capacity < 20 ? "" :
|
|
||||||
EWW_BATTERY.BAT0.capacity < 30 ? "" :
|
|
||||||
EWW_BATTERY.BAT0.capacity < 40 ? "" :
|
|
||||||
EWW_BATTERY.BAT0.capacity < 50 ? "" :
|
|
||||||
EWW_BATTERY.BAT0.capacity < 60 ? "" :
|
|
||||||
EWW_BATTERY.BAT0.capacity < 70 ? "" :
|
|
||||||
EWW_BATTERY.BAT0.capacity < 80 ? "" :
|
|
||||||
EWW_BATTERY.BAT0.capacity < 90 ? "" : ""
|
|
||||||
}`
|
|
||||||
:class "battery"
|
|
||||||
))
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget batterymenu []
|
|
||||||
(box :orientation "v"
|
|
||||||
:class "batterymenu"
|
|
||||||
(label :text "${EWW_BATTERY.BAT0.status}: ${EWW_BATTERY.BAT0.capacity}%")
|
|
||||||
(progress :value "${EWW_BATTERY.BAT0.capacity}" :orientation "h") ; TODO: change class (and color) on low juice
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwindow batterywindow
|
|
||||||
:monitor 0
|
|
||||||
:geometry (geometry
|
|
||||||
:x "53px"
|
|
||||||
:y "30px"
|
|
||||||
:anchor "bottom left"
|
|
||||||
)
|
|
||||||
(batterymenu)
|
|
||||||
)
|
|
||||||
|
|
||||||
; ━━━ do-not-disturb ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
||||||
(defvar dnd "")
|
|
||||||
(defwidget do-not-disturb []
|
|
||||||
(eventbox
|
|
||||||
:orientation "h"
|
|
||||||
:halign "center"
|
|
||||||
:space-evenly false
|
|
||||||
:onclick "nohup ./scripts/do-not-disturb.sh &"
|
|
||||||
(label
|
|
||||||
:text {dnd}
|
|
||||||
:class "dnd"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
;; ━━━ WIFI ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
||||||
(defpoll wifi :interval "30s" "./scripts/wifi.sh")
|
|
||||||
|
|
||||||
(defwidget wifi []
|
|
||||||
(box
|
|
||||||
:orientation "h"
|
|
||||||
:halign "center"
|
|
||||||
:space-evenly false
|
|
||||||
(label
|
|
||||||
:text {wifi.icon}
|
|
||||||
:tooltip {wifi.status}
|
|
||||||
:class "wifi"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
;; ━━━ VOLUME ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
||||||
(defpoll volume :interval "1s" "./scripts/volume.sh")
|
|
||||||
(defwidget volume []
|
|
||||||
(eventbox
|
|
||||||
:orientation "h"
|
|
||||||
:halign "center"
|
|
||||||
:space-evenly false
|
|
||||||
:onclick "pamixer -t"
|
|
||||||
(label
|
|
||||||
:text {volume.icon}
|
|
||||||
:tooltip "${volume.percent}%"
|
|
||||||
:class "volume"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
;; ━━━ TIME ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
||||||
(defpoll hour :interval "10s" "date +%H")
|
|
||||||
(defpoll minute :interval "10s" "date +%M")
|
|
||||||
(defpoll dateVar :interval "600s" "date '+%A %d.%m.%y'")
|
|
||||||
|
|
||||||
(defwidget time []
|
|
||||||
(eventbox
|
|
||||||
:cursor "hand"
|
|
||||||
:hexpand false
|
|
||||||
:vexpand false
|
|
||||||
:tooltip "${dateVar}"
|
|
||||||
:onclick "eww open calendar --toggle &"
|
|
||||||
(box :orientation "v" :hexpand false :vexpand false :space-evenly false :class "clock"
|
|
||||||
(label :class "date" :text "${hour}")
|
|
||||||
|
|
||||||
(label :class "date" :text "${minute}")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
;; Calendar
|
|
||||||
(defpoll calendar_day :interval "20h" "date '+%d'")
|
|
||||||
(defpoll calendar_year :interval "20h" "date '+%Y'")
|
|
||||||
(defwidget cal []
|
|
||||||
(box :class "cal" :orientation "v"
|
|
||||||
(box :class "cal-in"
|
|
||||||
(calendar :class "cal"
|
|
||||||
:day calendar_day
|
|
||||||
:year calendar_year))))
|
|
||||||
|
|
||||||
(defwindow calendar
|
|
||||||
:monitor 0
|
|
||||||
:geometry (geometry :x "53px"
|
|
||||||
:y "5px"
|
|
||||||
:anchor "bottom left"
|
|
||||||
:width "270px"
|
|
||||||
:height "60px")
|
|
||||||
(cal))
|
|
||||||
|
|
||||||
(deflisten workspaces_listen "./scripts/workspaces.sh")
|
|
||||||
(defwidget workspaces []
|
|
||||||
(literal :content workspaces_listen))
|
|
||||||
|
|
||||||
(defwindow bar
|
|
||||||
:monitor 0
|
|
||||||
:exclusive false
|
|
||||||
:geometry (geometry :height "1080px" :x "-4px" :y "0px"
|
|
||||||
:width "52px"
|
|
||||||
:anchor "top left")
|
|
||||||
:stacking "fg"
|
|
||||||
(bar))
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/usr/bin/env nix-shell
|
|
||||||
#! nix-shell -p jq -i bash
|
|
||||||
|
|
||||||
if makoctl mode | rg -q "do-not-disturb"; then
|
|
||||||
eww update dnd=""
|
|
||||||
makoctl mode -r do-not-disturb > /dev/null
|
|
||||||
else
|
|
||||||
eww update dnd=""
|
|
||||||
makoctl mode -a do-not-disturb > /dev/null
|
|
||||||
fi
|
|
|
@ -1,15 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
per="$(pamixer --get-volume)"
|
|
||||||
|
|
||||||
if pamixer --get-mute | rg -q true; then
|
|
||||||
icon="婢"
|
|
||||||
elif [ "$per" -gt 66 ]; then
|
|
||||||
icon="墳" # high
|
|
||||||
elif [ "$per" -gt 33 ]; then
|
|
||||||
icon="奔" # med
|
|
||||||
else
|
|
||||||
icon="奄" #low
|
|
||||||
fi
|
|
||||||
|
|
||||||
printf "{\"icon\": \"${icon}\", \"percent\": \"${per}\"}"
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if wpa_cli status | rg -q "wpa_state=COMPLETED"; then
|
|
||||||
icon="直"
|
|
||||||
status="Connected"
|
|
||||||
else
|
|
||||||
icon="睊"
|
|
||||||
status="offline"
|
|
||||||
fi
|
|
||||||
|
|
||||||
printf "{\"icon\": \"${icon}\", \"status\": \"${status}\"}"
|
|
|
@ -1,21 +0,0 @@
|
||||||
#!/usr/bin/env lua
|
|
||||||
|
|
||||||
aw = io.popen("hyprctl monitors | grep active | sed 's/()/(1)/g' | sort | awk 'NR>1{print $1}' RS='(' FS=')'")
|
|
||||||
active_workspace = aw:read("*a")
|
|
||||||
aw:close()
|
|
||||||
|
|
||||||
box = "(box :orientation \"v\" :spacing 1 :space-evenly \"true\" "
|
|
||||||
|
|
||||||
for i = 1,10 do
|
|
||||||
if i == tonumber(active_workspace) then
|
|
||||||
local btn = "(button :class \"active\" :onclick \"hyprctl dispatch workspace "..i.." \" \"\")"
|
|
||||||
box = box .. btn
|
|
||||||
else
|
|
||||||
local btn = "(button :class \"inactive\" :onclick \"hyprctl dispatch workspace "..i.."\" \"\")"
|
|
||||||
box = box .. btn
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
box = box .. ")"
|
|
||||||
|
|
||||||
print(box)
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
workspaces() {
|
|
||||||
./scripts/workspaces.lua
|
|
||||||
}
|
|
||||||
|
|
||||||
workspaces
|
|
||||||
|
|
||||||
tail -f /tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/hyprland.log | grep --line-buffered "Changed to workspace" | while read -r; do
|
|
||||||
workspaces
|
|
||||||
done
|
|
|
@ -1,137 +0,0 @@
|
||||||
{ pkgs, config, ... }: {
|
|
||||||
home.file.".config/hypr/hyprpaper.conf".text = ''
|
|
||||||
ipc = off
|
|
||||||
preload = ~/cloud/Pictures/Wallpapers-Laptop/wallpaper-nix-pink.png
|
|
||||||
wallpaper = eDP-1,~/cloud/Pictures/Wallpapers-Laptop/wallpaper-nix-pink.png
|
|
||||||
'';
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland =
|
|
||||||
let
|
|
||||||
startup-script = pkgs.writeScriptBin "startup" ''
|
|
||||||
#!${pkgs.stdenv.shell}
|
|
||||||
hyprctl setcursor Catppuccin-Frappe-Pink-Cursors ${
|
|
||||||
builtins.toString config.home.pointerCursor.size
|
|
||||||
}
|
|
||||||
${pkgs.hyprpaper}/bin/hyprpaper &
|
|
||||||
foot --server &
|
|
||||||
eww daemon &
|
|
||||||
eww open bar &
|
|
||||||
firefox-devedition &
|
|
||||||
webcord &
|
|
||||||
element-desktop &
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
recommendedEnvironment = true;
|
|
||||||
extraConfig = ''
|
|
||||||
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
|
||||||
exec-once=systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
|
||||||
|
|
||||||
monitor=eDP-1,1920x1080@60,0x0,1
|
|
||||||
monitor=eDP-1,addreserved,0,0,48,0
|
|
||||||
monitor=,preferred,auto,1
|
|
||||||
|
|
||||||
windowrulev2 = workspace 1 silent,class:^(Electron)$,title:^(.*)(WebCord)(.*)$
|
|
||||||
windowrulev2 = workspace 1 silent,title:^(Element)(.*)$
|
|
||||||
windowrulev2 = workspace 2 silent,class:^(firefox-aurora)$
|
|
||||||
windowrulev2 = float,class:^(firefox-aurora)$,title:^(Picture-in-Picture)$
|
|
||||||
|
|
||||||
general {
|
|
||||||
layout = dwindle
|
|
||||||
col.active_border = 0xfff4b8e4
|
|
||||||
}
|
|
||||||
|
|
||||||
input {
|
|
||||||
kb_options=caps:escape
|
|
||||||
touchpad {
|
|
||||||
natural_scroll= true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
gestures {
|
|
||||||
workspace_swipe = true
|
|
||||||
}
|
|
||||||
|
|
||||||
misc {
|
|
||||||
no_vfr = false
|
|
||||||
disable_hyprland_logo = true
|
|
||||||
disable_splash_rendering = true
|
|
||||||
}
|
|
||||||
|
|
||||||
dwindle {
|
|
||||||
pseudotile=true
|
|
||||||
}
|
|
||||||
|
|
||||||
bind=SUPER,RETURN,exec,footclient
|
|
||||||
bind=SUPER,f,exec,firefox-devedition
|
|
||||||
bind=SUPER,d,exec,wofi --show run,drun
|
|
||||||
|
|
||||||
bind=,Print,exec,grim -g "$(slurp)" -t png - | wl-copy -t image/png
|
|
||||||
bind=SUPER,W,killactive,
|
|
||||||
bind=SUPERSHIFT,Q,exit,
|
|
||||||
bind=SUPER,S,togglefloating,
|
|
||||||
bind=SUPER,P,pin,
|
|
||||||
|
|
||||||
bindm=SUPER,mouse:272,movewindow
|
|
||||||
bindm=SUPER,mouse:273,resizewindow
|
|
||||||
|
|
||||||
bind=SUPER,left,movefocus,l
|
|
||||||
bind=SUPER,right,movefocus,r
|
|
||||||
bind=SUPER,up,movefocus,u
|
|
||||||
bind=SUPER,down,movefocus,d
|
|
||||||
|
|
||||||
bind=SUPER,1,workspace,1
|
|
||||||
bind=SUPER,2,workspace,2
|
|
||||||
bind=SUPER,3,workspace,3
|
|
||||||
bind=SUPER,4,workspace,4
|
|
||||||
bind=SUPER,5,workspace,5
|
|
||||||
bind=SUPER,6,workspace,6
|
|
||||||
bind=SUPER,7,workspace,7
|
|
||||||
bind=SUPER,8,workspace,8
|
|
||||||
bind=SUPER,9,workspace,9
|
|
||||||
bind=SUPER,0,workspace,10
|
|
||||||
bind=SUPER,grave,togglespecialworkspace
|
|
||||||
|
|
||||||
bind=ALT,1,movetoworkspace,1
|
|
||||||
bind=ALT,2,movetoworkspace,2
|
|
||||||
bind=ALT,3,movetoworkspace,3
|
|
||||||
bind=ALT,4,movetoworkspace,4
|
|
||||||
bind=ALT,5,movetoworkspace,5
|
|
||||||
bind=ALT,6,movetoworkspace,6
|
|
||||||
bind=ALT,7,movetoworkspace,7
|
|
||||||
bind=ALT,8,movetoworkspace,8
|
|
||||||
bind=ALT,9,movetoworkspace,9
|
|
||||||
bind=ALT,0,movetoworkspace,10
|
|
||||||
bind=ALT,grave,movetoworkspace,special
|
|
||||||
|
|
||||||
bind=SUPERSHIFT,1,movetoworkspacesilent,1
|
|
||||||
bind=SUPERSHIFT,2,movetoworkspacesilent,2
|
|
||||||
bind=SUPERSHIFT,3,movetoworkspacesilent,3
|
|
||||||
bind=SUPERSHIFT,4,movetoworkspacesilent,4
|
|
||||||
bind=SUPERSHIFT,5,movetoworkspacesilent,5
|
|
||||||
bind=SUPERSHIFT,6,movetoworkspacesilent,6
|
|
||||||
bind=SUPERSHIFT,7,movetoworkspacesilent,7
|
|
||||||
bind=SUPERSHIFT,8,movetoworkspacesilent,8
|
|
||||||
bind=SUPERSHIFT,9,movetoworkspacesilent,9
|
|
||||||
bind=SUPERSHIFT,0,movetoworkspacesilent,10
|
|
||||||
bind=SUPERSHIFT,grave,movetoworkspacesilent,special
|
|
||||||
|
|
||||||
bind=SUPER,mouse_down,workspace,e+1
|
|
||||||
bind=SUPER,mouse_up,workspace,e-1
|
|
||||||
|
|
||||||
bind=SUPER,g,togglegroup
|
|
||||||
bind=SUPER,tab,changegroupactive
|
|
||||||
bind=SUPER,m,fullscreen,1
|
|
||||||
bind=SUPERSHIFT,m,fullscreen,0
|
|
||||||
|
|
||||||
bind=,XF86MonBrightnessUp,exec,brightnessctl -q s +5%
|
|
||||||
bind=,XF86MonBrightnessDown,exec,brightnessctl -q s 5%-
|
|
||||||
bind=,XF86MonRaiseVolume,exec,pamixer -i 5
|
|
||||||
bind=,XF86MonLowerVolume,exec,pamixer -d 5
|
|
||||||
bind=,XF86AudioMute,exec,pamixer -t
|
|
||||||
|
|
||||||
exec-once=${startup-script}/bin/startup
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,39 +0,0 @@
|
||||||
{ inputs, pkgs, ... }: {
|
|
||||||
imports = [ inputs.nixvim.homeManagerModules.nixvim ];
|
|
||||||
programs.nixvim = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.neovim-unwrapped;
|
|
||||||
|
|
||||||
extraPlugins = with pkgs.vimPlugins; [ catppuccin-nvim ];
|
|
||||||
|
|
||||||
colorscheme = "catppuccin-frappe";
|
|
||||||
|
|
||||||
plugins = {
|
|
||||||
nix.enable = true;
|
|
||||||
treesitter = {
|
|
||||||
enable = true;
|
|
||||||
nixGrammars = false;
|
|
||||||
ensureInstalled = [ ];
|
|
||||||
};
|
|
||||||
surround.enable = true;
|
|
||||||
fugitive.enable = true;
|
|
||||||
lualine = {
|
|
||||||
enable = true;
|
|
||||||
theme = "catppuccin";
|
|
||||||
};
|
|
||||||
telescope = {
|
|
||||||
enable = true;
|
|
||||||
extensions.fzf-native.enable = true;
|
|
||||||
};
|
|
||||||
lsp = {
|
|
||||||
enable = true;
|
|
||||||
servers = {
|
|
||||||
rust-analyzer.enable = true;
|
|
||||||
rnix-lsp.enable = true;
|
|
||||||
pyright.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
nvim-cmp = { enable = true; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,127 +0,0 @@
|
||||||
{ lib, pkgs, config, ... }:
|
|
||||||
let
|
|
||||||
inherit (builtins) mapAttrs;
|
|
||||||
|
|
||||||
theme = "Catppuccin-Pink-Dark";
|
|
||||||
cursorTheme = config.home.pointerCursor.name;
|
|
||||||
colour = {
|
|
||||||
rosewater = "f2d5cf";
|
|
||||||
flamingo = "eebebe";
|
|
||||||
pink = "f4b8e4";
|
|
||||||
mauve = "ca9ee6";
|
|
||||||
red = "e78284";
|
|
||||||
maroon = "ea999c";
|
|
||||||
peach = "ef9f76";
|
|
||||||
yellow = "e5c890";
|
|
||||||
green = "a6d189";
|
|
||||||
teal = "81c8be";
|
|
||||||
sky = "99d1db";
|
|
||||||
sapphire = "85c1dc";
|
|
||||||
blue = "8caaee";
|
|
||||||
lavender = "babbf1";
|
|
||||||
text = "c6d0f5";
|
|
||||||
subtext0 = "a5adce";
|
|
||||||
subtext1 = "b5bfe2";
|
|
||||||
overlay2 = "949cbb";
|
|
||||||
overlay0 = "737994";
|
|
||||||
overlay1 = "838ba7";
|
|
||||||
surface0 = "414559";
|
|
||||||
surface1 = "51576d";
|
|
||||||
surface2 = "626880";
|
|
||||||
base = "303446";
|
|
||||||
mantle = "292c3c";
|
|
||||||
crust = "232634";
|
|
||||||
|
|
||||||
hex = mapAttrs (_name: value: "#${value}") colour;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
home = {
|
|
||||||
file.".xsettingsd".text = ''
|
|
||||||
Net/ThemeName "${theme}"
|
|
||||||
Gtk/CursorThemeName "${cursorTheme}"
|
|
||||||
'';
|
|
||||||
|
|
||||||
pointerCursor = {
|
|
||||||
name = "Catppuccin-Frappe-Pink-Cursors";
|
|
||||||
size = 32;
|
|
||||||
package = pkgs.catppuccin-cursors.frappePink;
|
|
||||||
};
|
|
||||||
|
|
||||||
file.".config/eww/eww.scss".text = lib.mkBefore ''
|
|
||||||
$rosewater: ${colour.hex.rosewater};
|
|
||||||
$flamingo: ${colour.hex.flamingo};
|
|
||||||
$pink: ${colour.hex.pink};
|
|
||||||
$mauve: ${colour.hex.mauve};
|
|
||||||
$red: ${colour.hex.red};
|
|
||||||
$maroon: ${colour.hex.maroon};
|
|
||||||
$peach: ${colour.hex.peach};
|
|
||||||
$yellow: ${colour.hex.yellow};
|
|
||||||
$green: ${colour.hex.green};
|
|
||||||
$teal: ${colour.hex.teal};
|
|
||||||
$sky: ${colour.hex.sky};
|
|
||||||
$sapphire: ${colour.hex.sapphire};
|
|
||||||
$blue: ${colour.hex.blue};
|
|
||||||
$lavender: ${colour.hex.lavender};
|
|
||||||
$text: ${colour.hex.text};
|
|
||||||
$subtext0: ${colour.hex.subtext0};
|
|
||||||
$subtext1: ${colour.hex.subtext1};
|
|
||||||
$overlay0: ${colour.hex.overlay0};
|
|
||||||
$overlay1: ${colour.hex.overlay1};
|
|
||||||
$overlay2: ${colour.hex.overlay2};
|
|
||||||
$surface0: ${colour.hex.surface0};
|
|
||||||
$surface1: ${colour.hex.surface1};
|
|
||||||
$surface2: ${colour.hex.surface2};
|
|
||||||
$base: ${colour.hex.base};
|
|
||||||
$mantle: ${colour.hex.mantle};
|
|
||||||
$crust: ${colour.hex.crust};
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
theme = {
|
|
||||||
name = theme;
|
|
||||||
package = pkgs.catppuccin-gtk;
|
|
||||||
};
|
|
||||||
iconTheme = {
|
|
||||||
name = "Arc";
|
|
||||||
package = pkgs.arc-icon-theme;
|
|
||||||
};
|
|
||||||
cursorTheme = {
|
|
||||||
name = cursorTheme;
|
|
||||||
inherit (config.home.pointerCursor) size package;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Note, pink and blue are switched
|
|
||||||
programs.foot.settings.colors = {
|
|
||||||
alpha = 0.8;
|
|
||||||
|
|
||||||
foreground = colour.text; # Text
|
|
||||||
background = colour.base; # Base
|
|
||||||
regular0 = colour.surface1; # Surface 1
|
|
||||||
regular1 = colour.red; # red
|
|
||||||
regular2 = colour.green; # green
|
|
||||||
regular3 = colour.yellow; # yellow
|
|
||||||
regular4 = colour.pink; # pink
|
|
||||||
regular5 = colour.blue; # blue
|
|
||||||
regular6 = colour.teal; # teal
|
|
||||||
regular7 = colour.subtext1; # Subtext 1
|
|
||||||
bright0 = colour.surface2; # Surface 2
|
|
||||||
bright1 = colour.red; # red
|
|
||||||
bright2 = colour.green; # green
|
|
||||||
bright3 = colour.yellow; # yellow
|
|
||||||
bright4 = colour.pink; # pink
|
|
||||||
bright5 = colour.blue; # blue
|
|
||||||
bright6 = colour.teal; # teal
|
|
||||||
bright7 = colour.subtext0; # Subtext 0
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.mako = {
|
|
||||||
backgroundColor = colour.hex.mantle;
|
|
||||||
borderColor = colour.hex.pink;
|
|
||||||
textColor = colour.hex.text;
|
|
||||||
borderRadius = 5;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,76 +0,0 @@
|
||||||
_: {
|
|
||||||
services.v.dns = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = false;
|
|
||||||
mode = "laptop";
|
|
||||||
};
|
|
||||||
|
|
||||||
services.mullvad-vpn.enable = true;
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
useDHCP = true;
|
|
||||||
dhcpcd.wait = "background";
|
|
||||||
wireless = {
|
|
||||||
enable = true;
|
|
||||||
environmentFile = "/var/lib/secrets/wireless.env";
|
|
||||||
userControlled.enable = true;
|
|
||||||
networks = {
|
|
||||||
eduroam = {
|
|
||||||
auth = ''
|
|
||||||
proto=RSN
|
|
||||||
key_mgmt=WPA-EAP
|
|
||||||
eap=PEAP
|
|
||||||
identity="vroest@tudelft.nl"
|
|
||||||
password=hash:@EDUROAM_PASSWORD_HASH@
|
|
||||||
domain_suffix_match="radius.tudelft.nl"
|
|
||||||
anonymous_identity="anonymous@tudelft.nl"
|
|
||||||
phase1="peaplabel=0"
|
|
||||||
phase2="auth=MSCHAPV2"
|
|
||||||
ca_cert="/etc/ssl/certs/ca-bundle.crt"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
"Pikachu 5G" = { psk = "@PIKACHU_PASSWORD@"; };
|
|
||||||
"sha256('yeet')" = { psk = "@SHA256_PASSWORD@"; };
|
|
||||||
"wired" = { psk = "@WIRED_PASSWORD@"; };
|
|
||||||
"meowy hotspot" = { psk = "@HOTSPOT_PASSWORD@"; };
|
|
||||||
"WiFi Roest" = { psk = "@WIFI_ROEST_PASSWORD@"; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nameservers = [
|
|
||||||
"127.0.0.1" # Use locally deployed unbound
|
|
||||||
"::1"
|
|
||||||
];
|
|
||||||
|
|
||||||
firewall.allowedUDPPorts = [ 51820 ];
|
|
||||||
|
|
||||||
# Maybe switch to wg-quick
|
|
||||||
wireguard.interfaces.wg0 = {
|
|
||||||
ips = [ "10.100.0.4/24" ];
|
|
||||||
listenPort = 51820;
|
|
||||||
privateKeyFile = "/var/lib/secrets/wg_key";
|
|
||||||
|
|
||||||
peers = [
|
|
||||||
{
|
|
||||||
# Delft
|
|
||||||
publicKey = "kDIO3BJSYlDwRXc2zt9tR1LqKJzIPrulaRmdiYkg+m0=";
|
|
||||||
allowedIPs = [ "10.100.0.1" "10.42.42.0/23" ];
|
|
||||||
endpoint = "195.85.167.34:51820";
|
|
||||||
persistentKeepalive = 25;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
# Aerdenhout
|
|
||||||
publicKey = "KgqLhmUMX6kyTjRoa/GOCrZOvXNE5HWYuOr/T3v8/VI=";
|
|
||||||
allowedIPs = [
|
|
||||||
"10.100.0.5"
|
|
||||||
"192.168.0.0/24" # to avoid being less specific than a LAN
|
|
||||||
"192.168.1.0/24"
|
|
||||||
"10.10.10.0/24"
|
|
||||||
];
|
|
||||||
endpoint = "80.60.83.220:51820";
|
|
||||||
persistentKeepalive = 25;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,35 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
let
|
|
||||||
# TODO: slim down size
|
|
||||||
netboot = import (pkgs.path + "/nixos/lib/eval-config.nix") {
|
|
||||||
inherit (pkgs) system;
|
|
||||||
modules = [
|
|
||||||
(pkgs.path + "/nixos/modules/installer/netboot/netboot-minimal.nix")
|
|
||||||
module
|
|
||||||
];
|
|
||||||
};
|
|
||||||
module = {
|
|
||||||
system.stateVersion = "22.11";
|
|
||||||
boot.supportedFilesystems = [ "btrfs" "ext4" ];
|
|
||||||
environment.systemPackages = with pkgs; [ git ];
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
boot.loader.systemd-boot = {
|
|
||||||
extraEntries = {
|
|
||||||
"rescue.conf" = ''
|
|
||||||
title Rescue Boot
|
|
||||||
linux /rescue-kernel
|
|
||||||
initrd /rescue-initrd
|
|
||||||
options init=${netboot.config.system.build.toplevel}/init ${
|
|
||||||
toString netboot.config.boot.kernelParams
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
extraFiles = {
|
|
||||||
"rescue-kernel" = "${netboot.config.system.build.kernel}/bzImage";
|
|
||||||
"rescue-initrd" = "${netboot.config.system.build.netbootRamdisk}/initrd";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Add table
Reference in a new issue