diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..e335b53 --- /dev/null +++ b/TODO.md @@ -0,0 +1,4 @@ +* [] Simplify config +* [] Organize most common apps with modules +* [] Migrate from pywal + apple-fonts to Stylix (theme, cursor, fonts, ...) +* [] Remove clutter diff --git a/derivations/nordvpn.nix b/derivations/nordvpn.nix deleted file mode 100644 index 94aa83f..0000000 --- a/derivations/nordvpn.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ pkgs }: - -pkgs.stdenv.mkDerivation rec { - pname = "nordvpn"; - version = "3.16.1"; - - src = pkgs.fetchurl { - url = "https://repo.nordvpn.com/deb/nordvpn/debian/pool/main/nordvpn_${version}_amd64.deb"; - sha256 = "sha256-rj1QuCOztgVmReCn24HIEDAyLR7GlsUDJK0GZl+ERXM="; - }; - - nativeBuildInputs = with pkgs; [ libidn2 libxml2 autoPatchelfHook dpkg ]; - - unpackPhase = '' - dpkg -x $src unpacked - ''; - - installPhase = '' - mkdir -p $out/ - sed -i 's;ExecStart=.*;;g' unpacked/usr/lib/systemd/system/nordvpnd.service - cp -r unpacked/* $out/ - - mv $out/usr/* $out/ - mv $out/sbin/nordvpnd $out/bin/ - - rm -r $out/sbin - rm $out/var/lib/nordvpn/openvpn - ln -s ${pkgs.openvpn}/bin/openvpn $out/var/lib/nordvpn/openvpn - ''; - - meta = with pkgs.lib; { - description = "NordVPN: Best VPN service. Online security starts with a click"; - downloadPage = "https://nordvpn.com/download/"; - homepage = "https://nordvpn.com/"; - license = licenses.unfree; - maintainers = with maintainers; [ juliosueiras ]; - platforms = platforms.linux; - }; -} diff --git a/flake.lock b/flake.lock index 5239ee1..9120aad 100644 --- a/flake.lock +++ b/flake.lock @@ -3,9 +3,7 @@ "ags": { "inputs": { "astal": "astal", - "nixpkgs": [ - "nixpkgs" - ] + "nixpkgs": "nixpkgs" }, "locked": { "lastModified": 1738087375, @@ -23,7 +21,7 @@ }, "apple-emoji": { "inputs": { - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs_2" }, "locked": { "lastModified": 1711624089, @@ -41,7 +39,7 @@ }, "apple-fonts": { "inputs": { - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "ny": "ny", "sf-arabic": "sf-arabic", "sf-armenian": "sf-armenian", @@ -86,6 +84,73 @@ "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": 1732806396, + "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=", + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + } + }, "fingerprint-sensor": { "inputs": { "nixpkgs": [ @@ -107,6 +172,161 @@ "type": "github" } }, + "firefox-gnome-theme": { + "flake": false, + "locked": { + "lastModified": 1741628778, + "narHash": "sha256-RsvHGNTmO2e/eVfgYK7g+eYEdwwh7SbZa+gZkT24MEA=", + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "rev": "5a81d390bb64afd4e81221749ec4bffcbeb5fa80", + "type": "github" + }, + "original": { + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "type": "github" + } + }, + "flake-compat": { + "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-parts": { + "inputs": { + "nixpkgs-lib": [ + "stylix", + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-utils": { + "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" + } + }, + "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" + } + }, + "git-hooks": { + "inputs": { + "flake-compat": [ + "stylix", + "flake-compat" + ], + "gitignore": "gitignore", + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1741379162, + "narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "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" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -128,13 +348,34 @@ "type": "github" } }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1741635347, + "narHash": "sha256-2aYfV44h18alHXopyfL4D9GsnpE5XlSVkp4MGe586VU=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "7fb8678716c158642ac42f9ff7a18c0800fea551", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1711523803, - "narHash": "sha256-UKcYiHWHQynzj6CN/vTcix4yd1eCu1uFdsuarupdCQQ=", + "lastModified": 1742422364, + "narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2726f127c15a4cc9810843b96cad73c7eb39e443", + "rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc", "type": "github" }, "original": { @@ -146,11 +387,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1740828860, - "narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=", + "lastModified": 1742422364, + "narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "303bd8071377433a2d8f76e684ec773d70c5b642", + "rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc", "type": "github" }, "original": { @@ -161,6 +402,22 @@ } }, "nixpkgs_3": { + "locked": { + "lastModified": 1742422364, + "narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { "locked": { "lastModified": 1741862977, "narHash": "sha256-prZ0M8vE/ghRGGZcflvxCu40ObKaB+ikn74/xQoNrGQ=", @@ -176,6 +433,79 @@ "type": "github" } }, + "nixpkgs_5": { + "locked": { + "lastModified": 1742422364, + "narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { + "locked": { + "lastModified": 1741513245, + "narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nordvpn": { + "inputs": { + "nixpkgs": "nixpkgs_5" + }, + "locked": { + "lastModified": 1742098294, + "narHash": "sha256-kszMKykXU1oZIn8RSDuBwIa5hY5om2wdy32KYgYKzs8=", + "owner": "m-lourenco0", + "repo": "nordvpn-flake", + "rev": "72594cb60df19951ee726dcad24ef0a9c5d29fbc", + "type": "github" + }, + "original": { + "owner": "m-lourenco0", + "repo": "nordvpn-flake", + "type": "github" + } + }, + "nur": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": [ + "stylix", + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1741693509, + "narHash": "sha256-emkxnsZstiJWmGACimyAYqIKz2Qz5We5h1oBVDyQjLw=", + "owner": "nix-community", + "repo": "NUR", + "rev": "5479646b2574837f1899da78bdf9a48b75a9fb27", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "ny": { "flake": false, "locked": { @@ -195,7 +525,9 @@ "apple-fonts": "apple-fonts", "fingerprint-sensor": "fingerprint-sensor", "home-manager": "home-manager", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_4", + "nordvpn": "nordvpn", + "stylix": "stylix" } }, "sf-arabic": { @@ -281,6 +613,160 @@ "type": "file", "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg" } + }, + "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", + "flake-utils": "flake-utils", + "git-hooks": "git-hooks", + "gnome-shell": "gnome-shell", + "home-manager": "home-manager_2", + "nixpkgs": "nixpkgs_6", + "nur": "nur", + "systems": "systems", + "tinted-foot": "tinted-foot", + "tinted-kitty": "tinted-kitty", + "tinted-schemes": "tinted-schemes", + "tinted-tmux": "tinted-tmux", + "tinted-zed": "tinted-zed" + }, + "locked": { + "lastModified": 1742591463, + "narHash": "sha256-CguaHULcm4RuIGN+i4u80dYZujFgZaeOTiShFxCwFhw=", + "owner": "danth", + "repo": "stylix", + "rev": "113643f332e1f70d90991722f8c4e5a0ace6fd06", + "type": "github" + }, + "original": { + "owner": "danth", + "repo": "stylix", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "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-schemes": { + "flake": false, + "locked": { + "lastModified": 1741468895, + "narHash": "sha256-YKM1RJbL68Yp2vESBqeZQBjTETXo8mCTTzLZyckCfZk=", + "owner": "tinted-theming", + "repo": "schemes", + "rev": "47c8c7726e98069cade5827e5fb2bfee02ce6991", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "schemes", + "type": "github" + } + }, + "tinted-tmux": { + "flake": false, + "locked": { + "lastModified": 1740877430, + "narHash": "sha256-zWcCXgdC4/owfH/eEXx26y5BLzTrefjtSLFHWVD5KxU=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "d48ee86394cbe45b112ba23ab63e33656090edb4", + "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": [ + "stylix", + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733222881, + "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "49717b5af6f80172275d47a418c9719a31a78b53", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index d1e1934..2adcb0d 100644 --- a/flake.nix +++ b/flake.nix @@ -1,23 +1,19 @@ { inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; + stylix.url = "github:danth/stylix"; + + home-manager.url = "github:nix-community/home-manager/release-24.11"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + apple-fonts.url = "github:Lyndeno/apple-fonts.nix"; apple-emoji.url = "github:oxcl/apple-emoji-nix"; - ags = { - url = "github:Aylur/ags"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - home-manager = { - url = "github:nix-community/home-manager/release-24.11"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - fingerprint-sensor = { - url = "github:ahbnr/nixos-06cb-009a-fingerprint-sensor/24.11"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + nordvpn.url = "github:m-lourenco0/nordvpn-flake"; + ags.url = "github:Aylur/ags"; + + fingerprint-sensor.url = "github:ahbnr/nixos-06cb-009a-fingerprint-sensor/24.11"; + fingerprint-sensor.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = { self, ... }: { diff --git a/flake.nix.bak b/flake.nix.bak deleted file mode 100644 index d1e1934..0000000 --- a/flake.nix.bak +++ /dev/null @@ -1,26 +0,0 @@ -{ - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; - apple-fonts.url = "github:Lyndeno/apple-fonts.nix"; - apple-emoji.url = "github:oxcl/apple-emoji-nix"; - - ags = { - url = "github:Aylur/ags"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - home-manager = { - url = "github:nix-community/home-manager/release-24.11"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - fingerprint-sensor = { - url = "github:ahbnr/nixos-06cb-009a-fingerprint-sensor/24.11"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - }; - - outputs = { self, ... }: { - nixosConfigurations = import ./hosts { inherit self; }; - }; -} diff --git a/hosts/hulk/default.nix b/hosts/hulk/default.nix index 2e7978a..f449600 100644 --- a/hosts/hulk/default.nix +++ b/hosts/hulk/default.nix @@ -6,7 +6,6 @@ ./programs.nix ./users.nix ./networking.nix - ./fonts.nix ]; nix.settings.experimental-features = [ "nix-command" "flakes" ]; diff --git a/hosts/hulk/modules.nix b/hosts/hulk/modules.nix index 3f3c047..98caea5 100644 --- a/hosts/hulk/modules.nix +++ b/hosts/hulk/modules.nix @@ -2,8 +2,11 @@ { imports = [ - ../../modules/greetd.nix ../../modules/nvidia-support.nix ../../modules/fingerprint.nix + ../../modules/apple-style.nix + ../../modules/bluetooth.nix + ../../modules/greetd.nix + inputs.nordvpn.nixosModules.nordvpn ]; } diff --git a/hosts/hulk/networking.nix b/hosts/hulk/networking.nix index 07f7a8c..9079e06 100644 --- a/hosts/hulk/networking.nix +++ b/hosts/hulk/networking.nix @@ -5,19 +5,8 @@ let wirelessEnabled = false; in { networking.networkmanager.enable = pkgs.lib.mkIf networkManagerEnabled true; + networking.networkmanager.wifi.powersave = pkgs.lib.mkIf networkManagerEnabled true; networking.wireless.enable = pkgs.lib.mkIf wirelessEnabled true; networking.wireless.userControlled.enable = pkgs.lib.mkIf wirelessEnabled true; - - networking.firewall = { - trustedInterfaces = [ "p2p-wl+" ]; - allowedTCPPorts = [ - 7236 - 7250 - ]; - allowedUDPPorts = [ - 7236 - 5353 - ]; - }; } diff --git a/hosts/hulk/services.nix b/hosts/hulk/services.nix index ecfc9c7..6e842d2 100644 --- a/hosts/hulk/services.nix +++ b/hosts/hulk/services.nix @@ -2,12 +2,15 @@ { services.greetd-hyprland.enable = true; - services.nvidia.enable = true; + services.apple-style.enable = true; + services.bluetooth.enable = true; + services.nvidia.enable = true; services.fingerprint-fix = { enable = true; calibDataFile = ./calib-data.bin; }; + services.nordvpn.enable = true; services.upower.enable = true; services.udev.enable = true; services.udev.packages = [ pkgs.hyprland ]; @@ -17,12 +20,6 @@ drivers = with pkgs; [ hplipWithPlugin ]; }; - security.rtkit.enable = true; - systemd.services.bluetooth.serviceConfig.ExecStart = pkgs.lib.mkForce [ - "" - "${pkgs.bluez}/libexec/bluetooth/bluetoothd -f /etc/bluetooth/main.conf -C" - ]; - services.gvfs.enable = true; services.geoclue2 = { enableWifi = true; @@ -37,11 +34,4 @@ pulse.enable = true; jack.enable = true; }; - - hardware.bluetooth = { - enable = true; - powerOnBoot = true; - }; - - services.blueman.enable = true; } diff --git a/hosts/hulk/users.nix b/hosts/hulk/users.nix index 4669665..3cf3ab6 100644 --- a/hosts/hulk/users.nix +++ b/hosts/hulk/users.nix @@ -9,8 +9,10 @@ in { isNormalUser = true; description = fullname; home = "/home/${username}"; - extraGroups = [ "wheel" "networkmanager" "plugdev" "adbusers" ]; + extraGroups = [ "wheel" "networkmanager" "plugdev" "adbusers" "nordvpn" ]; shell = preferredShell; ignoreShellProgramCheck = true; # Will do it later in profile configuration }; + + users.users.nordvpn.extraGroups = [ "networkmanager" ]; } diff --git a/modules/apple-style.nix b/modules/apple-style.nix new file mode 100644 index 0000000..c1c2a21 --- /dev/null +++ b/modules/apple-style.nix @@ -0,0 +1,23 @@ +{ config, lib, pkgs, inputs, ... }: + +{ + options.services.apple-style.enable = lib.mkEnableOption "Enable Apple fonts and emojis"; + + config = lib.mkIf config.services.apple-style.enable { + fonts.fontDir.enable = true; + fonts.packages = [ + inputs.apple-emoji.packages.${pkgs.system}.apple-emoji-nix + inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd + inputs.apple-fonts.packages.${pkgs.system}.sf-mono-nerd + ]; + + fonts.fontconfig.enable = true; + fonts.enableDefaultPackages = false; + fonts.fontconfig.defaultFonts = { + sansSerif = [ "SFProText Nerd Font" "SFProDisplay Nerd Font" ]; + serif = [ "SFProText Nerd Font" "SFProDisplay Nerd Font" ]; + monospace = [ "SFMono Nerd Font" ]; + emoji = [ "Apple Color Emoji" ]; + }; + }; +} diff --git a/modules/bluetooth.nix b/modules/bluetooth.nix new file mode 100644 index 0000000..10c1055 --- /dev/null +++ b/modules/bluetooth.nix @@ -0,0 +1,17 @@ +{ config, lib, pkgs, ... }: + +{ + options.services.bluetooth.enable = lib.mkEnableOption "Enable Bluetooth"; + + config = lib.mkIf config.services.bluetooth.enable { + # add compatibility layer + systemd.services.bluetooth.serviceConfig.ExecStart = lib.mkForce [ + "" + "${pkgs.bluez}/libexec/bluetooth/bluetoothd -f /etc/bluetooth/main.conf -C" + ]; + + hardware.bluetooth.enable = true; + hardware.bluetooth.powerOnBoot = true; + services.blueman.enable = true; + }; +} diff --git a/profiles/hulk/packages.nix b/profiles/hulk/packages.nix index 3ba78b4..5fbae85 100644 --- a/profiles/hulk/packages.nix +++ b/profiles/hulk/packages.nix @@ -13,7 +13,7 @@ pywayland ])) - (pkgs.callPackage ../../derivations/nordvpn.nix {}) + inputs.nordvpn.packages.${system}.nordvpn (pkgs.callPackage ../../derivations/ddt4all.nix {}) (birdtray.overrideAttrs (_: {