diff --git a/config/default.nix b/config/default.nix index a644780..119284b 100755 --- a/config/default.nix +++ b/config/default.nix @@ -12,9 +12,6 @@ let attrList = lib.mkOption { type = lib.types.attrsOf lib.types.str; }; - boolType = lib.mkOption { - type = lib.types.bool; - }; numOptions = 20; @@ -87,7 +84,7 @@ let ip = genOptions stringType "address"; label = stringType; name = stringType; - sync = stringType; + sync = genOptions stringType "address"; } // genOptions mountConfig "folder" // genOptions mountConfig "samba" @@ -96,14 +93,14 @@ let themesSubmodule = lib.types.submodule { options = { - currentTheme = stringType; - font = { - name = stringType; - size = { - applications = intType; - desktop = intType; - popups = intType; - terminal = intType; + currentThemes = genOptions stringType "theme"; + fonts = { + names = genOptions stringType "name"; + sizes = { + applications = genOptions intType "size"; + desktop = genOptions intType "size"; + popups = genOptions intType "size"; + terminal = genOptions intType "size"; }; }; cursor = { diff --git a/config/devices/config/desktop.nix b/config/devices/config/desktop.nix index 5502305..2b8c166 100755 --- a/config/devices/config/desktop.nix +++ b/config/devices/config/desktop.nix @@ -1,13 +1,16 @@ -{devicesFunctions}: let - inherit - (devicesFunctions) +{ devicesFunctions }: +let + inherit (devicesFunctions) ownerWriteOthersReadMask readWritePermissions ; -in { +in +{ label = "Desktop"; name = "desktop"; - sync = ""; + sync = { + address0 = ""; + }; ip = { address0 = "192.168.50.196"; }; diff --git a/config/devices/config/fallaryn.nix b/config/devices/config/fallaryn.nix new file mode 100644 index 0000000..cbb4f0a --- /dev/null +++ b/config/devices/config/fallaryn.nix @@ -0,0 +1,32 @@ +{ devicesFunctions }: +let + inherit (devicesFunctions) + readWritePermissions + ; + drivePath = "/run/media"; + byLabel = "/dev/disk/by-label"; + +in +{ + label = "Fallaryn"; + name = "fallaryn"; + ip = { + address0 = "192.168.58.104"; + }; + boot = { + options = [ + "fmask=0022" + "dmask=0022" + ]; + }; + storage0 = { + mount = "${drivePath}/games"; + device = "${byLabel}/Games"; + options = readWritePermissions; + }; + storage1 = { + mount = "${drivePath}/entertainment"; + device = "${byLabel}/Entertainment"; + options = readWritePermissions; + }; +} diff --git a/config/devices/config/laptop.nix b/config/devices/config/laptop.nix index 9bbee62..600a7f0 100755 --- a/config/devices/config/laptop.nix +++ b/config/devices/config/laptop.nix @@ -1,12 +1,15 @@ -{devicesFunctions}: let - inherit - (devicesFunctions) +{ devicesFunctions }: +let + inherit (devicesFunctions) ownerWriteOthersReadMask ; -in { +in +{ label = "Laptop"; name = "laptop"; - sync = ""; + sync = { + address0 = ""; + }; ip = { address0 = "192.168.50.142"; }; diff --git a/config/devices/config/phone.nix b/config/devices/config/phone.nix index 84d6286..8a85e0c 100755 --- a/config/devices/config/phone.nix +++ b/config/devices/config/phone.nix @@ -1,12 +1,16 @@ -{devicesFunctions}: let - inherit - (devicesFunctions) +{ devicesFunctions }: +let + inherit (devicesFunctions) dummy ; -in { +in +{ name = "pixel"; label = dummy; - sync = "RMDKNJY-BTX6FYF-G6SR332-WS6HARI-PF74SC6-VPBSGRQ-MKVQZEQ-KSIB6QV"; + sync = { + address0 = "RMDKNJY-BTX6FYF-G6SR332-WS6HARI-PF74SC6-VPBSGRQ-MKVQZEQ-KSIB6QV"; # User0 + address1 = "RUKSHY4-UCBYRVG-CVYFCMU-M3NLA3Q-JINRF5V-YPR5W32-TEIBJN6-DNQRCAR"; # User2 + }; ip = { address0 = "192.168.50.243"; }; diff --git a/config/devices/config/server.nix b/config/devices/config/server.nix index 996a87c..a117832 100755 --- a/config/devices/config/server.nix +++ b/config/devices/config/server.nix @@ -1,6 +1,6 @@ -{devicesFunctions}: let - inherit - (devicesFunctions) +{ devicesFunctions }: +let + inherit (devicesFunctions) fileModeAndDirMode ownerExclusiveReadWriteMask readWritePermissions @@ -10,9 +10,13 @@ serverName = "server"; serverIP = "192.168.50.140"; serverStorageDriveName = "NAS1"; -in { +in +{ label = "Server"; name = serverName; + sync = { + address0 = ""; + }; ip = { address0 = serverIP; }; diff --git a/config/devices/config/synology.nix b/config/devices/config/synology.nix index 5827d36..42037fb 100755 --- a/config/devices/config/synology.nix +++ b/config/devices/config/synology.nix @@ -15,7 +15,10 @@ let in { label = "Synology"; - sync = "MWRGX2V-F5XKE5E-REP6ECT-OOPFBMF-22NHSMW-YFBU6MB-PLFUN63-R3MW2QX"; + sync = { + address0 = "MWRGX2V-F5XKE5E-REP6ECT-OOPFBMF-22NHSMW-YFBU6MB-PLFUN63-R3MW2QX"; # User0 + address1 = ""; # User2 + }; name = synologyName; ip = { address0 = synologyIP; diff --git a/config/devices/config/tablet.nix b/config/devices/config/tablet.nix index 0d3d9ba..0d6c7a3 100755 --- a/config/devices/config/tablet.nix +++ b/config/devices/config/tablet.nix @@ -1,12 +1,15 @@ -{devicesFunctions}: let - inherit - (devicesFunctions) +{ devicesFunctions }: +let + inherit (devicesFunctions) dummy ; -in { +in +{ name = "tablet"; label = dummy; - sync = "I2ZSCZU-T4JMUJJ-XCUQ3MY-G5EUFZ5-KRG2DRY-XIBJZZM-FQW3UMY-CBCTUQU"; + sync = { + address0 = "I2ZSCZU-T4JMUJJ-XCUQ3MY-G5EUFZ5-KRG2DRY-XIBJZZM-FQW3UMY-CBCTUQU"; + }; ip = { address0 = "192.168.50.189"; }; diff --git a/config/themes/default.nix b/config/themes/default.nix index 0eb5d39..9cce4f0 100755 --- a/config/themes/default.nix +++ b/config/themes/default.nix @@ -1,5 +1,6 @@ let - currentTheme = catppuccin-mocha; + currentTheme0 = catppuccin-mocha; + currentTheme1 = catppuccin-macchiato; brogrammer = "brogrammer"; catppuccin-frappe = "catppuccin-frappe"; @@ -22,20 +23,35 @@ let in { themes = { - currentTheme = currentTheme; + currentThemes = { + theme0 = currentTheme0; + }; cursor = { name = ""; size = 18; }; - font = { - name = "MonaspiceRn Nerd Font"; - size = { - - applications = 14; - desktop = 12; - popups = 10; - terminal = 10; - + fonts = { + names = { + name0 = "MonaspiceRn Nerd Font"; + name1 = ""; + }; + sizes = { + applications = { + size0 = 14; + size1 = 14; + }; + desktop = { + size0 = 12; + size1 = 12; + }; + popups = { + size0 = 10; + size1 = 10; + }; + terminal = { + size0 = 10; + size1 = 10; + }; }; }; palettes = diff --git a/config/users/config/user2.nix b/config/users/config/user2.nix new file mode 100644 index 0000000..50145a2 --- /dev/null +++ b/config/users/config/user2.nix @@ -0,0 +1,19 @@ +{ user2 }: +let + inherit + user2 + ; +in +{ + name = "Stacie"; + email = { + address0 = "staciesimonson@gmail.com"; + }; + paths = { + path0 = "/home/${user2}"; # Git path + }; + sshKeys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILQQDw0NigCC76G/GlHWIMunckaBmfgqbfJXFGWB+8fe stacie@desktop" + ]; + +} diff --git a/config/users/default.nix b/config/users/default.nix index 8117d24..4ce7721 100755 --- a/config/users/default.nix +++ b/config/users/default.nix @@ -3,21 +3,17 @@ let user0 = "nick"; user1 = "garnet"; -in { + user2 = "fallaryn"; +in +{ inherit user0 user1 + user2 ; users = { - "${user0}" = import (configPath + "/user0.nix") { - inherit - user0 - ; - }; - "${user1}" = import (configPath + "/user1.nix") { - inherit - user1 - ; - }; + "${user0}" = import (configPath + /user0.nix) { inherit user0; }; + "${user1}" = import (configPath + /user1.nix) { inherit user1; }; + "${user2}" = import (configPath + /user2.nix) { inherit user2; }; }; } diff --git a/flake.lock b/flake.lock index 0a62b3f..81e3dd8 100755 --- a/flake.lock +++ b/flake.lock @@ -33,72 +33,6 @@ "type": "github" } }, - "base16": { - "inputs": { - "fromYaml": "fromYaml" - }, - "locked": { - "lastModified": 1732200724, - "narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=", - "owner": "SenchoPens", - "repo": "base16.nix", - "rev": "153d52373b0fb2d343592871009a286ec8837aec", - "type": "github" - }, - "original": { - "owner": "SenchoPens", - "repo": "base16.nix", - "type": "github" - } - }, - "base16-fish": { - "flake": false, - "locked": { - "lastModified": 1622559957, - "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", - "owner": "tomyun", - "repo": "base16-fish", - "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", - "type": "github" - }, - "original": { - "owner": "tomyun", - "repo": "base16-fish", - "type": "github" - } - }, - "base16-helix": { - "flake": false, - "locked": { - "lastModified": 1736852337, - "narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=", - "owner": "tinted-theming", - "repo": "base16-helix", - "rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-helix", - "type": "github" - } - }, - "base16-vim": { - "flake": false, - "locked": { - "lastModified": 1735953590, - "narHash": "sha256-YbQwaApLFJobn/0lbpMKcJ8N5axKlW2QIGkDS5+xoSU=", - "owner": "tinted-theming", - "repo": "base16-vim", - "rev": "c2a1232aa2c0ed27dcbf005779bcfe0e0ab5e85d", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-vim", - "type": "github" - } - }, "buildbot-nix": { "inputs": { "flake-parts": "flake-parts_2", @@ -110,11 +44,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1737654367, - "narHash": "sha256-SLyigXgNQQsMiDFsQ+Tuj2owj5ILyqRdbCWnm4h92zE=", + "lastModified": 1737857314, + "narHash": "sha256-T9THCbnlj4CkKbTP+lisA5PUMoTXE7uh4FyDQzui+dc=", "owner": "nix-community", "repo": "buildbot-nix", - "rev": "eab66de3448a7dc78324ba45a00f2b91be58dc44", + "rev": "c077f430f3717d41bb303d031398058665315166", "type": "github" }, "original": { @@ -124,27 +58,6 @@ } }, "crane": { - "inputs": { - "nixpkgs": [ - "edgedb", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1714864355, - "narHash": "sha256-uXNW6bapWFfkYIkK1EagydSrFMqycOYEDSq75GmUpjk=", - "owner": "ipetkov", - "repo": "crane", - "rev": "442a7a6152f49b907e73206dc8e1f46a61e8e873", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, - "crane_2": { "locked": { "lastModified": 1737563566, "narHash": "sha256-GLJvkOG29XCynQm8XWPyykMRqIhxKcBARVu7Ydrz02M=", @@ -159,7 +72,7 @@ "type": "github" } }, - "crane_3": { + "crane_2": { "locked": { "lastModified": 1736898272, "narHash": "sha256-D10wlrU/HCpSRcb3a7yk+bU3ggpMD1kGbseKtO+7teo=", @@ -183,11 +96,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1735139415, - "narHash": "sha256-auT5nsuhsOpv8u1O/kxz2z41Yvf6Rz8FnjuT89URNRM=", + "lastModified": 1737963187, + "narHash": "sha256-k/RLIf4WrW8ZM8kzN9MCQ+28fohHfWKhYEqAdsgvJUQ=", "owner": "direnv", "repo": "direnv", - "rev": "29df55713c253e3da14b733da283f03485285cea", + "rev": "b76e297d5cbf0ec11e5d2320b2c89a981fb2b628", "type": "github" }, "original": { @@ -219,71 +132,6 @@ "type": "github" } }, - "edgedb": { - "inputs": { - "crane": "crane", - "fenix": "fenix", - "flake-parts": [ - "flake-parts" - ], - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1737449923, - "narHash": "sha256-CfhtImn/809qxSduRdx6Zajf9pXLcjmyVicfLq2gSDk=", - "owner": "edgedb", - "repo": "packages-nix", - "rev": "890cec292b06511d138c9c414cd5e0c29ccd7b4f", - "type": "github" - }, - "original": { - "owner": "edgedb", - "repo": "packages-nix", - "type": "github" - } - }, - "fenix": { - "inputs": { - "nixpkgs": [ - "edgedb", - "nixpkgs" - ], - "rust-analyzer-src": [ - "edgedb" - ] - }, - "locked": { - "lastModified": 1715063087, - "narHash": "sha256-cktPkcCmJ2sR0V/FaWEuCWmKuGPbwoMltih/EfF0mXg=", - "owner": "nix-community", - "repo": "fenix", - "rev": "f8f16c1f2c83bea4e51e6522d988ec8bfcc8420e", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "fenix", - "type": "github" - } - }, - "firefox-gnome-theme": { - "flake": false, - "locked": { - "lastModified": 1736899990, - "narHash": "sha256-S79Hqn2EtSxU4kp99t8tRschSifWD4p/51++0xNWUxw=", - "owner": "rafaelmardojai", - "repo": "firefox-gnome-theme", - "rev": "91ca1f82d717b02ceb03a3f423cbe8082ebbb26d", - "type": "github" - }, - "original": { - "owner": "rafaelmardojai", - "repo": "firefox-gnome-theme", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -349,22 +197,6 @@ } }, "flake-compat_5": { - "flake": false, - "locked": { - "lastModified": 1717312683, - "narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=", - "owner": "nix-community", - "repo": "flake-compat", - "rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_6": { "flake": false, "locked": { "lastModified": 1696426674, @@ -380,39 +212,23 @@ "type": "github" } }, + "flake-compat_6": { + "flake": false, + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-compat_7": { - "flake": false, - "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_8": { - "flake": false, - "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_9": { "locked": { "lastModified": 1733328505, "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", @@ -585,28 +401,7 @@ }, "flake-utils_6": { "inputs": { - "systems": [ - "stylix", - "systems" - ] - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_7": { - "inputs": { - "systems": "systems_13" + "systems": "systems_12" }, "locked": { "lastModified": 1731533236, @@ -637,22 +432,6 @@ "type": "github" } }, - "fromYaml": { - "flake": false, - "locked": { - "lastModified": 1731966426, - "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", - "owner": "SenchoPens", - "repo": "fromYaml", - "rev": "106af9e2f715e2d828df706c386a685698f3223b", - "type": "github" - }, - "original": { - "owner": "SenchoPens", - "repo": "fromYaml", - "type": "github" - } - }, "ghostty": { "inputs": { "flake-compat": "flake-compat", @@ -661,11 +440,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1737779447, - "narHash": "sha256-+iVqQXAUJshUYgxOHfke54Ux4f/aggl1yub86KNx2tE=", + "lastModified": 1738076396, + "narHash": "sha256-EHGwh2do2JEcYHxaXBq1H7z/S2FkbHEpnNWhvgAmpJ8=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "71e62f96fa4d286eda835048428d5be96e9f87c1", + "rev": "603639ad44e82afbcd8cdb01d7050abf7c538e9b", "type": "github" }, "original": { @@ -674,32 +453,6 @@ "type": "github" } }, - "git-hooks": { - "inputs": { - "flake-compat": [ - "stylix", - "flake-compat" - ], - "gitignore": "gitignore_4", - "nixpkgs": [ - "stylix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1735882644, - "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, "gitignore": { "inputs": { "nixpkgs": [ @@ -765,45 +518,6 @@ "type": "github" } }, - "gitignore_4": { - "inputs": { - "nixpkgs": [ - "stylix", - "git-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "gnome-shell": { - "flake": false, - "locked": { - "lastModified": 1732369855, - "narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=", - "owner": "GNOME", - "repo": "gnome-shell", - "rev": "dadd58f630eeea41d645ee225a63f719390829dc", - "type": "github" - }, - "original": { - "owner": "GNOME", - "ref": "47.2", - "repo": "gnome-shell", - "type": "github" - } - }, "gomod2nix": { "inputs": { "flake-utils": "flake-utils", @@ -828,7 +542,7 @@ }, "helix": { "inputs": { - "crane": "crane_2", + "crane": "crane", "flake-utils": "flake-utils_3", "nixpkgs": [ "nixpkgs" @@ -836,11 +550,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1737943827, - "narHash": "sha256-r3jDPIci3GL2MQZkgFICzVGANvltFTCTao77NPs5/XY=", + "lastModified": 1738073973, + "narHash": "sha256-+Bjgq2LuCrFQ8RA/25dWSAguFLH53TxoQZWuX7fb4gc=", "owner": "helix-editor", "repo": "helix", - "rev": "b00b475dfe96cca7ccaa0211b05b4159260377fc", + "rev": "6049f2035be3e218da327b51d8e4bfd36242dd43", "type": "github" }, "original": { @@ -883,32 +597,11 @@ ] }, "locked": { - "lastModified": 1737762889, - "narHash": "sha256-5HGG09bh/Yx0JA8wtBMAzt0HMCL1bYZ93x4IqzVExio=", + "lastModified": 1737968762, + "narHash": "sha256-xiPARGKwocaMtv+U/rgi+h2g56CZZEmrcl7ldRaslq8=", "owner": "nix-community", "repo": "home-manager", - "rev": "daf04c5950b676f47a794300657f1d3d14c1a120", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, - "home-manager_2": { - "inputs": { - "nixpkgs": [ - "stylix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1736785676, - "narHash": "sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m+Yq++C9AyE=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "fc52a210b60f2f52c74eac41a8647c1573d2071d", + "rev": "e1ae908bcc30af792b0bb0a52e53b03d2577255e", "type": "github" }, "original": { @@ -962,11 +655,11 @@ ] }, "locked": { - "lastModified": 1737634889, - "narHash": "sha256-9JZE3KxcXOqZH9zs3UeadngDiK/yIACTiAR8HSA/TNI=", + "lastModified": 1737985436, + "narHash": "sha256-zx8FdI4zr2GhNyD1YGAqa2ymodAObTSAdwuWwVucewo=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "0d77b4895ad5f1bb3b0ee43103a5246c58b65591", + "rev": "23783b96036f5506fdaf8b2250a1ef849d57f0d3", "type": "github" }, "original": { @@ -1006,19 +699,21 @@ }, "hypridle": { "inputs": { + "hyprland-protocols": "hyprland-protocols", "hyprlang": "hyprlang", "hyprutils": "hyprutils", + "hyprwayland-scanner": "hyprwayland-scanner", "nixpkgs": [ "nixpkgs" ], "systems": "systems_5" }, "locked": { - "lastModified": 1737635556, - "narHash": "sha256-Ahb+xhd80dlzgRSICthPktiDcvi+DqDtHP+YX0TrSdE=", + "lastModified": 1737984253, + "narHash": "sha256-h4KWLijrHK7rugD2oV8JfVgloD+xPW1jCVT2B7K+bjQ=", "owner": "hyprwm", "repo": "hypridle", - "rev": "33ac8cae64226d3a0b63ebf77a22455807895455", + "rev": "15ca902b2cb845a8a5378ec022c11a4a77155b83", "type": "github" }, "original": { @@ -1032,11 +727,11 @@ "aquamarine": "aquamarine", "hyprcursor": "hyprcursor", "hyprgraphics": "hyprgraphics", - "hyprland-protocols": "hyprland-protocols", + "hyprland-protocols": "hyprland-protocols_2", "hyprland-qtutils": "hyprland-qtutils", - "hyprlang": "hyprlang_3", - "hyprutils": "hyprutils_3", - "hyprwayland-scanner": "hyprwayland-scanner", + "hyprlang": "hyprlang_2", + "hyprutils": "hyprutils_2", + "hyprwayland-scanner": "hyprwayland-scanner_2", "nixpkgs": [ "nixpkgs" ], @@ -1045,11 +740,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1737925585, - "narHash": "sha256-+Y0fBW4G2KCmf9NY0bjgHM1W/mrTmm22uO/0aDVScNM=", + "lastModified": 1738059592, + "narHash": "sha256-xyGGTu6JazGtrI30RSNJrs+tNn2Xc5a2Oh3eQKtBodQ=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "2f55806d6f11a1e81e3e821cb0327779d5cc50e6", + "rev": "1d3904c3e7a8b74ea83669f73ee408bd38390b11", "type": "github" }, "original": { @@ -1059,6 +754,31 @@ } }, "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hypridle", + "nixpkgs" + ], + "systems": [ + "hypridle", + "systems" + ] + }, + "locked": { + "lastModified": 1737556638, + "narHash": "sha256-laKgI3mr2qz6tas/q3tuGPxMdsGhBi/w+HO+hO2f1AY=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "4c75dd5c015c8a0e5a34c6d02a018a650f57feb5", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprland-protocols_2": { "inputs": { "nixpkgs": [ "hyprland", @@ -1085,7 +805,11 @@ }, "hyprland-qt-support": { "inputs": { - "hyprlang": "hyprlang_2", + "hyprlang": [ + "hyprland", + "hyprland-qtutils", + "hyprlang" + ], "nixpkgs": [ "hyprland", "hyprland-qtutils", @@ -1114,8 +838,14 @@ "hyprland-qtutils": { "inputs": { "hyprland-qt-support": "hyprland-qt-support", + "hyprlang": [ + "hyprland", + "hyprlang" + ], "hyprutils": [ "hyprland", + "hyprland-qtutils", + "hyprlang", "hyprutils" ], "nixpkgs": [ @@ -1128,11 +858,11 @@ ] }, "locked": { - "lastModified": 1737811848, - "narHash": "sha256-WZ7LeiKHk5Y94MU5gHIWn0r8asWxYOvie4LqfCjVIZU=", + "lastModified": 1737981711, + "narHash": "sha256-lh6cL5D8nPplB3WovCQjLUZ7k7MViiBrMlpkfm4R7/c=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "9c0831ff98856c0f312fcb8b57553fbe3dd34d5b", + "rev": "96bf0677fa9cd13508294e3d4559dfbbc8beff73", "type": "github" }, "original": { @@ -1171,36 +901,6 @@ } }, "hyprlang_2": { - "inputs": { - "hyprutils": "hyprutils_2", - "nixpkgs": [ - "hyprland", - "hyprland-qtutils", - "hyprland-qt-support", - "nixpkgs" - ], - "systems": [ - "hyprland", - "hyprland-qtutils", - "hyprland-qt-support", - "systems" - ] - }, - "locked": { - "lastModified": 1737634606, - "narHash": "sha256-W7W87Cv6wqZ9PHegI6rH1+ve3zJPiyevMFf0/HwdbCQ=", - "owner": "hyprwm", - "repo": "hyprlang", - "rev": "f41271d35cc0f370d300413d756c2677f386af9d", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprlang", - "type": "github" - } - }, - "hyprlang_3": { "inputs": { "hyprutils": [ "hyprland", @@ -1229,7 +929,7 @@ "type": "github" } }, - "hyprlang_4": { + "hyprlang_3": { "inputs": { "hyprutils": [ "hyprlock", @@ -1261,9 +961,9 @@ "hyprlock": { "inputs": { "hyprgraphics": "hyprgraphics_2", - "hyprlang": "hyprlang_4", - "hyprutils": "hyprutils_4", - "hyprwayland-scanner": "hyprwayland-scanner_2", + "hyprlang": "hyprlang_3", + "hyprutils": "hyprutils_3", + "hyprwayland-scanner": "hyprwayland-scanner_3", "nixpkgs": [ "nixpkgs" ], @@ -1312,25 +1012,19 @@ "inputs": { "nixpkgs": [ "hyprland", - "hyprland-qtutils", - "hyprland-qt-support", - "hyprlang", "nixpkgs" ], "systems": [ "hyprland", - "hyprland-qtutils", - "hyprland-qt-support", - "hyprlang", "systems" ] }, "locked": { - "lastModified": 1737632363, - "narHash": "sha256-X9I8POSlHxBVjD0fiX1O2j7U9Zi1+4rIkrsyHP0uHXY=", + "lastModified": 1737978343, + "narHash": "sha256-TfFS0HCEJh63Kahrkp1h9hVDMdLU8a37Zz+IFucxyfA=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "006620eb29d54ea9086538891404c78563d1bae1", + "rev": "6a8bc9d2a4451df12f5179dc0b1d2d46518a90ab", "type": "github" }, "original": { @@ -1340,31 +1034,6 @@ } }, "hyprutils_3": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1737725508, - "narHash": "sha256-jGmcPc6y/prg/4A8KGYqJ27nSPaProCMiFadaxNAKvA=", - "owner": "hyprwm", - "repo": "hyprutils", - "rev": "fb0c2d1de3d1ef7396d19c18ac09e12bd956929e", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprutils", - "type": "github" - } - }, - "hyprutils_4": { "inputs": { "nixpkgs": [ "hyprlock", @@ -1390,6 +1059,31 @@ } }, "hyprwayland-scanner": { + "inputs": { + "nixpkgs": [ + "hypridle", + "nixpkgs" + ], + "systems": [ + "hypridle", + "systems" + ] + }, + "locked": { + "lastModified": 1735493474, + "narHash": "sha256-fktzv4NaqKm94VAkAoVqO/nqQlw+X0/tJJNAeCSfzK4=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "de913476b59ee88685fdc018e77b8f6637a2ae0b", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, + "hyprwayland-scanner_2": { "inputs": { "nixpkgs": [ "hyprland", @@ -1414,7 +1108,7 @@ "type": "github" } }, - "hyprwayland-scanner_2": { + "hyprwayland-scanner_3": { "inputs": { "nixpkgs": [ "hyprlock", @@ -1486,11 +1180,11 @@ "systems": "systems_9" }, "locked": { - "lastModified": 1737800942, - "narHash": "sha256-kzZMXYpMg/h1rYWvNDC2R7DEkrC/BPLFGuDINPaf1Rw=", + "lastModified": 1737974228, + "narHash": "sha256-Dlca5iXvpks65wfwKw67H/OB3pDuvv3zXjImLc7rwFs=", "owner": "ngi-nix", "repo": "ngipkgs", - "rev": "60540d2de297a4f55f1f81505cd1afbe8c7c9a16", + "rev": "4d6c17428e6e32f474e8fc75a87b8f9bd6c6356d", "type": "github" }, "original": { @@ -1499,33 +1193,13 @@ "type": "github" } }, - "nixos-cosmic": { - "inputs": { - "flake-compat": "flake-compat_5", - "nixpkgs": "nixpkgs_2", - "nixpkgs-stable": "nixpkgs-stable_3" - }, - "locked": { - "lastModified": 1737933450, - "narHash": "sha256-1ggAq/GnSKaYI0cyWN9SOsYY1/6Dli0eVylUQlalmn0=", - "owner": "lilyinstarlight", - "repo": "nixos-cosmic", - "rev": "2ae10ec7a15b2f25772ba7c9cfe9a6df51d16ca9", - "type": "github" - }, - "original": { - "owner": "lilyinstarlight", - "repo": "nixos-cosmic", - "type": "github" - } - }, "nixpkgs": { "locked": { - "lastModified": 1737717945, - "narHash": "sha256-ET91TMkab3PmOZnqiJQYOtSGvSTvGeHoegAv4zcTefM=", + "lastModified": 1737879851, + "narHash": "sha256-H+FXIKj//kmFHTTW4DFeOjR7F1z2/3eb2iwN6Me4YZk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ecd26a469ac56357fd333946a99086e992452b6a", + "rev": "5d3221fd57cc442a1a522a15eb5f58230f45a304", "type": "github" }, "original": { @@ -1567,22 +1241,6 @@ "type": "github" } }, - "nixpkgs-stable_3": { - "locked": { - "lastModified": 1737672001, - "narHash": "sha256-YnHJJ19wqmibLQdUeq9xzE6CjrMA568KN/lFPuSVs4I=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "035f8c0853c2977b24ffc4d0a42c74f00b182cd8", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-unstable": { "locked": { "lastModified": 1733229606, @@ -1600,22 +1258,6 @@ } }, "nixpkgs_2": { - "locked": { - "lastModified": 1737746512, - "narHash": "sha256-nU6AezEX4EuahTO1YopzueAXfjFfmCHylYEFCagduHU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "825479c345a7f806485b7f00dbe3abb50641b083", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1737885589, "narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=", @@ -1631,7 +1273,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { "lastModified": 1737003892, "narHash": "sha256-RCzJE9wKByLCXmRBp+z8LK9EgdW+K+W/DXnJS4S/NVo=", @@ -1656,11 +1298,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1737943717, - "narHash": "sha256-JR+pLqfi13qVmSh+rzVcu4BssNnERoClB+HPRrBtGkg=", + "lastModified": 1738096417, + "narHash": "sha256-Ilaq4ZBWLKRQnnrVdo07RPXvL2bgLSpRRYQbEkTmY8E=", "owner": "nix-community", "repo": "NUR", - "rev": "9fa2187952b1050eb4da2d969f0c7a267697dace", + "rev": "9749661663bff263eb630f3a7f200e8b5a6ce3da", "type": "github" }, "original": { @@ -1694,7 +1336,7 @@ }, "pre-commit-hooks-nix": { "inputs": { - "flake-compat": "flake-compat_6", + "flake-compat": "flake-compat_5", "gitignore": "gitignore_3", "nixpkgs": [ "nixpkgs" @@ -1781,7 +1423,6 @@ "root": { "inputs": { "direnv": "direnv", - "edgedb": "edgedb", "flake-parts": "flake-parts", "ghostty": "ghostty", "helix": "helix", @@ -1791,13 +1432,11 @@ "hyprlock": "hyprlock", "lix-module": "lix-module", "ngipkgs": "ngipkgs", - "nixos-cosmic": "nixos-cosmic", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_2", "nur": "nur", "pre-commit-hooks-nix": "pre-commit-hooks-nix", "sops-nix": "sops-nix_2", - "stylix": "stylix", - "systems": "systems_11", + "systems": "systems_10", "waybar": "waybar", "wpaperd": "wpaperd", "yazi": "yazi", @@ -1952,41 +1591,6 @@ "type": "github" } }, - "stylix": { - "inputs": { - "base16": "base16", - "base16-fish": "base16-fish", - "base16-helix": "base16-helix", - "base16-vim": "base16-vim", - "firefox-gnome-theme": "firefox-gnome-theme", - "flake-compat": "flake-compat_7", - "flake-utils": "flake-utils_6", - "git-hooks": "git-hooks", - "gnome-shell": "gnome-shell", - "home-manager": "home-manager_2", - "nixpkgs": [ - "nixpkgs" - ], - "systems": "systems_10", - "tinted-foot": "tinted-foot", - "tinted-kitty": "tinted-kitty", - "tinted-tmux": "tinted-tmux", - "tinted-zed": "tinted-zed" - }, - "locked": { - "lastModified": 1737930520, - "narHash": "sha256-CAgB9/o54SXzqWwypA+hL2ETxiHW92Y+Ou4fT581jdk=", - "owner": "danth", - "repo": "stylix", - "rev": "6103431cd2f9d4352e5493a4063cf57e307d355c", - "type": "github" - }, - "original": { - "owner": "danth", - "repo": "stylix", - "type": "github" - } - }, "systems": { "locked": { "lastModified": 1681028828, @@ -2003,21 +1607,6 @@ } }, "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_11": { "locked": { "lastModified": 1680978846, "narHash": "sha256-Gtqg8b/v49BFDpDetjclCYXm8mAnTrUzR0JnE2nv5aw=", @@ -2032,7 +1621,7 @@ "type": "github" } }, - "systems_12": { + "systems_11": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -2047,7 +1636,7 @@ "type": "github" } }, - "systems_13": { + "systems_12": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -2182,72 +1771,6 @@ "type": "github" } }, - "tinted-foot": { - "flake": false, - "locked": { - "lastModified": 1726913040, - "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", - "owner": "tinted-theming", - "repo": "tinted-foot", - "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-foot", - "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", - "type": "github" - } - }, - "tinted-kitty": { - "flake": false, - "locked": { - "lastModified": 1716423189, - "narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=", - "owner": "tinted-theming", - "repo": "tinted-kitty", - "rev": "eb39e141db14baef052893285df9f266df041ff8", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-kitty", - "rev": "eb39e141db14baef052893285df9f266df041ff8", - "type": "github" - } - }, - "tinted-tmux": { - "flake": false, - "locked": { - "lastModified": 1735737224, - "narHash": "sha256-FO2hRBkZsjlIRqzNHCPc/52yxg11kHGA8MEtSun9RwE=", - "owner": "tinted-theming", - "repo": "tinted-tmux", - "rev": "aead506a9930c717ebf81cc83a2126e9ca08fa64", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-tmux", - "type": "github" - } - }, - "tinted-zed": { - "flake": false, - "locked": { - "lastModified": 1725758778, - "narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=", - "owner": "tinted-theming", - "repo": "base16-zed", - "rev": "122c9e5c0e6f27211361a04fae92df97940eccf9", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-zed", - "type": "github" - } - }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -2293,7 +1816,7 @@ }, "waybar": { "inputs": { - "flake-compat": "flake-compat_8", + "flake-compat": "flake-compat_6", "nixpkgs": [ "nixpkgs" ] @@ -2318,7 +1841,7 @@ "nixpkgs" ], "rust-overlay": "rust-overlay_2", - "systems": "systems_12" + "systems": "systems_11" }, "locked": { "lastModified": 1734445299, @@ -2377,16 +1900,16 @@ }, "yazi": { "inputs": { - "flake-utils": "flake-utils_7", - "nixpkgs": "nixpkgs_4", + "flake-utils": "flake-utils_6", + "nixpkgs": "nixpkgs_3", "rust-overlay": "rust-overlay_3" }, "locked": { - "lastModified": 1737827658, - "narHash": "sha256-cLVQN4nPiOgu9Guft1vMXphleoj2tm9eGJPiIeM8ZSU=", + "lastModified": 1738010151, + "narHash": "sha256-9kcGpfbl98SUrQT9Dj0TSj334LXSviGP1SI4P76QFYo=", "owner": "sxyazi", "repo": "yazi", - "rev": "da36cd6ab8b0207984e6755fcef5c7f05c415f28", + "rev": "c061397a09bb08e293317f5b93dc870d453af9ef", "type": "github" }, "original": { @@ -2397,19 +1920,19 @@ }, "zed-editor": { "inputs": { - "crane": "crane_3", - "flake-compat": "flake-compat_9", + "crane": "crane_2", + "flake-compat": "flake-compat_7", "nixpkgs": [ "nixpkgs" ], "rust-overlay": "rust-overlay_4" }, "locked": { - "lastModified": 1737934654, - "narHash": "sha256-Mjs79LFBuSUizZkVqvdpMjYuELk+ML5ZPeXy5EsNY0k=", + "lastModified": 1738098895, + "narHash": "sha256-jWN5w2+NcGktdF0JnzyMg+E8sFhYXALHx2r6NBjtk4Q=", "owner": "zed-industries", "repo": "zed", - "rev": "a6b1514246c2efeefde5ed0f1fb18aac5c7cc8b2", + "rev": "c4e6c619ba2295279b2c3f257a03b9ae5d07494f", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 8f37f55..09c3ffe 100755 --- a/flake.nix +++ b/flake.nix @@ -18,12 +18,6 @@ ghostty = { url = "github:ghostty-org/ghostty"; }; - nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic"; - edgedb = { - url = "github:edgedb/packages-nix"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.flake-parts.follows = "flake-parts"; - }; nur = { url = "github:nix-community/NUR"; inputs.nixpkgs.follows = "nixpkgs"; @@ -71,10 +65,6 @@ url = "github:zed-industries/zed"; inputs.nixpkgs.follows = "nixpkgs"; }; - stylix = { - url = "github:danth/stylix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; outputs = @@ -105,8 +95,15 @@ inputs.lix-module.nixosModules.default inputs.nur.modules.nixos.default inputs.sops-nix.nixosModules.sops - inputs.nixos-cosmic.nixosModules.default - inputs.stylix.nixosModules.stylix + ]; + fallaryn = inputs.self.lib.mkLinuxSystem [ + ./systems/fallaryn + ./profiles/user2 + config.nixosModules.personal + config.nixosModules.fallaryn + config.nixosModules.shared + inputs.home-manager.nixosModules.home-manager + inputs.lix-module.nixosModules.default ]; laptop = inputs.self.lib.mkLinuxSystem [ ./systems/laptop diff --git a/home/default.nix b/home/default.nix index 22f6f18..a2291f5 100755 --- a/home/default.nix +++ b/home/default.nix @@ -1,5 +1,5 @@ +{ config, ... }: let - # Recursively collect directories collectDirs = path: let @@ -7,14 +7,11 @@ let subdirs = builtins.filter (name: content.${name} == "directory") (builtins.attrNames content); buildPath = name: path + "/${name}"; - # Get immediate subdirectories thisDirs = map buildPath subdirs; - # Recursively get sub-subdirectories subDirs = builtins.concatMap collectDirs thisDirs; in [ path ] ++ subDirs; - # Import directories and their default.nix files directoryImport = path: builtins.listToAttrs ( @@ -24,32 +21,133 @@ let }) (collectDirs path) ); - # Create the modules attrset modules = directoryImport ./.; in { - flake.homeModules = { - desktop = { - imports = builtins.attrValues { - inherit (modules) - cli - gui - ; + flake.homeModules = + let + inherit (config.machines.devices) + desktop + fallaryn + laptop + server + ; + inherit (config.people) user0 user1 user2; + in + { + "${desktop.name}-${user0}" = { + imports = builtins.attrValues { + inherit (modules) + cli + brave + emulators + firefox + tor + code + gaming + media + messaging + sharing + tools + desktop + ; + }; + }; + "${desktop.name}-${user1}" = { + imports = builtins.attrValues { + inherit (modules) + cli + brave + ghostty + zed + gaming + spotify + docs + mpv + kolourPaint + discord + signal + scrcpy + bitwarden + emote + desktop + ; + }; + }; + "${fallaryn.name}-${user2}" = { + imports = builtins.attrValues { + inherit (modules) + cli + brave + firefoxNix + braveNix + code + ghostty + gaming + spotify + audioProduction + wpsOffice + obsidian + okular + images + modeling + obsStudio + kdenlive + videoPlaying + discord + signal + tdesktop + teams + whatsApp + zoom + tools + ; + }; + }; + "${laptop.name}-${user0}" = { + imports = builtins.attrValues { + inherit (modules) + cli + brave + emulators + firefox + tor + code + gaming + media + messaging + sharing + tools + ; + }; + }; + "${laptop.name}-${user1}" = { + imports = builtins.attrValues { + inherit (modules) + cli + brave + ghostty + zed + gaming + spotify + docs + mpv + kolourPaint + discord + signal + scrcpy + bitwarden + emote + desktop + ; + }; + }; + "${server.name}-${user0}" = { + imports = builtins.attrValues { + inherit (modules) + cli + ; + }; }; }; - laptop = { - imports = builtins.attrValues { - inherit (modules) - apps - ; - }; - }; - server = { - imports = builtins.attrValues { - inherit (modules) - cli - ; - }; - }; - }; } diff --git a/home/modules/cli/development/langauges/default.nix b/home/modules/cli/development/langaugeServers/default.nix similarity index 100% rename from home/modules/cli/development/langauges/default.nix rename to home/modules/cli/development/langaugeServers/default.nix diff --git a/home/modules/cli/shell/starship/config/settings.nix b/home/modules/cli/shell/starship/config/settings.nix index 7719708..65f373b 100755 --- a/home/modules/cli/shell/starship/config/settings.nix +++ b/home/modules/cli/shell/starship/config/settings.nix @@ -5,11 +5,11 @@ }: let inherit (flake.config.aesthetics.themes) - currentTheme + currentThemes palettes ; - el = palettes.${currentTheme}.colours; + el = palettes.${currentThemes.theme0}.colours; makeColor = c: "#" + c; makeStyle = bg: fg: "bg:" + bg + " fg:" + fg + " bold"; diff --git a/home/modules/cli/utilities/bottom/config/settings.nix b/home/modules/cli/utilities/bottom/config/settings.nix index ee77c7c..c6ee06e 100755 --- a/home/modules/cli/utilities/bottom/config/settings.nix +++ b/home/modules/cli/utilities/bottom/config/settings.nix @@ -1,11 +1,11 @@ { flake, ... }: let inherit (flake.config.aesthetics.themes) - currentTheme + currentThemes palettes ; - el = palettes.${currentTheme}.colours; + el = palettes.${currentThemes.theme0}.colours; in { colors = { diff --git a/home/modules/gui/apps/browsers/braveNix/default.nix b/home/modules/gui/apps/browsers/braveNix/default.nix new file mode 100644 index 0000000..0dfcccc --- /dev/null +++ b/home/modules/gui/apps/browsers/braveNix/default.nix @@ -0,0 +1,11 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + brave + ; + }; +} diff --git a/home/modules/gui/apps/browsers/firefox/default.nix b/home/modules/gui/apps/browsers/firefox/default.nix index 80cb8fc..0ee54ef 100755 --- a/home/modules/gui/apps/browsers/firefox/default.nix +++ b/home/modules/gui/apps/browsers/firefox/default.nix @@ -12,21 +12,9 @@ in programs.firefox = let configPath = ./config; - bookmarksPath = import (configPath + /bookmarks) { - inherit - flake - ; - }; - extensionsPath = import (configPath + /extensions) { - inherit - pkgs - ; - }; - searchPath = import (configPath + /search) { - inherit - flake - ; - }; + bookmarksPath = import (configPath + /bookmarks) { inherit flake; }; + extensionsPath = import (configPath + /extensions) { inherit pkgs; }; + searchPath = import (configPath + /search) { inherit flake; }; settingsPath = import (configPath + /settings); themesPath = import (configPath + /themes); in diff --git a/home/modules/gui/apps/browsers/firefoxNix/default.nix b/home/modules/gui/apps/browsers/firefoxNix/default.nix new file mode 100644 index 0000000..bc96b62 --- /dev/null +++ b/home/modules/gui/apps/browsers/firefoxNix/default.nix @@ -0,0 +1,11 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + firefox + ; + }; +} diff --git a/home/modules/gui/apps/code/vsCode/config/userSettings.nix b/home/modules/gui/apps/code/vsCode/config/userSettings.nix index 4b4789f..0b675e6 100755 --- a/home/modules/gui/apps/code/vsCode/config/userSettings.nix +++ b/home/modules/gui/apps/code/vsCode/config/userSettings.nix @@ -6,7 +6,7 @@ }: let inherit (flake.config.aesthetics.themes) - font + fonts ; in { @@ -26,9 +26,9 @@ in "elmLS.disableElmLSDiagnostics" = true; "elmLS.elmReviewDiagnostics" = "warning"; "editor.wordWrap" = "on"; - "editor.fontSize" = font.size.applications; - "editor.fontFamily" = "'${font.name}', 'monospace', monospace"; - "terminal.integrated.fontSize" = font.size.applications; - "terminal.integrated.fontFamily" = "'${font.name}', 'monospace', monospace"; + "editor.fontSize" = fonts.sizes.applications.size0; + "editor.fontFamily" = "'${fonts.names.name0}', 'monospace', monospace"; + "terminal.integrated.fontSize" = fonts.sizes.applications.size0; + "terminal.integrated.fontFamily" = "'${fonts.names.name0}', 'monospace', monospace"; "editor.fontLigatures" = true; } diff --git a/home/modules/gui/apps/code/zed/config/userSettings/config/interface/default.nix b/home/modules/gui/apps/code/zed/config/userSettings/config/interface/default.nix index c49ad95..f27a6a8 100755 --- a/home/modules/gui/apps/code/zed/config/userSettings/config/interface/default.nix +++ b/home/modules/gui/apps/code/zed/config/userSettings/config/interface/default.nix @@ -1,17 +1,17 @@ { flake, ... }: let inherit (flake.config.aesthetics.themes) - font + fonts ; in { - ui_font_family = font.name; - buffer_font_family = font.name; + ui_font_family = fonts.names.name0; + buffer_font_family = fonts.names.name0; hour_format = "hour12"; vim_mode = false; show_whitespaces = "none"; - ui_font_size = font.size.applications; - buffer_font_size = font.size.applications; + ui_font_size = fonts.sizes.applications.size0; + buffer_font_size = fonts.sizes.applications.size0; tab_size = 2; cursor_blink = true; theme = "Catppuccin Macchiato"; diff --git a/home/modules/gui/apps/code/zed/config/userSettings/config/terminal/default.nix b/home/modules/gui/apps/code/zed/config/userSettings/config/terminal/default.nix index 6ae46e1..d6204d0 100755 --- a/home/modules/gui/apps/code/zed/config/userSettings/config/terminal/default.nix +++ b/home/modules/gui/apps/code/zed/config/userSettings/config/terminal/default.nix @@ -1,7 +1,7 @@ { flake, ... }: let inherit (flake.config.aesthetics.themes) - font + fonts ; in { @@ -25,9 +25,9 @@ in TERM = "ghostty"; }; - font_family = font.name; + font_family = fonts.names.name0; font_features = null; - font_size = font.size.terminal; + font_size = fonts.sizes.terminal.size0; line_height = "comfortable"; option_as_meta = false; button = false; diff --git a/home/modules/gui/apps/code/zed/config/userSettings/config/theme/default.nix b/home/modules/gui/apps/code/zed/config/userSettings/config/theme/default.nix index b7cb85e..6eb11ac 100755 --- a/home/modules/gui/apps/code/zed/config/userSettings/config/theme/default.nix +++ b/home/modules/gui/apps/code/zed/config/userSettings/config/theme/default.nix @@ -1,11 +1,11 @@ { flake, ... }: let inherit (flake.config.aesthetics.themes) - currentTheme + currentThemes palettes ; - el = palettes.${currentTheme}.colours; + el = palettes.${currentThemes.theme0}.colours; in { accents = [ diff --git a/home/modules/gui/apps/code/zed/config/userSettings/default.nix b/home/modules/gui/apps/code/zed/config/userSettings/default.nix index 2c37cb9..347fd70 100755 --- a/home/modules/gui/apps/code/zed/config/userSettings/default.nix +++ b/home/modules/gui/apps/code/zed/config/userSettings/default.nix @@ -6,37 +6,14 @@ }: let configPath = ./config; - assistantPath = import (configPath + /assistant) { - inherit - flake - ; - }; - - interfacePath = import (configPath + /interface) { - inherit - flake - ; - }; + assistantPath = import (configPath + /assistant) { inherit flake; }; + interfacePath = import (configPath + /interface) { inherit flake; }; languagesPath = import (configPath + /languages); lspPath = import (configPath + /lsp); - terminalPath = import (configPath + /terminal) { - inherit - flake - ; - }; - - experimentalPath = import (configPath + /theme) { - inherit - flake - ; - }; + terminalPath = import (configPath + /terminal) { inherit flake; }; + experimentalPath = import (configPath + /theme) { inherit flake; }; gitPath = import (configPath + /git); - miscPath = import (configPath + /misc) { - inherit - lib - pkgs - ; - }; + miscPath = import (configPath + /misc) { inherit lib pkgs; }; in { git = gitPath; diff --git a/home/modules/gui/apps/code/zed/default.nix b/home/modules/gui/apps/code/zed/default.nix index f561be5..7808131 100755 --- a/home/modules/gui/apps/code/zed/default.nix +++ b/home/modules/gui/apps/code/zed/default.nix @@ -8,18 +8,8 @@ let configPath = ./config; extensionsPath = import (configPath + /extensions); userKeymapsPath = import (configPath + /userKeymaps); - userSettingsPath = import (configPath + /userSettings) { - inherit - flake - lib - pkgs - ; - }; - extraPackagesPath = import (configPath + /extraPackages) { - inherit - pkgs - ; - }; + userSettingsPath = import (configPath + /userSettings) { inherit flake lib pkgs; }; + extraPackagesPath = import (configPath + /extraPackages) { inherit pkgs; }; packagePath = flake.inputs.zed-editor.packages.${pkgs.system}.default; in { diff --git a/home/modules/gui/apps/media/audio/audioEditing/metadata/default.nix b/home/modules/gui/apps/emulators/default.nix similarity index 100% rename from home/modules/gui/apps/media/audio/audioEditing/metadata/default.nix rename to home/modules/gui/apps/emulators/default.nix diff --git a/home/modules/gui/apps/terminal/ghostty/config/settings.nix b/home/modules/gui/apps/emulators/ghostty/config/settings.nix similarity index 78% rename from home/modules/gui/apps/terminal/ghostty/config/settings.nix rename to home/modules/gui/apps/emulators/ghostty/config/settings.nix index 6eaea79..c342831 100755 --- a/home/modules/gui/apps/terminal/ghostty/config/settings.nix +++ b/home/modules/gui/apps/emulators/ghostty/config/settings.nix @@ -5,14 +5,14 @@ }: let inherit (flake.config.aesthetics.themes) - font + fonts ; in { confirm-close-surface = false; window-decoration = false; - font-size = font.size.terminal; - font-family = font.name; + font-size = fonts.sizes.terminal.size0; + font-family = fonts.names.name0; window-padding-x = 10; window-padding-y = 10; copy-on-select = true; diff --git a/home/modules/gui/apps/terminal/ghostty/config/themes.nix b/home/modules/gui/apps/emulators/ghostty/config/themes.nix similarity index 90% rename from home/modules/gui/apps/terminal/ghostty/config/themes.nix rename to home/modules/gui/apps/emulators/ghostty/config/themes.nix index e66deb2..75332a3 100755 --- a/home/modules/gui/apps/terminal/ghostty/config/themes.nix +++ b/home/modules/gui/apps/emulators/ghostty/config/themes.nix @@ -1,11 +1,11 @@ { flake, ... }: let inherit (flake.config.aesthetics.themes) - currentTheme + currentThemes palettes ; - el = palettes.${currentTheme}.colours; + el = palettes.${currentThemes.theme0}.colours; in { theme = { diff --git a/home/modules/gui/apps/terminal/ghostty/default.nix b/home/modules/gui/apps/emulators/ghostty/default.nix similarity index 100% rename from home/modules/gui/apps/terminal/ghostty/default.nix rename to home/modules/gui/apps/emulators/ghostty/default.nix diff --git a/home/modules/gui/apps/terminal/kitty/default.nix b/home/modules/gui/apps/emulators/kitty/default.nix similarity index 69% rename from home/modules/gui/apps/terminal/kitty/default.nix rename to home/modules/gui/apps/emulators/kitty/default.nix index 9209a4b..9d9f3b8 100755 --- a/home/modules/gui/apps/terminal/kitty/default.nix +++ b/home/modules/gui/apps/emulators/kitty/default.nix @@ -4,15 +4,15 @@ }: let inherit (flake.config.aesthetics.themes) - font + fonts ; in { programs.kitty = { enable = true; font = { - name = font.name; - size = font.size.terminal; + name = fonts.names.name0; + size = fonts.sizes.terminal.size0; }; themeFile = "Catppuccin-Macchiato"; }; diff --git a/home/modules/gui/apps/terminal/wezterm/config/extraConfig.nix b/home/modules/gui/apps/emulators/wezterm/config/extraConfig.nix similarity index 71% rename from home/modules/gui/apps/terminal/wezterm/config/extraConfig.nix rename to home/modules/gui/apps/emulators/wezterm/config/extraConfig.nix index 39be657..2651819 100755 --- a/home/modules/gui/apps/terminal/wezterm/config/extraConfig.nix +++ b/home/modules/gui/apps/emulators/wezterm/config/extraConfig.nix @@ -1,14 +1,14 @@ { flake, ... }: let inherit (flake.config.aesthetics.themes) - font + fonts ; in '' return { color_scheme = "Catppuccin Macchiato", - font_size = ${builtins.toString font.size.terminal}, - font = wezterm.font('${font.name}'), + font_size = ${builtins.toString fonts.sizes.terminal.size0}, + font = wezterm.font('${fonts.names.name0}'), enable_tab_bar = false, window_close_confirmation = 'NeverPrompt', term = 'wezterm', diff --git a/home/modules/gui/apps/terminal/wezterm/default.nix b/home/modules/gui/apps/emulators/wezterm/default.nix similarity index 100% rename from home/modules/gui/apps/terminal/wezterm/default.nix rename to home/modules/gui/apps/emulators/wezterm/default.nix diff --git a/home/modules/gui/apps/media/audio/audioEditing/audioMetadata/beets/default.nix b/home/modules/gui/apps/media/audio/audioEditing/audioMetadata/beets/default.nix new file mode 100644 index 0000000..6358470 --- /dev/null +++ b/home/modules/gui/apps/media/audio/audioEditing/audioMetadata/beets/default.nix @@ -0,0 +1,11 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + beets + ; + }; +} diff --git a/home/modules/gui/apps/media/audio/audioEditing/production/default.nix b/home/modules/gui/apps/media/audio/audioEditing/audioMetadata/default.nix similarity index 100% rename from home/modules/gui/apps/media/audio/audioEditing/production/default.nix rename to home/modules/gui/apps/media/audio/audioEditing/audioMetadata/default.nix diff --git a/home/modules/gui/apps/media/audio/audioEditing/metadata/kid3/default.nix b/home/modules/gui/apps/media/audio/audioEditing/audioMetadata/kid3/default.nix similarity index 100% rename from home/modules/gui/apps/media/audio/audioEditing/metadata/kid3/default.nix rename to home/modules/gui/apps/media/audio/audioEditing/audioMetadata/kid3/default.nix diff --git a/home/modules/gui/apps/media/audio/audioEditing/metadata/mp3Gain/default.nix b/home/modules/gui/apps/media/audio/audioEditing/audioMetadata/mp3Gain/default.nix similarity index 100% rename from home/modules/gui/apps/media/audio/audioEditing/metadata/mp3Gain/default.nix rename to home/modules/gui/apps/media/audio/audioEditing/audioMetadata/mp3Gain/default.nix diff --git a/home/modules/gui/apps/media/audio/audioEditing/metadata/puddleTag/default.nix b/home/modules/gui/apps/media/audio/audioEditing/audioMetadata/puddleTag/default.nix similarity index 100% rename from home/modules/gui/apps/media/audio/audioEditing/metadata/puddleTag/default.nix rename to home/modules/gui/apps/media/audio/audioEditing/audioMetadata/puddleTag/default.nix diff --git a/home/modules/gui/apps/media/doc/default.nix b/home/modules/gui/apps/media/audio/audioEditing/audioProduction/default.nix similarity index 100% rename from home/modules/gui/apps/media/doc/default.nix rename to home/modules/gui/apps/media/audio/audioEditing/audioProduction/default.nix diff --git a/home/modules/gui/apps/media/audio/audioEditing/production/reaper/default.nix b/home/modules/gui/apps/media/audio/audioEditing/audioProduction/reaper/default.nix similarity index 100% rename from home/modules/gui/apps/media/audio/audioEditing/production/reaper/default.nix rename to home/modules/gui/apps/media/audio/audioEditing/audioProduction/reaper/default.nix diff --git a/home/modules/gui/apps/media/doc/docEditing/default.nix b/home/modules/gui/apps/media/docs/default.nix similarity index 100% rename from home/modules/gui/apps/media/doc/docEditing/default.nix rename to home/modules/gui/apps/media/docs/default.nix diff --git a/home/modules/gui/apps/media/doc/docViewing/default.nix b/home/modules/gui/apps/media/docs/docEditing/default.nix similarity index 100% rename from home/modules/gui/apps/media/doc/docViewing/default.nix rename to home/modules/gui/apps/media/docs/docEditing/default.nix diff --git a/home/modules/gui/apps/media/doc/docEditing/libreOffice/default.nix b/home/modules/gui/apps/media/docs/docEditing/libreOffice/default.nix similarity index 100% rename from home/modules/gui/apps/media/doc/docEditing/libreOffice/default.nix rename to home/modules/gui/apps/media/docs/docEditing/libreOffice/default.nix diff --git a/home/modules/gui/apps/media/doc/docEditing/logseq/default.nix b/home/modules/gui/apps/media/docs/docEditing/logseq/default.nix similarity index 100% rename from home/modules/gui/apps/media/doc/docEditing/logseq/default.nix rename to home/modules/gui/apps/media/docs/docEditing/logseq/default.nix diff --git a/home/modules/gui/apps/media/doc/docEditing/obsidian/default.nix b/home/modules/gui/apps/media/docs/docEditing/obsidian/default.nix similarity index 100% rename from home/modules/gui/apps/media/doc/docEditing/obsidian/default.nix rename to home/modules/gui/apps/media/docs/docEditing/obsidian/default.nix diff --git a/home/modules/gui/apps/media/doc/docEditing/wpsOffice/default.nix b/home/modules/gui/apps/media/docs/docEditing/wpsOffice/default.nix similarity index 100% rename from home/modules/gui/apps/media/doc/docEditing/wpsOffice/default.nix rename to home/modules/gui/apps/media/docs/docEditing/wpsOffice/default.nix diff --git a/home/modules/gui/apps/terminal/default.nix b/home/modules/gui/apps/media/docs/docViewing/default.nix similarity index 100% rename from home/modules/gui/apps/terminal/default.nix rename to home/modules/gui/apps/media/docs/docViewing/default.nix diff --git a/home/modules/gui/apps/media/doc/docViewing/okular/default.nix b/home/modules/gui/apps/media/docs/docViewing/okular/default.nix similarity index 100% rename from home/modules/gui/apps/media/doc/docViewing/okular/default.nix rename to home/modules/gui/apps/media/docs/docViewing/okular/default.nix diff --git a/home/modules/gui/apps/media/images/imageEditing/blender/default.nix b/home/modules/gui/apps/media/images/imageEditing/blender/default.nix new file mode 100644 index 0000000..2a4952a --- /dev/null +++ b/home/modules/gui/apps/media/images/imageEditing/blender/default.nix @@ -0,0 +1,11 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + blender + ; + }; +} diff --git a/home/modules/gui/apps/media/images/imageEditing/darktable/default.nix b/home/modules/gui/apps/media/images/imageEditing/darktable/default.nix new file mode 100644 index 0000000..22f8da7 --- /dev/null +++ b/home/modules/gui/apps/media/images/imageEditing/darktable/default.nix @@ -0,0 +1,11 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + darktable + ; + }; +} diff --git a/home/modules/gui/apps/media/images/imageEditing/gimp/default.nix b/home/modules/gui/apps/media/images/imageEditing/gimp/default.nix new file mode 100644 index 0000000..b5d58a8 --- /dev/null +++ b/home/modules/gui/apps/media/images/imageEditing/gimp/default.nix @@ -0,0 +1,11 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + gimp + ; + }; +} diff --git a/home/modules/gui/apps/media/modeling/blender/default.nix b/home/modules/gui/apps/media/modeling/blender/default.nix new file mode 100644 index 0000000..2a4952a --- /dev/null +++ b/home/modules/gui/apps/media/modeling/blender/default.nix @@ -0,0 +1,11 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + blender + ; + }; +} diff --git a/home/modules/gui/apps/media/modeling/default.nix b/home/modules/gui/apps/media/modeling/default.nix new file mode 100755 index 0000000..f106bc5 --- /dev/null +++ b/home/modules/gui/apps/media/modeling/default.nix @@ -0,0 +1,10 @@ +let + content = builtins.readDir ./.; + + dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content); + + importList = map (name: ./. + "/${name}") dirContent; +in +{ + imports = importList; +} diff --git a/home/modules/gui/apps/media/modeling/sweetHome/default.nix b/home/modules/gui/apps/media/modeling/sweetHome/default.nix new file mode 100644 index 0000000..7093e56 --- /dev/null +++ b/home/modules/gui/apps/media/modeling/sweetHome/default.nix @@ -0,0 +1,11 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs.sweethome3d) + application + ; + }; +} diff --git a/home/modules/gui/apps/media/video/videoEditing/kdenlive/default.nix b/home/modules/gui/apps/media/video/videoEditing/kdenlive/default.nix index e14d341..8d2b2eb 100755 --- a/home/modules/gui/apps/media/video/videoEditing/kdenlive/default.nix +++ b/home/modules/gui/apps/media/video/videoEditing/kdenlive/default.nix @@ -7,5 +7,8 @@ inherit (pkgs.kdePackages) kdenlive ; + inherit (pkgs) + glaxnimate + ; }; } diff --git a/home/modules/gui/apps/messaging/tdesktop/default.nix b/home/modules/gui/apps/messaging/tdesktop/default.nix new file mode 100644 index 0000000..2b74ab4 --- /dev/null +++ b/home/modules/gui/apps/messaging/tdesktop/default.nix @@ -0,0 +1,11 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + tdesktop + ; + }; +} diff --git a/home/modules/gui/apps/messaging/whatsApp/default.nix b/home/modules/gui/apps/messaging/whatsApp/default.nix new file mode 100644 index 0000000..2ce246e --- /dev/null +++ b/home/modules/gui/apps/messaging/whatsApp/default.nix @@ -0,0 +1,11 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + whatsapp-for-linux + ; + }; +} diff --git a/home/modules/gui/apps/messaging/zoom/default.nix b/home/modules/gui/apps/messaging/zoom/default.nix new file mode 100644 index 0000000..abdff76 --- /dev/null +++ b/home/modules/gui/apps/messaging/zoom/default.nix @@ -0,0 +1,11 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + zoom-us + ; + }; +} diff --git a/home/modules/gui/apps/tools/celeste/default.nix b/home/modules/gui/apps/tools/celeste/default.nix new file mode 100644 index 0000000..bac5161 --- /dev/null +++ b/home/modules/gui/apps/tools/celeste/default.nix @@ -0,0 +1,11 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + celeste + ; + }; +} diff --git a/home/modules/gui/apps/tools/droidCam/default.nix b/home/modules/gui/apps/tools/droidCam/default.nix new file mode 100644 index 0000000..3e5bb44 --- /dev/null +++ b/home/modules/gui/apps/tools/droidCam/default.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + droidcam + ; + }; +} diff --git a/home/modules/gui/apps/tools/openRgb/default.nix b/home/modules/gui/apps/tools/openRgb/default.nix new file mode 100644 index 0000000..e46f112 --- /dev/null +++ b/home/modules/gui/apps/tools/openRgb/default.nix @@ -0,0 +1,12 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + openrgb + ; + + }; +} diff --git a/home/modules/gui/apps/tools/openTablet/default.nix b/home/modules/gui/apps/tools/openTablet/default.nix new file mode 100644 index 0000000..0be1061 --- /dev/null +++ b/home/modules/gui/apps/tools/openTablet/default.nix @@ -0,0 +1,12 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + opentabletdriver + ; + + }; +} diff --git a/home/modules/gui/apps/tools/synologyDrive/default.nix b/home/modules/gui/apps/tools/synologyDrive/default.nix new file mode 100644 index 0000000..491f7ca --- /dev/null +++ b/home/modules/gui/apps/tools/synologyDrive/default.nix @@ -0,0 +1,11 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + synology-drive-client + ; + }; +} diff --git a/home/modules/gui/apps/tools/virtManager/default.nix b/home/modules/gui/apps/tools/virtManager/default.nix new file mode 100644 index 0000000..ad92f33 --- /dev/null +++ b/home/modules/gui/apps/tools/virtManager/default.nix @@ -0,0 +1,11 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + virt-manager + ; + }; +} diff --git a/home/modules/gui/desktop/catppuccin/default.nix b/home/modules/gui/desktop/catppuccin/default.nix new file mode 100644 index 0000000..b79eb74 --- /dev/null +++ b/home/modules/gui/desktop/catppuccin/default.nix @@ -0,0 +1,12 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + catppuccin + catppuccin-gtk + ; + }; +} diff --git a/home/modules/gui/desktop/dunst/config/settings.nix b/home/modules/gui/desktop/dunst/config/settings.nix index 28fa781..c44092a 100755 --- a/home/modules/gui/desktop/dunst/config/settings.nix +++ b/home/modules/gui/desktop/dunst/config/settings.nix @@ -2,18 +2,18 @@ let inherit (flake.config.aesthetics.themes) - currentTheme + currentThemes palettes - font + fonts ; - el = palettes.${currentTheme}.colours; + el = palettes.${currentThemes.theme0}.colours; makeColor = c: "#" + c; in { global = { - font = "${font.name} ${builtins.toString font.size.popups}"; + font = "${fonts.names.name0} ${builtins.toString fonts.sizes.popups.size0}"; background = makeColor el.base01; frame_color = makeColor el.base0E; foreground = makeColor el.base05; diff --git a/home/modules/gui/desktop/hyprland/config/exec-once.nix b/home/modules/gui/desktop/hyprland/config/exec-once.nix index 22ff944..14a0347 100755 --- a/home/modules/gui/desktop/hyprland/config/exec-once.nix +++ b/home/modules/gui/desktop/hyprland/config/exec-once.nix @@ -21,7 +21,7 @@ in "flameshot" "pactl set-default-sink bluez_output.00_16_94_35_0D_5F.1" "pactl set-default-source alsa_input.usb-Focusrite_Scarlett_2i2_USB_Y818KFJ0C671CE-00.HiFi__Mic1__source" - "gsettings set org.blueman.plugins.powermanager auto-power-on true" + "bluetoothctl power on" "gsettings set org.gnome.desktop.interface cursor-theme 'catppuccin-mocha-dark-cursors'" "gsettings set org.gnome.desktop.interface cursor-size ${builtins.toString cursor.size}" ] diff --git a/home/modules/gui/desktop/hyprland/config/general.nix b/home/modules/gui/desktop/hyprland/config/general.nix index 7d9746e..b38a8c4 100755 --- a/home/modules/gui/desktop/hyprland/config/general.nix +++ b/home/modules/gui/desktop/hyprland/config/general.nix @@ -2,11 +2,11 @@ let inherit (flake.config.aesthetics.themes) - currentTheme + currentThemes palettes ; - el = palettes.${currentTheme}.colours; + el = palettes.${currentThemes.theme0}.colours; in { gaps_in = 5; diff --git a/home/modules/gui/desktop/swaylock/config/settings.nix b/home/modules/gui/desktop/swaylock/config/settings.nix index 9b7be55..cb17baf 100755 --- a/home/modules/gui/desktop/swaylock/config/settings.nix +++ b/home/modules/gui/desktop/swaylock/config/settings.nix @@ -1,16 +1,16 @@ { flake, ... }: let inherit (flake.config.aesthetics.themes) - currentTheme + currentThemes palettes - font + fonts ; - el = palettes.${currentTheme}.colours; + el = palettes.${currentThemes.theme0}.colours; in { - font = font.name; - font-size = font.size.desktop; + font = fonts.names.name0; + font-size = fonts.sizes.desktop.size0; indicator-idle-visible = true; indicator-radius = 100; indicator-thickness = 20; diff --git a/home/modules/gui/desktop/tofi/config/settings.nix b/home/modules/gui/desktop/tofi/config/settings.nix index 4c929b0..5807dd8 100755 --- a/home/modules/gui/desktop/tofi/config/settings.nix +++ b/home/modules/gui/desktop/tofi/config/settings.nix @@ -1,15 +1,15 @@ { flake, ... }: let inherit (flake.config.aesthetics.themes) - currentTheme + currentThemes palettes - font + fonts ; - el = palettes.${currentTheme}.colours; + el = palettes.${currentThemes.theme0}.colours; in { - font-size = font.size.desktop; + font-size = fonts.sizes.desktop.size0; hint-font = true; background-color = "#${el.base02}"; outline-color = "#${el.base0E}"; diff --git a/home/modules/gui/desktop/waybar/config/style.nix b/home/modules/gui/desktop/waybar/config/style.nix index 762f31e..2b0f359 100755 --- a/home/modules/gui/desktop/waybar/config/style.nix +++ b/home/modules/gui/desktop/waybar/config/style.nix @@ -2,16 +2,16 @@ let inherit (flake.config.aesthetics.themes) - currentTheme + currentThemes palettes - font + fonts ; - el = palettes.${currentTheme}.colours; + el = palettes.${currentThemes.theme0}.colours; custom = { - font = font.name; - font_size = "${builtins.toString font.size.desktop}px"; + font = fonts.names.name0; + font_size = "${builtins.toString fonts.sizes.desktop.size0}px"; font_weight = "bold"; opacityBg = "0.90"; opacityBt = "1"; diff --git a/nixos/default.nix b/nixos/default.nix index 7a04a50..b872802 100755 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -60,9 +60,16 @@ in inherit (modules) syncthing ollama - # hledger - # plasma - # sddm + ; + }; + }; + + fallaryn = { + imports = builtins.attrValues { + inherit (modules) + tablet + plasma + sddm ; }; }; diff --git a/nixos/modules/edgedb.nix b/nixos/modules/edgedb.nix deleted file mode 100755 index 92c1592..0000000 --- a/nixos/modules/edgedb.nix +++ /dev/null @@ -1,80 +0,0 @@ -{ - # inputs, - # lib, - # pkgs, - # ... - # }: let - # bootstrap-server = pkgs.writeText "bootstrap.edgesql" '' - # ALTER ROLE edgedb SET password := "test"; - # ''; - - # edgedb-server = inputs.edgedb.packages."x86_64-linux".edgedb-server-5_0_beta; - # working-dir = "/var/lib/edgedb"; - # in { - # environment.systemPackages = [ - # pkgs.edgedb - # ]; - - # # system.activationScripts = { - # # edgedb-data-dir = { - # # text = '' - # # install -d -m 0750 -o edgedb -g edgedb ${working-dir} - # # ''; - # # }; - # # }; - - # systemd.services = { - # "edgedb@" = { - # enable = true; - # after = ["network.target" "syslog.target"]; - # description = "EdgeDB Database Service, instance %i"; - # documentation = ["https://edgedb.com"]; - # path = [edgedb-server]; - # reload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - # script = '' - # ${lib.getExe' edgedb-server "edgedb-server"} \ - # --data-dir=${working-dir}/$1 \ - # --disable-dynamic-system-config \ - # --emit-server-status=${working-dir}/$1/status.json \ - # --instance-name=$1 \ - # --security=insecure_dev_mode \ - # --tls-cert-mode=generate_self_signed \ - # --admin-ui=enabled - # ''; - # scriptArgs = "%i"; - # serviceConfig = { - # Type = "simple"; - # User = "edgedb"; - # Group = "edgedb"; - # KillMode = "mixed"; - # TimeoutSec = 0; - # ExecStartPre = '' - # ${lib.getExe' edgedb-server "edgedb-server"} \ - # --data-dir=${working-dir}/%i \ - # --instance-name=%i \ - # --disable-dynamic-system-config \ - # --bootstrap-only \ - # --bootstrap-command-file=${bootstrap-server} - # ''; - # }; - # }; - # "edgedb@test" = { - # enable = true; - # environment = { - # EDGEDB_DEBUG_HTTP_INJECT_CORS = "1"; - # }; - # overrideStrategy = "asDropin"; - # }; - # }; - - # users.groups.edgedb = {}; - - # users.users.edgedb = { - # group = "edgedb"; - # description = "EdgeDB Server"; - # isSystemUser = true; - # packages = [ - # edgedb-server - # ]; - # }; -} diff --git a/nixos/modules/fonts.nix b/nixos/modules/fonts.nix index 3f2a0c3..d6a2047 100755 --- a/nixos/modules/fonts.nix +++ b/nixos/modules/fonts.nix @@ -5,7 +5,7 @@ }: let inherit (flake.config.aesthetics.themes) - font + fonts ; in { @@ -14,13 +14,13 @@ in enable = true; defaultFonts = { serif = [ - font.name + fonts.names.name0 ]; monospace = [ - font.name + fonts.names.name0 ]; sansSerif = [ - font.name + fonts.names.name0 ]; emoji = [ "Noto Fonts Color Emoji" diff --git a/nixos/modules/hyprland/regreet.nix b/nixos/modules/hyprland/regreet.nix index 2e717c6..a5351e6 100755 --- a/nixos/modules/hyprland/regreet.nix +++ b/nixos/modules/hyprland/regreet.nix @@ -6,7 +6,7 @@ }: let inherit (flake.config.aesthetics.themes) - font + fonts ; in { @@ -20,7 +20,7 @@ in # GTK = { # application_prefer_dark_theme = true; # cursor_theme_name = lib.mkForce "catppuccin-macchiato-dark-cursors"; - # font_name = lib.mkForce "${font.name} ${font.size.desktop}"; + # font_name = lib.mkForce "${fonts.names.name0} ${font.size.desktop}"; # icon_theme_name = lib.mkForce "Papirus-Dark"; # theme_name = lib.mkForce "catppuccin-macchiato-mauve-compact"; # }; diff --git a/nixos/modules/printing.nix b/nixos/modules/printing.nix index 5b158df..d5d17c5 100755 --- a/nixos/modules/printing.nix +++ b/nixos/modules/printing.nix @@ -1,36 +1,51 @@ -{flake, ...}: let - inherit - (flake.config.machines.devices) +{ + flake, + pkgs, + ... +}: +let + inherit (flake.config.machines.devices) printer0 printer1 ; genericPPD = "drv:///sample.drv/generic.ppd"; pageSize = "Letter"; -in { - hardware.printers = { - ensurePrinters = [ - { - name = printer0.label; - location = "Downstairs"; - deviceUri = "https://${printer0.ip.address0}"; - model = genericPPD; - ppdOptions = { - PageSize = pageSize; - }; - } - { - name = printer1.label; - location = "Upstairs"; - deviceUri = "https://${printer1.ip.address0}"; - model = genericPPD; - ppdOptions = { - PageSize = pageSize; - }; - } - ]; - ensureDefaultPrinter = printer1.label; +in +{ + services = { + printing = { + enable = true; + drivers = with pkgs; [ + brlaser + cups-brother-hll2375dw + ]; + }; }; + # hardware.printers = { + # ensurePrinters = [ + # { + # name = printer0.label; + # location = "Downstairs"; + # deviceUri = "https://${printer0.ip.address0}"; + # model = genericPPD; + # ppdOptions = { + # PageSize = pageSize; + # }; + # } + # { + # name = printer1.label; + # location = "Upstairs"; + # deviceUri = "https://${printer1.ip.address0}"; + # model = genericPPD; + # ppdOptions = { + # PageSize = pageSize; + # }; + # } + # ]; + # ensureDefaultPrinter = printer1.label; + # }; + networking = { firewall = { allowedTCPPorts = [ diff --git a/nixos/modules/syncthing.nix b/nixos/modules/syncthing.nix index 70a051a..3342c08 100755 --- a/nixos/modules/syncthing.nix +++ b/nixos/modules/syncthing.nix @@ -1,18 +1,18 @@ -{flake, ...}: let - inherit - (flake.config.machines.devices) +{ flake, ... }: +let + inherit (flake.config.machines.devices) synology phone tablet ; - inherit - (flake.config.services.instances) + inherit (flake.config.services.instances) syncthing web ; service = syncthing; localhost = web.localhost.address0; -in { +in +{ services = { syncthing = { enable = true; @@ -29,7 +29,7 @@ in { addresses = [ "tcp://${synology.ip.address0}:${toString service.ports.port2}" ]; - id = synology.sync; + id = synology.sync.address0; }; ${phone.name} = { autoAcceptFolders = true; @@ -37,7 +37,7 @@ in { addresses = [ "tcp://${phone.ip.address0}:${toString service.ports.port2}" ]; - id = phone.sync; + id = phone.sync.address0; }; ${tablet.name} = { autoAcceptFolders = true; @@ -45,7 +45,7 @@ in { addresses = [ "tcp://${tablet.ip.address0}:${toString service.ports.port2}" ]; - id = tablet.sync; + id = tablet.sync.address0; }; }; }; diff --git a/nixos/modules/tablet.nix b/nixos/modules/tablet.nix new file mode 100644 index 0000000..d4cae11 --- /dev/null +++ b/nixos/modules/tablet.nix @@ -0,0 +1,6 @@ +{ + hardware.opentabletdriver = { + enable = true; + daemon.enable = true; + }; +} diff --git a/profiles/user0/configs/desktop.nix b/profiles/user0/configs/desktop.nix deleted file mode 100755 index 2343ebd..0000000 --- a/profiles/user0/configs/desktop.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ flake, ... }: -let - inherit (flake) - self - ; - - moduleImports = map (module: self.homeModules.${module}) [ - "desktop" - ]; -in -{ - imports = moduleImports; -} diff --git a/profiles/user0/configs/laptop.nix b/profiles/user0/configs/laptop.nix deleted file mode 100755 index 2343ebd..0000000 --- a/profiles/user0/configs/laptop.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ flake, ... }: -let - inherit (flake) - self - ; - - moduleImports = map (module: self.homeModules.${module}) [ - "desktop" - ]; -in -{ - imports = moduleImports; -} diff --git a/profiles/user0/configs/server.nix b/profiles/user0/configs/server.nix deleted file mode 100755 index f0a02a7..0000000 --- a/profiles/user0/configs/server.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ flake, ... }: -let - inherit (flake) - self - ; - - moduleImports = map (module: self.homeModules.${module}) [ - "server" - ]; -in -{ - imports = moduleImports; -} diff --git a/profiles/user0/default.nix b/profiles/user0/default.nix index 9b65248..3cb299b 100755 --- a/profiles/user0/default.nix +++ b/profiles/user0/default.nix @@ -6,14 +6,10 @@ ... }: let - inherit (flake.config.people) - user0 - ; - inherit (flake.config.people.users.${user0}) - name - paths - ; - + inherit (flake) self; + inherit (flake.config.people) user0; + inherit (flake.config.machines) devices; + inherit (flake.config.people.users.${user0}) name paths; hostname = config.networking.hostName; in { @@ -74,7 +70,11 @@ in { home.stateVersion = config.system.stateVersion; } - (import ./configs/${hostname}.nix { flake = flake; }) + { + imports = [ + self.homeModules."${devices.${hostname}.name}-${user0}" + ]; + } ]; }; }; @@ -107,14 +107,4 @@ in "Videos" ]); }; - # system.activationScripts.zoxide = '' - # z /home/nick/Files/Projects/dotfiles - # z /home/nick/Files/Projects/website - # z /home/nick/Files/Projects/website/frontend - # z /home/nick/Downloads - # z /mnt/media/server/jellyfin/media - # z /mnt/media/storage - # z /mnt/media/synology/nick/Multimedia/Images/Assorted/Stuff - # z /mnt/media/synology/nick/Syncthing/Pixel - # ''; } diff --git a/profiles/user1/configs/desktop.nix b/profiles/user1/configs/desktop.nix deleted file mode 100755 index 2343ebd..0000000 --- a/profiles/user1/configs/desktop.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ flake, ... }: -let - inherit (flake) - self - ; - - moduleImports = map (module: self.homeModules.${module}) [ - "desktop" - ]; -in -{ - imports = moduleImports; -} diff --git a/profiles/user1/configs/laptop.nix b/profiles/user1/configs/laptop.nix deleted file mode 100755 index 2343ebd..0000000 --- a/profiles/user1/configs/laptop.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ flake, ... }: -let - inherit (flake) - self - ; - - moduleImports = map (module: self.homeModules.${module}) [ - "desktop" - ]; -in -{ - imports = moduleImports; -} diff --git a/profiles/user1/default.nix b/profiles/user1/default.nix index ad4b502..a74f2c9 100755 --- a/profiles/user1/default.nix +++ b/profiles/user1/default.nix @@ -3,18 +3,15 @@ flake, pkgs, ... -}: let - inherit - (flake.config.people) - user1 - ; - inherit - (flake.config.people.users.${user1}) - name - ; - +}: +let + inherit (flake) self; + inherit (flake.config.people) user1; + inherit (flake.config.machines) devices; + inherit (flake.config.people.users.${user1}) name; hostname = config.networking.hostName; -in { +in +{ users = { users.${user1} = { description = name; @@ -41,15 +38,17 @@ in { source = ./files/justfile; }; }; - sessionVariables = {}; + sessionVariables = { }; }; imports = [ { home.stateVersion = config.system.stateVersion; } - ( - import ./configs/${hostname}.nix {flake = flake;} - ) + { + imports = [ + self.homeModules."${devices.${hostname}.name}-${user1}" + ]; + } ]; }; }; diff --git a/profiles/user2/default.nix b/profiles/user2/default.nix new file mode 100644 index 0000000..a553dc3 --- /dev/null +++ b/profiles/user2/default.nix @@ -0,0 +1,88 @@ +{ + config, + flake, + pkgs, + ... +}: +let + inherit (flake) self; + inherit (flake.config.people) user2; + inherit (flake.config.machines) devices; + inherit (flake.config.people.user.${user2}) name paths; + hostname = config.networking.hostName; +in + +{ + users = { + users.${user2} = { + description = name; + isNormalUser = true; + shell = pkgs.nushell; + extraGroups = [ + "adbusers" + "disk" + "libvirtd" + "minecraft" + "netdev" + "networkmanager" + "ollama" + "syncthing" + "vboxusers" + "wheel" + ]; + }; + }; + home-manager.users = { + ${user2} = { + home = { + username = user2; + homeDirectory = "/home/${user2}"; + file = { + "./justfile" = { + source = ./files/justfile; + }; + }; + sessionVariables = { + WLR_NO_HARDWARE_CURSORS = "1"; + WLR_DRM_NO_ATOMIC = "1"; + VIDEO_PLAYER = "vlc"; + EDITOR = "vscode"; + NIXPKGS_ALLOW_INSECURE = "1"; + }; + }; + + imports = [ + { + home.stateVersion = config.system.stateVersion; + } + { + imports = [ + self.homeModules."${devices.${hostname}.name}-${user2}" + ]; + } + ]; + }; + }; + systemd.tmpfiles = + let + directoriesAddedToHome = [ + "Projects" + ]; + + directoriesRemovedFromHome = [ + "Music" + "Public" + "Templates" + ]; + in + { + rules = + [ + "d ${paths.path0}/Projects 0755 ${user2} users -" + "Z ${paths.path0}/.ssh 700 ${user2} users -" + ] + ++ (map (path: "d /home/${user2}/${path} 0755 ${user2} users -") directoriesAddedToHome) + ++ (map (path: "R /home/${user2}/${path} 0755 ${user2} users - -") directoriesRemovedFromHome); + }; + +} diff --git a/profiles/user2/files/firefox/userChrome.css b/profiles/user2/files/firefox/userChrome.css new file mode 100755 index 0000000..7ae6cc9 --- /dev/null +++ b/profiles/user2/files/firefox/userChrome.css @@ -0,0 +1,266 @@ +/** + * Decrease size of the sidebar header + */ +*, html, body, html body, :root, #sidebar, #sidebar-box, .sidebar-panel, #root.root, #PlacesToolbarItems .bookmark-item, #PlacesToolbarItems .tab-item, .sidebar-placesTreechildren::-moz-tree-cell-text, .sidebar-placesTreechildren, .form-control { + font: 7pt "Lucida Sans", Classica !important; + outline: 0px !important; + border: 0px !important; +} + +html, body, :root, #sidebar, #sidebar-box, .sidebar-panel, #root.root, #PlacesToolbarItems.bookmark-item, #PlacesToolbarItems.tab-item, .titlebar, .toolbar, #PlacesToolbar, #personal-bookmarks, #bookmarks-toolbar-button, #navigator-toolbox, #nav-bar, #library { + background-color: #1a1920 !important; + outline: 0px !important; + border: 0px !important; +} + +@-moz-document url-prefix("moz-extension://4bfeee63-c7b3-4bb9-a7df-a2c0fd73eec0") { + *, html, body, html body, #root, :root, .Tab .title, .main-items .nav-item .len { + font-size: 7pt !important; + font-family: "Lucida Sans", "Classica" !important; + --tabs-font: 7pt "Lucida Sans", "Classica" !important; + background-color: #1a1920 !important; + outline: 0px !important; + border: 0px !important; + } +} + +/* extension icons opacity and fade */ + +#nav-bar toolbarbutton { + filter: grayscale(100%) !important; + opacity: 0.3 !important; + transition: transform 200ms ease 0.5s, opacity 200ms ease 0.5s !important; +} + +#nav-bar toolbarbutton:hover { + filter: grayscale(0%) !important; + opacity: 1 !important; + transition-duration: 200ms !important; + transition-delay: 0s !important; +} + +#sidebar-header toolbarbutton { + filter: grayscale(100%) !important; + opacity: 0 !important; + transition: transform 200ms ease 0.5s, opacity 200ms ease 0.5s !important; + min-width:150px !important; + align: center !important; +} +#sidebar-header toolbarbutton:hover { + filter: grayscale(0%) !important; + opacity: 1 !important; + transition-duration: 200ms !important; + transition-delay: 0s !important; + min-width:150px !important; + align: center !important; +} + +.close-icon {width:0px !important;} + +/* --- */ + + +/* hide address bar bloat */ + #tracking-protection-icon-container { display: none; } + #identity-box { display: none; } + #reader-mode-button { display: none; } + #pageActionButton { display: none; } + #pocket-button { display: none; } + #star-button { display: none; } + #urlbar-zoom-button { display: none; } +/* --- */ + +/* Go to arrow button at the end of the urlbar when searching */ +#urlbar-go-button { display: none; } + +/* Bottom left page loading status or url preview */ +/* #statuspanel { display: none !important; } */ + + +/* hide address bar*/ + +/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/autohide_main_toolbar.css made available under Mozilla Public License v. 2.0 + S ee the above repository for updates as well as full license text. */ * + + /* This style hides the main toolbar and shows it when the cursor is over the tabs toolbar as well as whenever the focus is inside nav-bar, such as when urlbar is focused. */ + + :root{ --uc-navbar-transform: -40px } + :root[uidensity="compact"]{ --uc-navbar-transform: -4px } + + + #navigator-toolbox > div{ display: contents; } + :root[sessionrestored] :where(#nav-bar,#PersonalToolbar,#tab-notification-deck,.global-notificationbox){ + transform: translateY(var(--uc-navbar-transform)) + } + :root:is([customizing],[chromehidden*="toolbar"]) :where(#nav-bar,#PersonalToolbar,#tab-notification-deck,.global-notificationbox){ + transform: none !important; + opacity: 1 !important; + } + + #nav-bar, #nav-bar-customization-target { + height: 30px !important; + } + + #nav-bar-content, #nav-bar-content { + height: 20px !important; + margin-top: 4px !important; + } + + #urlbar { + width: 300px !important; + padding-left: 10px !important; + padding-right: -10px !important; + left: -50px !important; +} + + #nav-bar:not([customizing]){ + opacity: 0; + transition: transform 400ms ease 1.5s, opacity 400ms ease 1.5s !important; + position: relative; + z-index: 2; + } + #titlebar{ position: relative; z-index: 3 } + + /* Show when toolbox is focused, like when urlbar has received focus */ + #navigator-toolbox:focus-within > .browser-toolbar{ + transform: translateY(0); + opacity: 1; + transition-duration: 500ms, 200ms !important; + transition-delay: 0s !important; + } + /* Show when toolbox is hovered */ + #titlebar:hover ~ .browser-toolbar, + #nav-bar:hover, + #nav-bar:hover + #PersonalToolbar{ + transform: translateY(0); + opacity: 1; + transition-duration: 500ms, 200ms !important; + transition-delay: 0s !important; + } + /* This ruleset is separate, because not having :has support breaks other selectors as well */ + #mainPopupSet:has(> #appMenu-popup:hover) ~ #navigator-toolbox > .browser-toolbar{ + transition-delay: 33ms !important; + transform: translateY(0); + opacity: 1; + background-color: #1a1920 !important; + } + + /* Bookmarks toolbar needs so extra rules */ + #PersonalToolbar{ transition: transform 400ms ease 1.5s !important; position: relative; z-index: 1; background-color: #1a1920 !important; } + + /* Move up the content view */ + :root[sessionrestored]:not([inFullscreen],[chromehidden~="toolbar"]) > body > #browser{ margin-top: var(--uc-navbar-transform); } + +/* --- end hide --- */ + + + +#sidebar-header {color: #1a1920 !important; +font-size: 1.2em !important; +font-family: "Dumbledor 3", Times New Roman !important; +padding: 2px 6px 2px 3px !important; +} +#sidebar-header #sidebar-close { +padding: 3px !important; +} +#sidebar-header #sidebar-close .toolbarbutton-icon { +width: 0px !important; +height: 0px !important; +opacity: 0.6 !important; +} + +#TabsToolbar { +font-size: 0.8em !important; +font-family: "Troglodyte" !important; +display: none; +} + + +/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/autohide_sidebar.css made available under Mozilla Public License v. 2.0 + *See the above repository for updates as well as full license text. */ + +/* Show sidebar only when the cursor is over it */ +/* The border controlling sidebar width will be removed so you'll need to modify these values to change width */ + +#sidebar-box{ +--uc-sidebar-width: 30px; +--uc-sidebar-hover-width: 180px; +--uc-autohide-sidebar-delay: 600ms; /* Wait 0.6s before hiding sidebar */ +--uc-autohide-transition-duration: 115ms; +--uc-autohide-transition-type: linear; +position: relative; +min-width: var(--uc-sidebar-width) !important; +width: var(--uc-sidebar-width) !important; +max-width: var(--uc-sidebar-width) !important; +z-index:1; +} + +#sidebar-box[positionend]{ direction: rtl } +#sidebar-box[positionend] > *{ direction: ltr } + +#sidebar-box[positionend]:-moz-locale-dir(rtl){ direction: ltr } +#sidebar-box[positionend]:-moz-locale-dir(rtl) > *{ direction: rtl } + +#main-window[sizemode="fullscreen"] #sidebar-box{ --uc-sidebar-width: 1px; } + +#sidebar-splitter{ display: none } + +#sidebar-header{ +overflow: hidden; +color: var(--chrome-color, inherit) !important; +padding-inline: 0 !important; +} + +#sidebar-header::before, +#sidebar-header::after{ +content: ""; +display: flex; +padding-left: 8px; +} + +#sidebar-header, +#sidebar{ +transition: min-width var(--uc-autohide-transition-duration) var(--uc-autohide-transition-type) var(--uc-autohide-sidebar-delay) !important; +min-width: var(--uc-sidebar-width) !important; +will-change: min-width; +} +#sidebar-box:hover > #sidebar-header, +#sidebar-box:hover > #sidebar{ +min-width: var(--uc-sidebar-hover-width) !important; +transition-delay: 0ms !important; +} + +.sidebar-panel{ + background-color: transparent !important; + color: var(--newtab-text-primary-color) !important; +} + +.sidebar-panel #search-box{ + -moz-appearance: none !important; + background-color: rgba(249,249,250,0.1) !important; + color: inherit !important; +} + +/* Add sidebar divider and give it background */ + +#sidebar, +#sidebar-header{ +background-color: inherit !important; +border-inline: 1px solid rgb(80,80,80); +border-inline-width: 0px 1px; +} + +#sidebar-box:not([positionend]) > :-moz-locale-dir(rtl), +#sidebar-box[positionend] > *{ +border-inline-width: 1px 0px; +} + +/* Move statuspanel to the other side when sidebar is hovered so it doesn't get covered by sidebar */ + +#sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel{ +inset-inline: auto 0px !important; +} +#sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel-label{ +margin-inline: 0px !important; +border-left-style: solid !important; +} diff --git a/profiles/user2/files/firefox/userContent.css b/profiles/user2/files/firefox/userContent.css new file mode 100755 index 0000000..b6d02dc --- /dev/null +++ b/profiles/user2/files/firefox/userContent.css @@ -0,0 +1,126 @@ +/* home page edits */ + +@-moz-document url("about:home"), url("about:newtab"){ + html, body, #root, input { + background-color: #1a1920 !important; + } + + * { /* this is where I enforce the font everywhere */ + font-size: 8pt !important; + font-family: "Lucida Grande", "Classica" !important; + line-height: 9pt !important; + } /* so that my sidebar tabs aren't fucking HUGE */ + + .collapsible-section.ds-layout { + max-height: 400px !important; + background-color: #000 !important; + } + .search-wrapper { + filter: grayscale(80%) !important; + opacity: 0 !important; + vertical-align: middle !important; + } + .personalizeButtonWrapper { + opacity: 0.2 !important; + transition: transform 200ms ease 0.5s, opacity 200ms ease 0.5s !important; + } + .personalizeButtonWrapper:hover { + opacity: 0.7 !important; + transition-duration: 200ms !important; + transition-delay: 0s !important; + } + .search-inner-wrapper { /* begone THOT */ + display:none !important; + width: 300px !important; + min-height: 30px !important; + --newtab-search-icon: 0 !important; + } + .body-wrapper {margin-top: -200px;} + .context-menu-button { /* the button that has the menu to edit your shortcuts */ + margin-right: 10px !important; margin-top: 0px !important; opacity: 0 !important; + background-color: transparent !important; + } + .context-menu-button:hover {opacity: 0.7 !important;} + .top-site-outer, .top-site-inner { + margin-block-end: 0px !important; + background-color: transparent !important; + } + .top-site-outer:hover { + background-color: transparent !important; + } + .top-site-button {padding: 0px !important; background-color:transparent !important;} + + .tile { /* here be buttons */ + filter: grayscale(100%) !important; + background-color: transparent !important; + border: 0px !important; + opacity: 0.1 !important; + transition: 50ms ease 0.4s !important; + vertical-align: middle !important; + } + .tile:hover { + filter: grayscale(50%) !important; + opacity: 0.7 !important; + transition: 50ms ease 0.2s !important; + } + .icon-wrapper { + background-color: transparent !important; + border: 0px !important; + } + + .top-site-button .top-site-icon{ + background-color: transparent !important; + background-size: contain !important; + background-repeat: no-repeat !important; + background-position: center !important; + padding: 0px !important; + border-radius: 0px !important; + } + +/* custom icons so I can have custom+transparency on Home and New Tab pages */ + .top-site-button[href="http://deck.blue"] .top-site-icon{ + background-image: url("https://i.imgur.com/Z8IrhAY.png") !important; + } + .top-site-button[href="http://new.reddit.com"] .top-site-icon{ + background-image: url("https://i.imgur.com/3QIQIeD.png") !important; + } + .top-site-button[href="http://gaiaonline.com"] .top-site-icon{ + background-image: url("https://i.imgur.com/Vp7urqM.png") !important; + } + .top-site-button[href="http://orcanetwork.org"] .top-site-icon{ + background-image: url("https://i.imgur.com/hvKM68l.png") !important; + } + .top-site-button[href="http://whaleresearch.com"] .top-site-icon{ + background-image: url("https://i.imgur.com/uuBDA57.png") !important; + } + .top-site-button[href="http://whale-of-a-porpoise.blogspot.ca"] .top-site-icon{ + background-image: url("https://i.imgur.com/qm2BYfR.png") !important; + } + +/* !!! icon alignment and size fix !!! */ + .icon.icon-pin-small { + width: 0px !important; + } + .top-site-outer .title { + padding-top: 0px !important; + } + .top-site-outer { + margin-block-end: unset !important; + } + .top-site-outer .title span { + visibility: hidden !important; + } + .top-site-outer .title:not(.sponsored) .sponsored-label { + height: 0px !important; + } + .top-site-outer .context-menu-button:hover { + background-color: unset !important; + } + .top-site-outer .context-menu-button { + transition: none !important; + background-color: unset !important; + top: 0px !important; + } + .top-site-outer .default-icon {width:48px !important; height:48px !important;} +} +/* --- home page edits end --- */ diff --git a/profiles/user2/files/justfile b/profiles/user2/files/justfile new file mode 100755 index 0000000..7a6d847 --- /dev/null +++ b/profiles/user2/files/justfile @@ -0,0 +1,6 @@ +gobrr: + nixos-rebuild switch --use-remote-sudo --flake ~/Projects/dotfiles#desktop + + +fuckoff: + shutdown now diff --git a/profiles/user2/files/loop.sh b/profiles/user2/files/loop.sh new file mode 100755 index 0000000..c904110 --- /dev/null +++ b/profiles/user2/files/loop.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +while true ; do date ; natpmpc -a 1 0 udp 60 -g 10.2.0.1 && natpmpc -a 1 0 tcp 60 -g 10.2.0.1 || { echo -e "ERROR with natpmpc command \a" ; break ; } ; sleep 45 ; done diff --git a/profiles/user2/files/modnix.sh b/profiles/user2/files/modnix.sh new file mode 100755 index 0000000..15f2ffa --- /dev/null +++ b/profiles/user2/files/modnix.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +cp /etc/nixos/configuration.nix /etc/nixos/configuration.nix.backup + +sed -i '/services\.printing\.enable = true;/a\ nix.settings.experimental-features = ["nix-command" "flakes"];\n services.openssh.enable = true;' /etc/nixos/configuration.nix +sed -i '/thunderbird/a\ git\n vscode\n tomb' /etc/nixos/configuration.nix + +echo "/etc/nixos/configuration.nix updated successfully." \ No newline at end of file diff --git a/systems/fallaryn/config/boot.nix b/systems/fallaryn/config/boot.nix new file mode 100755 index 0000000..6344c96 --- /dev/null +++ b/systems/fallaryn/config/boot.nix @@ -0,0 +1,47 @@ +{ + pkgs, + config, + ... +}: +{ + boot = { + extraModulePackages = [ + config.boot.kernelPackages.v4l2loopback.out + ]; + supportedFilesystems = [ "ntfs" ]; + initrd = { + availableKernelModules = [ + "amdgpu" + "nvme" + "ahci" + "xhci_pci" + "usb_storage" + "usbhid" + "sd_mod" + ]; + kernelModules = [ ]; + }; + + kernelModules = [ + "kvm-amd" + "vfio-pci" + "v4l2loopback" + ]; + + kernelPackages = pkgs.linuxPackages_latest; + + loader = { + efi = { + canTouchEfiVariables = true; + efiSysMountPoint = "/boot"; + }; + systemd-boot.enable = false; + grub = { + enable = true; + device = "nodev"; + useOSProber = true; + efiSupport = true; + }; + }; + }; +} diff --git a/systems/fallaryn/config/filesystem.nix b/systems/fallaryn/config/filesystem.nix new file mode 100755 index 0000000..1917a11 --- /dev/null +++ b/systems/fallaryn/config/filesystem.nix @@ -0,0 +1,53 @@ +{ + config, + flake, + ... +}: +let + inherit (flake.config.people) user0; + inherit (flake.config.system.device) fallaryn; +in +{ + imports = [ ]; + + fileSystems = + let + storageDrives = [ + "storage0" + "storage1" + ]; + + storageMounts = storage: { + name = "${fallaryn.${storage}.mount}"; + value = { + device = fallaryn.${storage}.device; + fsType = "ext4"; + options = fallaryn.${storage}.options; + }; + }; + in + { + "/" = { + device = "/dev/disk/by-uuid/d02cb367-26e0-4708-8840-75dcc4362ff4"; + fsType = "ext4"; + }; + "/boot" = { + device = "/dev/disk/by-uuid/22BD-5A25"; + fsType = "vfat"; + options = fallaryn.boot.options; + }; + } + // (builtins.listToAttrs (map storageMounts storageDrives)); + + swapDevices = [ + { device = "/dev/disk/by-uuid/cc7ab213-26c9-4567-91ca-9dba6e98c9d1"; } + ]; + + systemd.tmpfiles.rules = [ + "Z ${config.home-manager.users.${user0}.home.homeDirectory} 0755 ${user0} users -" + "Z ${fallaryn.storage0.mount} 0755 ${user0} users -" + "Z ${fallaryn.storage1.mount} 0755 ${user0} users -" + ]; + + services.udisks2.enable = true; +} diff --git a/systems/fallaryn/config/graphics.nix b/systems/fallaryn/config/graphics.nix new file mode 100755 index 0000000..b67a5df --- /dev/null +++ b/systems/fallaryn/config/graphics.nix @@ -0,0 +1,24 @@ +{ pkgs, ... }: +{ + hardware = { + graphics = { + enable = true; + extraPackages = builtins.attrValues { + inherit (pkgs) + amdvlk + ; + inherit (pkgs.rocmPackages.clr) + icd + ; + }; + extraPackages32 = builtins.attrValues { + inherit (pkgs.driversi686Linux) + amdvlk + ; + }; + }; + }; + boot.initrd.kernelModules = [ + "amdgpu" + ]; +} diff --git a/systems/fallaryn/config/hardware.nix b/systems/fallaryn/config/hardware.nix new file mode 100755 index 0000000..8c79401 --- /dev/null +++ b/systems/fallaryn/config/hardware.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + hardware = { + firmware = [ pkgs.rtl8761b-firmware ]; + enableAllFirmware = true; + cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + }; +} diff --git a/systems/fallaryn/config/networking.nix b/systems/fallaryn/config/networking.nix new file mode 100755 index 0000000..ef964d6 --- /dev/null +++ b/systems/fallaryn/config/networking.nix @@ -0,0 +1,31 @@ +{ + lib, + flake, + ... +}: +let + inherit (flake.config.system.device) fallaryn; +in +{ + networking = { + hostName = fallaryn.name; + networkmanager.enable = true; + useDHCP = lib.mkDefault true; + firewall = { + enable = true; + allowedTCPPorts = [ ]; + }; + }; + services = { + avahi = { + enable = true; + openFirewall = true; + nssmdns4 = true; + }; + sshd.enable = true; + openssh = { + enable = true; + settings.PasswordAuthentication = false; + }; + }; +} diff --git a/systems/fallaryn/default.nix b/systems/fallaryn/default.nix new file mode 100755 index 0000000..94aacef --- /dev/null +++ b/systems/fallaryn/default.nix @@ -0,0 +1,20 @@ +{ + lib, + ... +}: +let + configPath = ./config; + + fallarynImports = + let + files = builtins.attrNames (builtins.readDir configPath); + in + map (name: configPath + "/${name}") ( + builtins.filter (name: builtins.match ".*\\.nix$" name != null) files + ); +in +{ + imports = fallarynImports; + nixpkgs.hostPlatform = lib.mkForce "x86_64-linux"; + system.stateVersion = lib.mkForce "24.05"; +}