mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-11 02:56:27 +00:00
update system
This commit is contained in:
80
flake.lock
generated
80
flake.lock
generated
@@ -10,11 +10,11 @@
|
|||||||
"quickshell": "quickshell"
|
"quickshell": "quickshell"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760163288,
|
"lastModified": 1760932218,
|
||||||
"narHash": "sha256-SMPeHIC/JGAOL8sOxQ+dN4P4pz1j5wjYLCp80r6voMo=",
|
"narHash": "sha256-3vnrrQZPfQuHEzowGB4e7vL5EpTHf5oyzyOS1aKfnig=",
|
||||||
"owner": "AvengeMedia",
|
"owner": "AvengeMedia",
|
||||||
"repo": "DankMaterialShell",
|
"repo": "DankMaterialShell",
|
||||||
"rev": "362bcb9294aa9317474e217b7d87d91f6788bec1",
|
"rev": "851d47213cb639a92b9e0dd545e2aa163f12b701",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -31,11 +31,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759769087,
|
"lastModified": 1760238269,
|
||||||
"narHash": "sha256-b4dEAjvIfIkw2/C47aZGDnwhTBEjqptDo8J5PizeTCo=",
|
"narHash": "sha256-7CeGZM/Z/5Qt3AYByCRohGYGR1MRuXYzTTbkV/JxyAs=",
|
||||||
"owner": "AvengeMedia",
|
"owner": "AvengeMedia",
|
||||||
"repo": "dgop",
|
"repo": "dgop",
|
||||||
"rev": "ad6ad285e8b882c41eb8994ef7c91e151afb9a97",
|
"rev": "95acdfce2d323e28fa8f5a4f345160962034f2b5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -52,11 +52,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759982027,
|
"lastModified": 1760241259,
|
||||||
"narHash": "sha256-4deRT98VwfZWZ685wIGevyYl3CzpuZJPjdjfulABH00=",
|
"narHash": "sha256-DlLGn+4M6tIafoDsHr2WhHG2hrHrC24S2IL3+KAvjEU=",
|
||||||
"owner": "AvengeMedia",
|
"owner": "AvengeMedia",
|
||||||
"repo": "danklinux",
|
"repo": "danklinux",
|
||||||
"rev": "5cdfeeae2e14089079dcb0d6b61f014ce754021f",
|
"rev": "dae4c3ff4ce0feb930361c399747edb29d081775",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -73,11 +73,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756770412,
|
"lastModified": 1759362264,
|
||||||
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
|
"narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "4524271976b625a4a605beefd893f270620fd751",
|
"rev": "758cf7296bee11f1706a574c77d072b8a7baa881",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -144,11 +144,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759172751,
|
"lastModified": 1760929667,
|
||||||
"narHash": "sha256-E8W8sRXfrvkFW26GuuiWq6QfReU7m5+cngwHuRo/3jc=",
|
"narHash": "sha256-nZh6uvc71nVNaf/y+wesnjwsmJ6IZZUnP2EzpZe48To=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "12fa8548feefa9a10266ba65152fd1a787cdde8f",
|
"rev": "189c21cf879669008ccf06e78a553f17e88d8ef0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -228,16 +228,16 @@
|
|||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1716548249,
|
"lastModified": 1731508795,
|
||||||
"narHash": "sha256-9jvSsYOCYpG7JN1YDdptu19EhG+fZuX278IbiTJ7814=",
|
"narHash": "sha256-+UibbVz5CTisKMms/5VXGe39FYr56qzaEtX4TWQPkjk=",
|
||||||
"owner": "Theaninova",
|
"owner": "InioX",
|
||||||
"repo": "matugen",
|
"repo": "matugen",
|
||||||
"rev": "f79700eb42e5a6b7062ccdfcec3956e26573fc01",
|
"rev": "cb9f81eb0150f6253895ea0adb1daa8534c15fc7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "Theaninova",
|
"owner": "InioX",
|
||||||
"ref": "add-home-manager-module",
|
"ref": "v2.4.1",
|
||||||
"repo": "matugen",
|
"repo": "matugen",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -254,11 +254,11 @@
|
|||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760121522,
|
"lastModified": 1760950171,
|
||||||
"narHash": "sha256-8SGgpcZsMZIqFU+J/1OwebC/px8sgx5YYHNw1XkBM98=",
|
"narHash": "sha256-E2ySTu/oK7cYBdAI3tlGP9zVjF4mZgWJ1OZInBCMb00=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "17dbedb88a21142c41d120f139e2870bc56bb5f4",
|
"rev": "f851a923137c0a54719412146fd63d24b3214e60",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -287,11 +287,11 @@
|
|||||||
"niri-unstable": {
|
"niri-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759395653,
|
"lastModified": 1760940149,
|
||||||
"narHash": "sha256-sv9J1z6CrTPf9lRJLyCN90fZVdQz7LFeX7pIlInH8BQ=",
|
"narHash": "sha256-KbM47vD6E0cx+v4jYQZ8mD5N186AKm2CQlyh34TW58U=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "ba6e5e082a79901dc89b0d49c5da1b769d652aec",
|
"rev": "b3245b81a6ed8edfaf5388a74d2e0a23c24941e5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -318,11 +318,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759036355,
|
"lastModified": 1760878510,
|
||||||
"narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=",
|
"narHash": "sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127",
|
"rev": "5e2a59a5b1a82f89f2c7e598302a9cacebb72a67",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -334,11 +334,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759994382,
|
"lastModified": 1760862643,
|
||||||
"narHash": "sha256-wSK+3UkalDZRVHGCRikZ//CyZUJWDJkBDTQX1+G77Ow=",
|
"narHash": "sha256-PXwG0TM7Ek87DNx4LbGWuD93PbFeKAJs4FfALtp7Wo0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "5da4a26309e796daa7ffca72df93dbe53b8164c7",
|
"rev": "33c6dca0c0cb31d6addcd34e90a63ad61826b28c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -358,11 +358,11 @@
|
|||||||
"systems": "systems_4"
|
"systems": "systems_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759217440,
|
"lastModified": 1760960598,
|
||||||
"narHash": "sha256-qP3wDVcwOMKSIhPKH0m+DmpFXIx9dZNNgw9wyRMz+Dw=",
|
"narHash": "sha256-UP1v+sEkHuvD2+qyhxbkQpBR+dl9U0ljml3/dMI2jeU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "9faa339d9e930be3eb7d751af35ecfed7c493d14",
|
"rev": "e3b77e803b2350b72f4d72c8f175ab0fbfe5a642",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -402,11 +402,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759610621,
|
"lastModified": 1760228179,
|
||||||
"narHash": "sha256-P3UPFd95mS/3aNgy40nCXAmyfR2bEEBd+tX6xfkYFb0=",
|
"narHash": "sha256-4Z6k7lv3Zcgk3K+4h60LpqB9wCkR+utkYERU735U068=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "c5c438f1cd1a76660a8658ef929a3d19e968e2ce",
|
"rev": "c9d3ffb6043c5bf3f3009202bad7e0e5132c4a25",
|
||||||
"revCount": 689,
|
"revCount": 693,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.outfoxxed.me/quickshell/quickshell"
|
"url": "https://git.outfoxxed.me/quickshell/quickshell"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
matugen = {
|
matugen = {
|
||||||
url = "github:Theaninova/matugen/add-home-manager-module";
|
url = "github:InioX/matugen?ref=v2.4.1";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nixvim = {
|
nixvim = {
|
||||||
@@ -141,10 +141,9 @@
|
|||||||
inherit username hostname inputs;
|
inherit username hostname inputs;
|
||||||
};
|
};
|
||||||
sharedModules = [
|
sharedModules = [
|
||||||
matugen.homeManagerModules.default
|
./overlays/matugen/hm-module.nix
|
||||||
nix-flatpak.homeManagerModules.nix-flatpak
|
nix-flatpak.homeManagerModules.nix-flatpak
|
||||||
nixvim.homeModules.nixvim
|
nixvim.homeModules.nixvim
|
||||||
# niri.homeModules.niri
|
|
||||||
dank-material-shell.homeModules.dankMaterialShell.default
|
dank-material-shell.homeModules.dankMaterialShell.default
|
||||||
dank-material-shell.homeModules.dankMaterialShell.niri
|
dank-material-shell.homeModules.dankMaterialShell.niri
|
||||||
./modules/home-manager/modules/nixvim
|
./modules/home-manager/modules/nixvim
|
||||||
|
|||||||
@@ -35,13 +35,13 @@
|
|||||||
shell.components = {
|
shell.components = {
|
||||||
firefox-pip.enable = true;
|
firefox-pip.enable = true;
|
||||||
# grimblast.enable = true;
|
# grimblast.enable = true;
|
||||||
# gnome-keyring.enable = true;
|
gnome-keyring.enable = true;
|
||||||
# hyprpicker.enable = true;
|
# hyprpicker.enable = true;
|
||||||
kde-connect.enable = true;
|
kde-connect.enable = true;
|
||||||
kitty.enable = true;
|
kitty.enable = true;
|
||||||
# swaync.enable = true;
|
swaync.enable = true;
|
||||||
# walker.enable = true;
|
walker.enable = true;
|
||||||
# waybar.enable = true;
|
waybar.enable = true;
|
||||||
};
|
};
|
||||||
desktops.niri.enable = true;
|
desktops.niri.enable = true;
|
||||||
locale.preset.theaninova.enable = true;
|
locale.preset.theaninova.enable = true;
|
||||||
@@ -50,9 +50,9 @@
|
|||||||
"127.0.0.1:57461" = [ "ai.local" ];
|
"127.0.0.1:57461" = [ "ai.local" ];
|
||||||
};
|
};
|
||||||
services = {
|
services = {
|
||||||
ollama.enable = true;
|
ollama.enable = false;
|
||||||
open-webui = {
|
open-webui = {
|
||||||
enable = true;
|
enable = false;
|
||||||
port = 57461;
|
port = 57461;
|
||||||
environment = {
|
environment = {
|
||||||
ANONYMIZED_TELEMETRY = "False";
|
ANONYMIZED_TELEMETRY = "False";
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ in
|
|||||||
":AerialNext<CR>";
|
":AerialNext<CR>";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
key = "fs";
|
key = "<leader>fs";
|
||||||
mode = "n";
|
mode = "n";
|
||||||
action = # vim
|
action = # vim
|
||||||
":Telescope aerial<CR>";
|
":Telescope aerial<CR>";
|
||||||
@@ -54,7 +54,7 @@ in
|
|||||||
};
|
};
|
||||||
which-key.settings.spec = [
|
which-key.settings.spec = [
|
||||||
{
|
{
|
||||||
__unkeyed-1 = "fs";
|
__unkeyed-1 = "<leader>fs";
|
||||||
group = "Symbols";
|
group = "Symbols";
|
||||||
icon = "";
|
icon = "";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,19 +13,19 @@ in
|
|||||||
telescope = {
|
telescope = {
|
||||||
enable = true;
|
enable = true;
|
||||||
keymaps = {
|
keymaps = {
|
||||||
"ff" = {
|
"<leader>ff" = {
|
||||||
action = "git_files";
|
action = "git_files";
|
||||||
mode = "n";
|
mode = "n";
|
||||||
};
|
};
|
||||||
"fa" = {
|
"<leader>fa" = {
|
||||||
action = "find_files";
|
action = "find_files";
|
||||||
mode = "n";
|
mode = "n";
|
||||||
};
|
};
|
||||||
"fg" = {
|
"<leader>fg" = {
|
||||||
action = "live_grep";
|
action = "live_grep";
|
||||||
mode = "n";
|
mode = "n";
|
||||||
};
|
};
|
||||||
"fc" = {
|
"<leader>fc" = {
|
||||||
action = "buffers";
|
action = "buffers";
|
||||||
mode = "n";
|
mode = "n";
|
||||||
};
|
};
|
||||||
@@ -33,27 +33,27 @@ in
|
|||||||
};
|
};
|
||||||
which-key.settings.spec = [
|
which-key.settings.spec = [
|
||||||
{
|
{
|
||||||
__unkeyed-1 = "f";
|
__unkeyed-1 = "<leader>f";
|
||||||
group = "Find";
|
group = "Find";
|
||||||
icon = "";
|
icon = "";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
__unkeyed-1 = "ff";
|
__unkeyed-1 = "<leader>ff";
|
||||||
desc = "File";
|
desc = "File";
|
||||||
icon = "";
|
icon = "";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
__unkeyed-1 = "fa";
|
__unkeyed-1 = "<leader>fa";
|
||||||
desc = "All Files";
|
desc = "All Files";
|
||||||
icon = "";
|
icon = "";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
__unkeyed-1 = "fg";
|
__unkeyed-1 = "<leader>fg";
|
||||||
desc = "Grep";
|
desc = "Grep";
|
||||||
icon = "";
|
icon = "";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
__unkeyed-1 = "fc";
|
__unkeyed-1 = "<leader>fc";
|
||||||
desc = "Current";
|
desc = "Current";
|
||||||
icon = "";
|
icon = "";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ in
|
|||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
keymaps = [
|
keymaps = [
|
||||||
{
|
{
|
||||||
key = "ft";
|
key = "<leader>t";
|
||||||
mode = "n";
|
mode = "n";
|
||||||
action = # vim
|
action = # vim
|
||||||
"<cmd>:Neotree toggle<CR>";
|
"<cmd>:Neotree toggle<CR>";
|
||||||
@@ -20,24 +20,28 @@ in
|
|||||||
web-devicons.enable = true;
|
web-devicons.enable = true;
|
||||||
neo-tree = {
|
neo-tree = {
|
||||||
enable = true;
|
enable = true;
|
||||||
filesystem = {
|
settings = {
|
||||||
useLibuvFileWatcher = true;
|
event_handlers = [
|
||||||
followCurrentFile.enabled = true;
|
{
|
||||||
filteredItems.visible = true;
|
event = "neo_tree_buffer_leave";
|
||||||
|
handler.__raw = ''
|
||||||
|
function()
|
||||||
|
require('neo-tree').close_all()
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
filesystem = {
|
||||||
|
use_libuv_file_watcher = true;
|
||||||
|
follow_current_file.enabled = true;
|
||||||
|
filtered_items.visible = true;
|
||||||
|
};
|
||||||
|
popupBorderStyle = "rounded";
|
||||||
};
|
};
|
||||||
popupBorderStyle = "rounded";
|
|
||||||
filesystem.window.mappings.f = "noop";
|
|
||||||
window.mappings.f = "noop";
|
|
||||||
eventHandlers.neo_tree_buffer_leave = # lua
|
|
||||||
''
|
|
||||||
function()
|
|
||||||
require('neo-tree').close_all()
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
which-key.settings.spec = [
|
which-key.settings.spec = [
|
||||||
{
|
{
|
||||||
__unkeyed-1 = "ft";
|
__unkeyed-1 = "<leader>t";
|
||||||
desc = "Tree";
|
desc = "Tree";
|
||||||
icon = "";
|
icon = "";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,13 +2,15 @@
|
|||||||
{
|
{
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "Thea Schöbl";
|
|
||||||
userEmail = "dev@theaninova.de";
|
|
||||||
signing = {
|
signing = {
|
||||||
key = "6C9E EFC5 1AE0 0131 78DE B9C8 68FF FB1E C187 88CA";
|
key = "6C9E EFC5 1AE0 0131 78DE B9C8 68FF FB1E C187 88CA";
|
||||||
signByDefault = true;
|
signByDefault = true;
|
||||||
};
|
};
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
|
user = {
|
||||||
|
email = "dev@theaninova.de";
|
||||||
|
name = "Thea Schöbl";
|
||||||
|
};
|
||||||
pull.rebase = true;
|
pull.rebase = true;
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "main";
|
||||||
merge = {
|
merge = {
|
||||||
|
|||||||
@@ -56,7 +56,6 @@
|
|||||||
tree.enable = true;
|
tree.enable = true;
|
||||||
};
|
};
|
||||||
languages = {
|
languages = {
|
||||||
angular.enable = true;
|
|
||||||
c.enable = true;
|
c.enable = true;
|
||||||
css = {
|
css = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -2,27 +2,36 @@ let
|
|||||||
transparent = color: "alpha(${color}, {{custom.transparency}})";
|
transparent = color: "alpha(${color}, {{custom.transparency}})";
|
||||||
mkBgColor = color: {
|
mkBgColor = color: {
|
||||||
${color} = {
|
${color} = {
|
||||||
background = "{{colors.${color}.default.hex}}";
|
background_lift = "{{colors.${color}_dim.default.hex}}";
|
||||||
|
background = "{{colors.${color}_dim.default.hex}}";
|
||||||
foreground = "{{colors.on_${color}.default.hex}}";
|
foreground = "{{colors.on_${color}.default.hex}}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
mkColor = color: {
|
mkColor = color: {
|
||||||
|
${color} = {
|
||||||
|
standalone = "{{colors.${color}_fixed_dim.default.hex}}";
|
||||||
|
background = "{{colors.${color}_fixed.default.hex}}";
|
||||||
|
foreground = "{{colors.on_${color}_fixed.default.hex}}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
mkSemantic = color: {
|
||||||
${color} = {
|
${color} = {
|
||||||
standalone = "{{colors.${color}.default.hex}}";
|
standalone = "{{colors.${color}.default.hex}}";
|
||||||
background = "{{colors.${color}_container.default.hex}}";
|
background = "{{colors.${color}.default.hex}}";
|
||||||
foreground = "{{colors.on_${color}_container.default.hex}}";
|
foreground = "{{colors.on_${color}.default.hex}}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
colors =
|
colors =
|
||||||
(mkColor "primary")
|
(mkColor "primary")
|
||||||
// (mkColor "secondary")
|
// (mkColor "secondary")
|
||||||
// (mkColor "tertiary")
|
// (mkColor "tertiary")
|
||||||
// (mkColor "danger")
|
// (mkSemantic "danger")
|
||||||
// (mkColor "warning")
|
// (mkSemantic "warning")
|
||||||
// (mkColor "success")
|
// (mkSemantic "success")
|
||||||
// (mkColor "error")
|
// (mkSemantic "error")
|
||||||
// (mkColor "info")
|
// (mkSemantic "info")
|
||||||
// (mkBgColor "background")
|
// (mkBgColor "background")
|
||||||
|
// (mkBgColor "surface")
|
||||||
// (mkBgColor "surface_variant")
|
// (mkBgColor "surface_variant")
|
||||||
// {
|
// {
|
||||||
outline = "{{colors.outline.default.hex}}";
|
outline = "{{colors.outline.default.hex}}";
|
||||||
@@ -40,11 +49,33 @@ let
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
gtk = {
|
# https://github.com/AvengeMedia/DankMaterialShell/blob/master/matugen/templates/gtk-colors.css
|
||||||
|
gtk = rec {
|
||||||
accent_color = colors.primary.standalone;
|
accent_color = colors.primary.standalone;
|
||||||
accent_bg_color = colors.primary.background;
|
accent_bg_color = colors.primary.background;
|
||||||
accent_fg_color = colors.primary.foreground;
|
accent_fg_color = colors.primary.foreground;
|
||||||
|
|
||||||
|
window_bg_color = transparent colors.surface.background;
|
||||||
|
window_fg_color = colors.surface.foreground;
|
||||||
|
|
||||||
|
popover_bg_color = transparent colors.surface.background;
|
||||||
|
popover_fg_color = colors.surface.foreground;
|
||||||
|
|
||||||
|
headerbar_bg_color = transparent colors.surface.background;
|
||||||
|
headerbar_fg_color = colors.surface.foreground;
|
||||||
|
|
||||||
|
view_bg_color = transparent colors.surface.background_lift;
|
||||||
|
view_fg_color = colors.surface.foreground;
|
||||||
|
|
||||||
|
card_bg_color = colors.surface.background_lift;
|
||||||
|
card_fg_color = colors.surface.foreground;
|
||||||
|
|
||||||
|
sidebar_bg_color = window_bg_color;
|
||||||
|
sidebar_fg_color = window_fg_color;
|
||||||
|
|
||||||
|
sidebar_border_color = colors.surface.background;
|
||||||
|
sidebar_backdrop_color = window_bg_color;
|
||||||
|
|
||||||
destructive_color = colors.danger.standalone;
|
destructive_color = colors.danger.standalone;
|
||||||
destructive_bg_color = colors.danger.background;
|
destructive_bg_color = colors.danger.background;
|
||||||
destructive_fg_color = colors.danger.foreground;
|
destructive_fg_color = colors.danger.foreground;
|
||||||
@@ -61,45 +92,31 @@ let
|
|||||||
error_bg_color = colors.error.background;
|
error_bg_color = colors.error.background;
|
||||||
error_fg_color = colors.error.foreground;
|
error_fg_color = colors.error.foreground;
|
||||||
|
|
||||||
window_bg_color = transparent colors.background.background;
|
/*
|
||||||
window_fg_color = colors.background.foreground;
|
headerbar_border_color = colors.outline;
|
||||||
|
headerbar_backdrop_color = transparent colors.background.background;
|
||||||
|
headerbar_shade_color = colors.shade.default;
|
||||||
|
headerbar_darker_shade_color = colors.shade.darker;
|
||||||
|
|
||||||
view_bg_color = transparent colors.background.background;
|
card_shade_color = colors.shade.default;
|
||||||
view_fg_color = colors.background.foreground;
|
|
||||||
|
|
||||||
headerbar_bg_color = transparent colors.background.background;
|
dialog_bg_color = transparent colors.background.background;
|
||||||
headerbar_fg_color = colors.background.foreground;
|
dialog_fg_color = colors.background.foreground;
|
||||||
headerbar_border_color = colors.outline;
|
popover_shade_color = colors.shade.default;
|
||||||
headerbar_backdrop_color = transparent colors.background.background;
|
|
||||||
headerbar_shade_color = colors.shade.default;
|
|
||||||
headerbar_darker_shade_color = colors.shade.darker;
|
|
||||||
|
|
||||||
card_bg_color = colors.container.default;
|
shade_color = colors.shade.default;
|
||||||
card_fg_color = colors.container.foreground;
|
scrollbar_outline_color = colors.outline;
|
||||||
card_shade_color = colors.shade.default;
|
|
||||||
|
|
||||||
dialog_bg_color = transparent colors.background.background;
|
thumbnail_bg_color = colors.secondary.background;
|
||||||
dialog_fg_color = colors.background.foreground;
|
thumbnail_fg_color = colors.secondary.foreground;
|
||||||
|
|
||||||
popover_bg_color = transparent colors.background.background;
|
sidebar_shade_color = colors.shade.default;
|
||||||
popover_fg_color = colors.background.foreground;
|
|
||||||
popover_shade_color = colors.shade.default;
|
|
||||||
|
|
||||||
shade_color = colors.shade.default;
|
secondary_sidebar_bg_color = transparent colors.surface_variant.background;
|
||||||
scrollbar_outline_color = colors.outline;
|
secondary_sidebar_fg_color = colors.surface_variant.foreground;
|
||||||
|
secondary_sidebar_backdrop_color = transparent colors.surface_variant.background;
|
||||||
thumbnail_bg_color = colors.secondary.background;
|
secondary_sidebar_shade_color = colors.shade.default;
|
||||||
thumbnail_fg_color = colors.secondary.foreground;
|
*/
|
||||||
|
|
||||||
sidebar_bg_color = transparent colors.background.background;
|
|
||||||
sidebar_fg_color = colors.background.foreground;
|
|
||||||
sidebar_backdrop_color = transparent colors.background.background;
|
|
||||||
sidebar_shade_color = colors.shade.default;
|
|
||||||
|
|
||||||
secondary_sidebar_bg_color = transparent colors.surface_variant.background;
|
|
||||||
secondary_sidebar_fg_color = colors.surface_variant.foreground;
|
|
||||||
secondary_sidebar_backdrop_color = transparent colors.surface_variant.background;
|
|
||||||
secondary_sidebar_shade_color = colors.shade.default;
|
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
builtins.concatStringsSep "\n" (
|
builtins.concatStringsSep "\n" (
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
|
osConfig,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
@@ -241,7 +242,6 @@ in
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
THEME_SERVICE_PATH="${config.xdg.configHome}/systemd/user/theme-init.timer"
|
THEME_SERVICE_PATH="${config.xdg.configHome}/systemd/user/theme-init.timer"
|
||||||
if [ "$MODE" = "auto" ]; then
|
if [ "$MODE" = "auto" ]; then
|
||||||
TIME=$(sunwait poll ${builtins.toString cfg.auto-dark.lat}N ${builtins.toString cfg.auto-dark.lon}E || :)
|
TIME=$(sunwait poll ${builtins.toString cfg.auto-dark.lat}N ${builtins.toString cfg.auto-dark.lon}E || :)
|
||||||
@@ -270,29 +270,21 @@ in
|
|||||||
systemctl --user daemon-reload &> /dev/null || :
|
systemctl --user daemon-reload &> /dev/null || :
|
||||||
systemctl --user restart theme-init.timer &> /dev/null || :
|
systemctl --user restart theme-init.timer &> /dev/null || :
|
||||||
|
|
||||||
|
if command -v niri &> /dev/null; then
|
||||||
|
niri msg action do-screen-transition --delay-ms 500
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$MODE" = "light" ]; then
|
if [ "$MODE" = "light" ]; then
|
||||||
GTK_THEME="adw-gtk3"
|
GTK_THEME="adw-gtk3"
|
||||||
else
|
else
|
||||||
GTK_THEME="adw-gtk3-dark"
|
GTK_THEME="adw-gtk3-dark"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
matugen image "$WALLPAPER" --type scheme-${cfg.flavour} --contrast ${builtins.toString cfg.contrast} --mode "$MODE"
|
matugen image "$WALLPAPER" --type scheme-${cfg.flavour} --contrast ${builtins.toString cfg.contrast} --mode "$MODE"
|
||||||
sed -i "s/set background=dark/set background=$MODE/g" ${config.xdg.configHome}/nvim/colors/md3-evo.vim
|
|
||||||
|
|
||||||
dconf write /org/gnome/desktop/interface/gtk-theme "'$GTK_THEME'"
|
dconf write /org/gnome/desktop/interface/gtk-theme "'$GTK_THEME'"
|
||||||
dconf write /org/gnome/desktop/interface/color-scheme "'prefer-$MODE'"
|
dconf write /org/gnome/desktop/interface/color-scheme "'prefer-$MODE'"
|
||||||
|
dconf write /org/gnome/desktop/interface/icon-theme "'Adwaita'"
|
||||||
if command -v hyprctl &> /dev/null; then
|
|
||||||
hyprctl reload
|
|
||||||
fi
|
|
||||||
|
|
||||||
if which swaync-client; then
|
|
||||||
swaync-client --reload-css
|
|
||||||
fi
|
|
||||||
|
|
||||||
for i in $(pgrep -u "$USER" -x nvim); do
|
|
||||||
kill -USR1 "$i"
|
|
||||||
done
|
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@@ -309,6 +301,9 @@ in
|
|||||||
"@import './theme.css';";
|
"@import './theme.css';";
|
||||||
gtk4.extraCss = # css
|
gtk4.extraCss = # css
|
||||||
"@import './theme.css';";
|
"@import './theme.css';";
|
||||||
|
theme = {
|
||||||
|
name = "Adwaita";
|
||||||
|
};
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
name = "Tela";
|
name = "Tela";
|
||||||
package = pkgs.tela-icon-theme;
|
package = pkgs.tela-icon-theme;
|
||||||
@@ -379,12 +374,23 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
# TODO: include is coming in the next release
|
||||||
kitty = {
|
/*
|
||||||
extraConfig = ''
|
xdg.configFile.niri-config = {
|
||||||
include ${config.xdg.configHome}/kitty/theme.conf
|
enable = osConfig.programs.niri.enable;
|
||||||
|
target = "niri/override.kdl";
|
||||||
|
text = ''
|
||||||
|
include "${config.xdg.configHome}/niri/config.kdl"
|
||||||
|
include "${config.programs.matugen.settings.templates.niri.output_path}"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
home.sessionVariables.NIRI_CONFIG = "${config.xdg.configHome}/niri/override.kdl";
|
||||||
|
*/
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
kitty.extraConfig = ''
|
||||||
|
include ${config.programs.matugen.settings.templates.kitty.output_path}
|
||||||
|
'';
|
||||||
|
|
||||||
nixvim = {
|
nixvim = {
|
||||||
opts.termguicolors = true;
|
opts.termguicolors = true;
|
||||||
@@ -405,15 +411,14 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
config = {
|
config = {
|
||||||
reload_apps = true;
|
version_check = false;
|
||||||
|
|
||||||
reload_apps_list = {
|
reload_apps_list = {
|
||||||
kitty = config.programs.kitty.enable;
|
|
||||||
waybar = config.programs.waybar.enable;
|
waybar = config.programs.waybar.enable;
|
||||||
dunst = config.services.dunst.enable;
|
dunst = config.services.dunst.enable;
|
||||||
};
|
};
|
||||||
|
|
||||||
set_wallpaper = true;
|
wallpaper.command = lib.getExe pkgs.swww;
|
||||||
wallpaper_tool = "Swww";
|
|
||||||
|
|
||||||
custom_colors =
|
custom_colors =
|
||||||
let
|
let
|
||||||
@@ -465,23 +470,17 @@ in
|
|||||||
templates =
|
templates =
|
||||||
let
|
let
|
||||||
gtk = pkgs.writeText "gtk4.css" (import ./gtk.nix);
|
gtk = pkgs.writeText "gtk4.css" (import ./gtk.nix);
|
||||||
|
signal =
|
||||||
|
name: signal:
|
||||||
|
(pkgs.writeShellScript "kill-${name}" ''
|
||||||
|
pkill -${signal} -u "$USER" -x ${name} || :
|
||||||
|
'');
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
kitty = {
|
|
||||||
input_path = ./kitty.conf;
|
|
||||||
output_path = "${config.xdg.configHome}/kitty/theme.conf";
|
|
||||||
};
|
|
||||||
nvim = {
|
nvim = {
|
||||||
input_path = ./nvim.vim;
|
input_path = ./nvim.vim;
|
||||||
output_path = "${config.xdg.configHome}/nvim/colors/md3-evo.vim";
|
output_path = "${config.xdg.configHome}/nvim/colors/md3-evo.vim";
|
||||||
};
|
post_hook = signal "nvim" "USR1";
|
||||||
hyprland = {
|
|
||||||
input_path = ./hyprland.conf;
|
|
||||||
output_path = "${config.xdg.configHome}/hypr/theme.conf";
|
|
||||||
};
|
|
||||||
anyrun = {
|
|
||||||
input_path = ./anyrun.css;
|
|
||||||
output_path = "${config.xdg.configHome}/anyrun/theme.css";
|
|
||||||
};
|
};
|
||||||
gtk3 = {
|
gtk3 = {
|
||||||
input_path = gtk;
|
input_path = gtk;
|
||||||
@@ -495,15 +494,49 @@ in
|
|||||||
input_path = ./discord.css;
|
input_path = ./discord.css;
|
||||||
output_path = "${config.xdg.configHome}/vesktop/themes/matugen.theme.css";
|
output_path = "${config.xdg.configHome}/vesktop/themes/matugen.theme.css";
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
// (lib.optionalAttrs osConfig.programs.niri.enable {
|
||||||
|
niri = {
|
||||||
|
input_path = ./niri.kdl;
|
||||||
|
output_path = "${config.xdg.configHome}/niri/md3-evo.kdl";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
// (lib.optionalAttrs config.programs.kitty.enable {
|
||||||
|
kitty = {
|
||||||
|
input_path = ./kitty.conf;
|
||||||
|
output_path = "${config.xdg.configHome}/kitty/theme.conf";
|
||||||
|
post_hook = signal ".kitty-wrapped" "USR1";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
// (lib.optionalAttrs osConfig.programs.hyprland.enable {
|
||||||
|
hyprland = {
|
||||||
|
input_path = ./hyprland.conf;
|
||||||
|
output_path = "${config.xdg.configHome}/hypr/theme.conf";
|
||||||
|
post_hook = pkgs.writeShellScript "reload-hyprland-theme" ''
|
||||||
|
if command -v hyprctl &> /dev/null; then
|
||||||
|
hyprctl reload
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
})
|
||||||
|
// (lib.optionalAttrs config.programs.waybar.enable {
|
||||||
waybar = {
|
waybar = {
|
||||||
input_path = ./waybar.css;
|
input_path = ./waybar.css;
|
||||||
output_path = "${config.xdg.configHome}/waybar/style.css";
|
output_path = "${config.xdg.configHome}/waybar/style.css";
|
||||||
|
post_hook = signal "waybar" "USR2";
|
||||||
};
|
};
|
||||||
|
})
|
||||||
|
// (lib.optionalAttrs config.services.swaync.enable {
|
||||||
swaync = {
|
swaync = {
|
||||||
input_path = ./swaync.css;
|
input_path = ./swaync.css;
|
||||||
output_path = "${config.xdg.configHome}/swaync/style.css";
|
output_path = "${config.xdg.configHome}/swaync/style.css";
|
||||||
|
post_hook = pkgs.writeShellScript "reload-swaync" ''
|
||||||
|
if which swaync-client; then
|
||||||
|
swaync-client --reload-css
|
||||||
|
fi
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
};
|
});
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
12
modules/home-manager/theme/niri.kdl
Normal file
12
modules/home-manager/theme/niri.kdl
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
layout {
|
||||||
|
gaps {{custom.padding}}
|
||||||
|
struts {{custom.double_padding}}
|
||||||
|
}
|
||||||
|
|
||||||
|
overview {
|
||||||
|
backdrop-color "{{colors.surface.default.hex}}"
|
||||||
|
}
|
||||||
|
|
||||||
|
window-rule {
|
||||||
|
geometry-corner-radius {{custom.radius}}
|
||||||
|
}
|
||||||
@@ -37,7 +37,7 @@ let g:terminal_color_14 = "{{colors.cyan.default.hex}}"
|
|||||||
let g:terminal_color_15 = "{{colors.on_surface_variant.default.hex}}"
|
let g:terminal_color_15 = "{{colors.on_surface_variant.default.hex}}"
|
||||||
set termguicolors
|
set termguicolors
|
||||||
|
|
||||||
set background=dark
|
set background={{mode | to_lower}}
|
||||||
|
|
||||||
if exists("g:neovide")
|
if exists("g:neovide")
|
||||||
hi! Normal guibg={{colors.surface.default.hex}} guifg={{colors.on_surface.default.hex}}
|
hi! Normal guibg={{colors.surface.default.hex}} guifg={{colors.on_surface.default.hex}}
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ in
|
|||||||
home = {
|
home = {
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
NIXOS_OZONE_WL = "1";
|
NIXOS_OZONE_WL = "1";
|
||||||
GDK_BACKEND = "wayland,x11,*";
|
GDK_BACKEND = "wayland";
|
||||||
QT_QPA_PLATFORM = "wayland;xcb";
|
QT_QPA_PLATFORM = "wayland";
|
||||||
SDL_VIDEODRIVER = "wayland";
|
SDL_VIDEODRIVER = "wayland";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -32,6 +32,7 @@ in
|
|||||||
# fonts
|
# fonts
|
||||||
noto-fonts
|
noto-fonts
|
||||||
# gnome packages
|
# gnome packages
|
||||||
|
qalculate-gtk
|
||||||
evince
|
evince
|
||||||
baobab
|
baobab
|
||||||
gnome.gvfs
|
gnome.gvfs
|
||||||
@@ -52,13 +53,6 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
dankMaterialShell = {
|
|
||||||
enable = true;
|
|
||||||
niri = {
|
|
||||||
enableSpawn = true;
|
|
||||||
enableKeybinds = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
niri.settings = {
|
niri.settings = {
|
||||||
binds = {
|
binds = {
|
||||||
"Mod+Left".action.focus-column-left = [ ];
|
"Mod+Left".action.focus-column-left = [ ];
|
||||||
@@ -75,29 +69,30 @@ in
|
|||||||
"Mod+Shift+Down".action.move-window-down-or-to-workspace-down = [ ];
|
"Mod+Shift+Down".action.move-window-down-or-to-workspace-down = [ ];
|
||||||
|
|
||||||
"Mod+C".action.close-window = [ ];
|
"Mod+C".action.close-window = [ ];
|
||||||
"Mod+M".action.center-window = [ ];
|
/*
|
||||||
|
"Mod+M".action.spawn = [
|
||||||
|
(pkgs.writeShellScript "qalculate" ''
|
||||||
|
if niri msg --json windows | jq -e 'any(.[]; .app_id == "qalculate-gtk")'; then
|
||||||
|
pkill qalculate-gtk
|
||||||
|
else
|
||||||
|
qalculate-gtk &
|
||||||
|
fi
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
*/
|
||||||
|
|
||||||
"Mod+T".action.spawn = [ "kitty" ];
|
"Mod+T".action.spawn = [ "kitty" ];
|
||||||
|
|
||||||
"Mod+V".action.maximize-column = [ ];
|
"Mod+V".action.maximize-column = [ ];
|
||||||
"Mod+P".action.fullscreen-window = [ ];
|
"Mod+D".action.fullscreen-window = [ ];
|
||||||
|
"Mod+P".action.toggle-window-floating = [ ];
|
||||||
|
|
||||||
"Mod+Space".action.spawn = [
|
"Mod+Shift+V".action.screenshot = [ ];
|
||||||
"dms"
|
# "Mod+Shift+C".action.pick-color = [ ];
|
||||||
"ipc"
|
|
||||||
"spotlight"
|
|
||||||
"toggle"
|
|
||||||
];
|
|
||||||
"Mod+MouseMiddle".action.toggle-overview = [ ];
|
|
||||||
};
|
};
|
||||||
|
overview.zoom = 0.8;
|
||||||
window-rules = [
|
window-rules = [
|
||||||
{
|
{
|
||||||
geometry-corner-radius = {
|
|
||||||
top-left = 24.0;
|
|
||||||
top-right = 24.0;
|
|
||||||
bottom-left = 24.0;
|
|
||||||
bottom-right = 24.0;
|
|
||||||
};
|
|
||||||
clip-to-geometry = true;
|
clip-to-geometry = true;
|
||||||
tiled-state = true;
|
tiled-state = true;
|
||||||
}
|
}
|
||||||
@@ -109,6 +104,17 @@ in
|
|||||||
matches = [ { app-id = "firefox"; } ];
|
matches = [ { app-id = "firefox"; } ];
|
||||||
default-column-width.fixed = 1500;
|
default-column-width.fixed = 1500;
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
matches = [ { app-id = "qalculate-gtk"; } ];
|
||||||
|
open-floating = true;
|
||||||
|
default-column-width.fixed = 1000;
|
||||||
|
default-window-height.fixed = 800;
|
||||||
|
default-floating-position = {
|
||||||
|
x = 0;
|
||||||
|
y = 0;
|
||||||
|
relative-to = "bottom";
|
||||||
|
};
|
||||||
|
}
|
||||||
];
|
];
|
||||||
layout = {
|
layout = {
|
||||||
always-center-single-column = true;
|
always-center-single-column = true;
|
||||||
@@ -128,17 +134,31 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.dankMaterialShell.greeter = {
|
|
||||||
enable = true;
|
|
||||||
compositor.name = "niri";
|
|
||||||
configHome = "/home/${username}";
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
kmscon = {
|
kmscon = {
|
||||||
enable = true;
|
enable = true;
|
||||||
hwRender = true;
|
hwRender = true;
|
||||||
};
|
};
|
||||||
|
greetd = {
|
||||||
|
enable = true;
|
||||||
|
greeterManagesPlymouth = false;
|
||||||
|
settings = {
|
||||||
|
initial_session = {
|
||||||
|
command = "${pkgs.niri}/bin/niri-session";
|
||||||
|
user = username;
|
||||||
|
};
|
||||||
|
default_session = {
|
||||||
|
command = "${lib.getExe pkgs.tuigreet} --asterisks --remember --user-menu --cmd '${pkgs.niri}/bin/niri-session'";
|
||||||
|
user = username;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
dbus = {
|
||||||
|
enable = true;
|
||||||
|
implementation = "broker";
|
||||||
|
};
|
||||||
|
pcscd.enable = true;
|
||||||
|
gvfs.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,6 +36,23 @@ in
|
|||||||
"move ${pipPadding} ${pipPadding},${firefoxPipInitial}"
|
"move ${pipPadding} ${pipPadding},${firefoxPipInitial}"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
programs.niri.settings.window-rules = [
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
app-id = "firefox";
|
||||||
|
title = "Picture-in-Picture";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
open-focused = false;
|
||||||
|
open-floating = true;
|
||||||
|
default-floating-position = {
|
||||||
|
x = homeConfig.theme.md3-evo.padding;
|
||||||
|
y = homeConfig.theme.md3-evo.padding;
|
||||||
|
relative-to = "top-left";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ in
|
|||||||
"ignorealpha 0.3, anyrun"
|
"ignorealpha 0.3, anyrun"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
programs.niri.settings.binds."Mod+Space".action.spawn = [ (lib.getExe pkgs.walker) ];
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
walker
|
walker
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
mainBar = {
|
mainBar = {
|
||||||
|
layer = "top";
|
||||||
|
|
||||||
height = 24;
|
height = 24;
|
||||||
reload_style_on_change = true;
|
reload_style_on_change = true;
|
||||||
exclusive = true;
|
exclusive = true;
|
||||||
@@ -35,25 +37,24 @@ in
|
|||||||
modules-center = [
|
modules-center = [
|
||||||
"clock"
|
"clock"
|
||||||
];
|
];
|
||||||
modules-right =
|
modules-right = [
|
||||||
[
|
"privacy"
|
||||||
"privacy"
|
"gamemode"
|
||||||
"gamemode"
|
"tray"
|
||||||
"tray"
|
"pulseaudio"
|
||||||
"pulseaudio"
|
]
|
||||||
]
|
++ (
|
||||||
++ (
|
if cfg.mobile then
|
||||||
if cfg.mobile then
|
[ "backlight" ]
|
||||||
[ "backlight" ]
|
else
|
||||||
else
|
[
|
||||||
[
|
"custom/brightness"
|
||||||
"custom/brightness"
|
]
|
||||||
]
|
)
|
||||||
)
|
++ [
|
||||||
++ [
|
# "custom/theme"
|
||||||
# "custom/theme"
|
# "network"
|
||||||
# "network"
|
];
|
||||||
];
|
|
||||||
|
|
||||||
"pulseaudio" = {
|
"pulseaudio" = {
|
||||||
format = "{icon} {volume}%";
|
format = "{icon} {volume}%";
|
||||||
|
|||||||
@@ -28,6 +28,19 @@ in
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# WARN: sometimes the VM will place hard-coded/hashed paths in the config,
|
||||||
|
# which breaks after NixOS updates because hashes change.
|
||||||
|
# The error might look something like
|
||||||
|
# "Unable to find efi firmware that is compatible with the current configuration".
|
||||||
|
# To fix this, manually edit the VM config in the VM manager in the XML tab of the Boot Options.
|
||||||
|
# Replace
|
||||||
|
# <loader readonly="yes" secure="yes" type="pflash" format="raw">/nix/store/yd1rlziy0cnjjp78zc7wr9dcv5hah16w-qemu-10.1.0/share/qemu/edk2-x86_64-secure-code.fd</loader>
|
||||||
|
# <nvram template="/nix/store/yd1rlziy0cnjjp78zc7wr9dcv5hah16w-qemu-10.1.0/share/qemu/edk2-i386-vars.fd" templateFormat="raw" format="raw">/var/lib/libvirt/qemu/nvram/win11_VARS.fd</nvram>
|
||||||
|
# with
|
||||||
|
# <loader readonly="yes" secure="yes" type="pflash" format="raw">/run/libvirt/nix-ovmf/edk2-x86_64-secure-code.fd</loader>
|
||||||
|
# <nvram template="/run/libvirt/nix-ovmf/edk2-i386-vars.fd" templateFormat="raw" format="raw">/var/lib/libvirt/qemu/nvram/win11_VARS.fd</nvram>
|
||||||
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
virt-manager
|
virt-manager
|
||||||
virt-viewer
|
virt-viewer
|
||||||
@@ -37,16 +50,13 @@ in
|
|||||||
win-virtio
|
win-virtio
|
||||||
win-spice
|
win-spice
|
||||||
adwaita-icon-theme
|
adwaita-icon-theme
|
||||||
|
qemu
|
||||||
];
|
];
|
||||||
|
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
libvirtd = {
|
libvirtd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
qemu = {
|
qemu.swtpm.enable = true;
|
||||||
swtpm.enable = true;
|
|
||||||
ovmf.enable = true;
|
|
||||||
ovmf.packages = [ pkgs.OVMFFull.fd ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
spiceUSBRedirection.enable = true;
|
spiceUSBRedirection.enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
23
overlays/matugen/hm-module.nix
Normal file
23
overlays/matugen/hm-module.nix
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.programs.matugen;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.programs.matugen = {
|
||||||
|
enable = lib.mkEnableOption "matugen";
|
||||||
|
package = lib.mkPackageOption pkgs "matugen" { };
|
||||||
|
settings = lib.mkOption { type = lib.types.attrs; };
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
home.packages = [ cfg.package ];
|
||||||
|
xdg.configFile."matugen/config.toml".source = lib.mkIf (cfg.settings != null) (
|
||||||
|
(pkgs.formats.toml { }).generate "matugen" cfg.settings
|
||||||
|
);
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user