diff --git a/flake.lock b/flake.lock index 69f4270..348ba33 100644 --- a/flake.lock +++ b/flake.lock @@ -478,11 +478,11 @@ "systems": "systems_10" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", "type": "github" }, "original": { @@ -523,11 +523,11 @@ ] }, "locked": { - "lastModified": 1725513492, - "narHash": "sha256-tyMUA6NgJSvvQuzB7A1Sf8+0XCHyfSPRx/b00o6K0uo=", + "lastModified": 1726745158, + "narHash": "sha256-D5AegvGoEjt4rkKedmxlSEmC+nNLMBPWFxvmYnVLhjk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "7570de7b9b504cfe92025dd1be797bf546f66528", + "rev": "4e743a6920eab45e8ba0fbe49dc459f1423a4b74", "type": "github" }, "original": { @@ -630,11 +630,11 @@ ] }, "locked": { - "lastModified": 1725703823, - "narHash": "sha256-tDgM4d8mLK0Hd6YMB2w1BqMto1XBXADOzPEaLl10VI4=", + "lastModified": 1726818100, + "narHash": "sha256-z2V74f5vXqkN5Q+goFlhbFXY/dNaBAyeLpr2bxu4Eic=", "owner": "nix-community", "repo": "home-manager", - "rev": "208df2e558b73b6a1f0faec98493cb59a25f62ba", + "rev": "1bbc1a5a1f4de7401c92db85b2119ed21bb4139d", "type": "github" }, "original": { @@ -708,11 +708,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1726681673, - "narHash": "sha256-n7EMRe/uMZ4QdM/DWsewc7LLRaR0GGzQIV3uu9BFZbU=", + "lastModified": 1726918033, + "narHash": "sha256-I0U4OLssUlNd6/KXHwErmgmYZURTJYJNHbeoKaMH4iI=", "ref": "refs/heads/main", - "rev": "e6cf643f5ab1c1545fb858ab1fd9d7538ef9e0f3", - "revCount": 5235, + "rev": "8579066c7a1ceb745499ea4e11d5d420b1387ec0", + "revCount": 5246, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -845,11 +845,11 @@ ] }, "locked": { - "lastModified": 1724966483, - "narHash": "sha256-WXDgKIbzjYKczxSZOsJplCS1i1yrTUpsDPuJV/xpYLo=", + "lastModified": 1726874949, + "narHash": "sha256-PNnIpwGqpTvMU3N2r0wMQwK1E+t4Bb5fbJwblQvr+80=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "8976e3f6a5357da953a09511d0c7f6a890fb6ec2", + "rev": "d97af4f6bd068c03a518b597675e598f57ea2291", "type": "github" }, "original": { @@ -870,11 +870,11 @@ ] }, "locked": { - "lastModified": 1721324119, - "narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=", + "lastModified": 1726840673, + "narHash": "sha256-HIPEXyRRVZoqD6U+lFS1B0tsIU7p83FaB9m7KT/x6mQ=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30", + "rev": "b68dab23fc922eae99306988133ee80a40b39ca5", "type": "github" }, "original": { @@ -942,11 +942,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1726402305, - "narHash": "sha256-Ps21x+17J0rclqg68crak2Vo/P3+1fZStqmV+OI7k6M=", + "lastModified": 1726600542, + "narHash": "sha256-4ZP8rYtad1Z0LY3vZ1eYSRUzqPd3x7K0j7SpP3vReWc=", "owner": "nix-community", "repo": "lib-aggregate", - "rev": "90b637e33ab9be23e0ba3c57905a1837561923ea", + "rev": "e0cc0b05b0296fdc52fa683d47a3470dfe4f79ea", "type": "github" }, "original": { @@ -965,11 +965,11 @@ "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1726464450, - "narHash": "sha256-Y4L6/wzlhaTarOX15eVfIxzOG4EaebWHwjNW2EEBcGI=", + "lastModified": 1726914440, + "narHash": "sha256-7pjaBPnUaCWxlER2dyl3wjpSuRm45sTjbiW8GpWe4h0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7d1c6f5314633cb52330dbfe26cb352ff14c295c", + "rev": "b46f92d869af832f80df27ca0caecbfb8edd6939", "type": "github" }, "original": { @@ -981,11 +981,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1726441036, - "narHash": "sha256-5UytTFcPk+f1mCqSUV4kiYnu3ZopPs7aWiOBMvYtFW8=", + "lastModified": 1726910741, + "narHash": "sha256-ov0UUzJadKtGCLDQBvRL3XJ/j+fEucq+TZSMSOfxxIQ=", "owner": "neovim", "repo": "neovim", - "rev": "78b85109338592c2bc89154278f2e961a14eee96", + "rev": "059a9e62547e1fb4dc915da258b24844a6bfcd54", "type": "github" }, "original": { @@ -1002,11 +1002,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1723372011, - "narHash": "sha256-zqenoufFiPfobw74idorZMG8AXG3DnFzbHplt/Nkvrg=", + "lastModified": 1726859423, + "narHash": "sha256-7H4u29z/Qwi/KsXS3ucrvXr/gx2fqT48i8EpKMBpMvs=", "owner": "nix-community", "repo": "nix-eval-jobs", - "rev": "8802412b8747633e9d80639897e4d58fa6290909", + "rev": "6684d2074e3cde8a180ef87fac284d6f02ac16d0", "type": "github" }, "original": { @@ -1060,11 +1060,11 @@ ] }, "locked": { - "lastModified": 1726494069, - "narHash": "sha256-eBmurYEjTDfWbpJOO5jQu9yxoznOxLF/7IwYJyD+ljw=", + "lastModified": 1726817511, + "narHash": "sha256-r3R7zZzGklN0udSO/JhWbU/xyq6i1aXKKwfs33LUVls=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "934dff070150ec3f67aea4f1dbe6ad303870669f", + "rev": "bfa25c9065f4cb5d884a0ad70f6e82f55ae90448", "type": "github" }, "original": { @@ -1134,11 +1134,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1726481836, - "narHash": "sha256-MWTBH4dd5zIz2iatDb8IkqSjIeFum9jAqkFxgHLdzO4=", + "lastModified": 1726871744, + "narHash": "sha256-V5LpfdHyQkUF7RfOaDPrZDP+oqz88lTJrMT1+stXNwo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "20f9370d5f588fb8c72e844c54511cab054b5f40", + "rev": "a1d92660c6b3b7c26fb883500a80ea9d33321be2", "type": "github" }, "original": { @@ -1156,11 +1156,11 @@ "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1726524292, - "narHash": "sha256-DPZwpFaQozQH5vyECvB0BeVlSLmkJH3oHJeVJt9KFfE=", + "lastModified": 1726932029, + "narHash": "sha256-NjeJtHBcjkwsi2p0r1ZA/VbTRBJDJ5gBZrR8H/Kp+kQ=", "owner": "nix-community", "repo": "nixpkgs-wayland", - "rev": "15453b5b1caa43ca7834fe7b0ee0a24c4934bd99", + "rev": "c6292f266430240b5203be7e6a96d9ae1ec38b11", "type": "github" }, "original": { @@ -1251,11 +1251,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1725983898, - "narHash": "sha256-4b3A9zPpxAxLnkF9MawJNHDtOOl6ruL0r6Og1TEDGCE=", + "lastModified": 1726755586, + "narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1355a0cbfeac61d785b7183c0caaec1f97361b43", + "rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e", "type": "github" }, "original": { @@ -1283,11 +1283,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1726396940, - "narHash": "sha256-EpiSl9nSINTmIW6MG6CulGwNAa6sHrBt8gQdyHUXzR4=", + "lastModified": 1726871744, + "narHash": "sha256-V5LpfdHyQkUF7RfOaDPrZDP+oqz88lTJrMT1+stXNwo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "76d7694a3f681b0b750c01783df5d2177ef39fe7", + "rev": "a1d92660c6b3b7c26fb883500a80ea9d33321be2", "type": "github" }, "original": { @@ -1299,11 +1299,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1726320982, - "narHash": "sha256-RuVXUwcYwaUeks6h3OLrEmg14z9aFXdWppTWPMTwdQw=", + "lastModified": 1726838390, + "narHash": "sha256-NmcVhGElxDbmEWzgXsyAjlRhUus/nEqPC5So7BOJLUM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8f7492cce28977fbf8bd12c72af08b1f6c7c3e49", + "rev": "944b2aea7f0a2d7c79f72468106bc5510cbf5101", "type": "github" }, "original": { @@ -1331,11 +1331,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1726243404, - "narHash": "sha256-sjiGsMh+1cWXb53Tecsm4skyFNag33GPbVgCdfj3n9I=", + "lastModified": 1726755586, + "narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "345c263f2f53a3710abe117f28a5cb86d0ba4059", + "rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e", "type": "github" }, "original": { @@ -1407,11 +1407,11 @@ "rev": "d1b572262ed63ffab3e93712bbf71cb224448a19", "revCount": 11, "type": "git", - "url": "https://git.zackster.zip/zack/resume" + "url": "https://git.zoeys.computer/zoey/resume" }, "original": { "type": "git", - "url": "https://git.zackster.zip/zack/resume" + "url": "https://git.zoeys.computer/zoey/resume" } }, "rio-term": { @@ -1424,11 +1424,11 @@ "systems": "systems_12" }, "locked": { - "lastModified": 1726522756, - "narHash": "sha256-PTudYGpA8v/dsGxRhDBZA9EMWb1fw8Ud0PmQzJ4iVXQ=", + "lastModified": 1726936581, + "narHash": "sha256-zTVyailZMLLvMdxd9lKPLsVOOwGOKw/L6OB7g7z+Aro=", "owner": "raphamorim", "repo": "rio", - "rev": "adf15790d1f22e6433b51edbf9b0ea4f3f678ccf", + "rev": "e6096e69a29a4238e0cbae321119c1b2d6af183a", "type": "github" }, "original": { @@ -1555,11 +1555,11 @@ ] }, "locked": { - "lastModified": 1726460241, - "narHash": "sha256-wslbKgh6ZEqHzZJj1eHGRENZQ4r1C4LmAvaBKvbiGzg=", + "lastModified": 1726892163, + "narHash": "sha256-LZkatWOJcdJ1FvhWNFl54r8aDcnIfeZC5MLtzN15vMc=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "fe1722602352cba0448f3961df90b5d1f55d5675", + "rev": "426f126ac7014ba7076ddcbf2fafa87c2962d908", "type": "github" }, "original": { @@ -1809,11 +1809,11 @@ ] }, "locked": { - "lastModified": 1726490657, - "narHash": "sha256-7gMxY5vgFOkezgQ/3deq0O85oqGlN4uEuwGPkVPC2do=", + "lastModified": 1726759867, + "narHash": "sha256-zmHHyEUqbCK93NP/LULHpqIZVQ1PYkz0ae2VSJhpKwA=", "owner": "Alexays", "repo": "Waybar", - "rev": "9cfb1e38fa26b5c4639fe510c06af0916a078d93", + "rev": "21af48fdc95b21ad067e627abb96655757c48b36", "type": "github" }, "original": { @@ -1829,6 +1829,14 @@ "hyprland", "hyprlang" ], + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], "nixpkgs": [ "hyprland", "nixpkgs" @@ -1839,11 +1847,11 @@ ] }, "locked": { - "lastModified": 1726046979, - "narHash": "sha256-6SEsjurq9cdTkITA6d49ncAJe4O/8CgRG5/F//s6Xh8=", + "lastModified": 1726851729, + "narHash": "sha256-1z0esr5lBeUMlrPZ9gZmqZT8oTQekxJi53HAW4cH0Ms=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "e695669fd8e1d1be9eaae40f35e00f8bd8b64c18", + "rev": "73b8c4f1150040644cf678aa8bbf2cec48a433cf", "type": "github" }, "original": { diff --git a/homes/x86_64-linux/zoey@earth/default.nix b/homes/x86_64-linux/zoey@earth/default.nix index e8366c3..ca8357e 100644 --- a/homes/x86_64-linux/zoey@earth/default.nix +++ b/homes/x86_64-linux/zoey@earth/default.nix @@ -8,7 +8,6 @@ wms.hyprland.enable = true; apps = { web.librewolf.enable = true; - web.librewolf.setDefault = true; tools.git.enable = true; tools.tmux.enable = true; @@ -39,6 +38,7 @@ services.lock.enable = true; services.music.enable = true; + services.pm-bridge.enable = true; xdg.enable = true; @@ -52,6 +52,18 @@ }; }; + xdg.mimeApps = { + enable = true; + + defaultApplications = { + "text/html" = "zen.desktop"; + "x-scheme-handler/http" = "zen.desktop"; + "x-scheme-handler/https" = "zen.desktop"; + "x-scheme-handler/about" = "zen.desktop"; + "x-scheme-handler/unknown" = "zen.desktop"; + }; + }; + catppuccin.enable = true; catppuccin.flavor = "macchiato"; catppuccin.accent = "pink"; @@ -102,7 +114,7 @@ lib.custom.pkgs-unstable.zed-editor lib.custom.pkgs-unstable.rmpc - inputs.zen-browser.packages.${pkgs.system}.default + pkgs.custom.zen-browser pkgs.mpc-cli diff --git a/modules/home/services/pm-bridge/default.nix b/modules/home/services/pm-bridge/default.nix new file mode 100644 index 0000000..e1b37bf --- /dev/null +++ b/modules/home/services/pm-bridge/default.nix @@ -0,0 +1,49 @@ +{ + lib, + config, + pkgs, + ... +}: +with lib; +with lib.custom; let + cfg = config.services.pm-bridge; +in { + options.services.pm-bridge = with types; { + enable = mkBoolOpt false "Enable Protonmail Bridge"; + + package = lib.mkPackageOption pkgs "protonmail-bridge" {}; + + logLevel = lib.mkOption { + type = lib.types.nullOr ( + lib.types.enum [ + "panic" + "fatal" + "error" + "warn" + "info" + "debug" + ] + ); + default = null; + description = "Log level of the Proton Mail Bridge service. If set to null then the service uses it's default log level."; + }; + }; + + config = mkIf cfg.enable { + systemd.user.services.protonmail-bridge = { + Unit = { + Description = "A Bridge to view Protonmail Messages in your local email client"; + }; + Service = let + logLevel = lib.optionalString (cfg.logLevel != null) "--log-level ${cfg.logLevel}"; + in { + Type = "simple"; + ExecStart = "${lib.getExe cfg.package} --noninteractive ${logLevel}"; + Restart = "always"; + }; + Install = { + WantedBy = ["graphical-session.target"]; + }; + }; + }; +} diff --git a/modules/home/shells/zsh/default.nix b/modules/home/shells/zsh/default.nix index ad82ab5..961a422 100644 --- a/modules/home/shells/zsh/default.nix +++ b/modules/home/shells/zsh/default.nix @@ -69,6 +69,16 @@ in { sha256 = "sha256-BB9L84HjUnV1OUIp2U2lHYHEg5q4p/TgqLcsCvInkC8="; }; } + { + name = "zsh-autocomplete"; + file = "zsh-autocomplete.plugin.zsh"; + src = pkgs.fetchFromGitHub { + owner = "marlonrichert"; + repo = "zsh-autocomplete"; + rev = "008caaea55780dd2b55f119d6880c5b89e5e4bb2"; + sha256 = "sha256-jibIHwT/oVQUSxVrT0SGFSMu1N05szPyHZ4Qc7v6Ntc="; + }; + } ]; dirHashes = { diff --git a/modules/home/wms/hyprland/default.nix b/modules/home/wms/hyprland/default.nix index 7dd7cea..bb2f586 100644 --- a/modules/home/wms/hyprland/default.nix +++ b/modules/home/wms/hyprland/default.nix @@ -39,6 +39,10 @@ in { }; config = mkIf cfg.enable { + home.packages = [ + pkgs-unstable.xwayland + ]; + wayland.windowManager.hyprland = { enable = true; xwayland.enable = true; @@ -216,14 +220,14 @@ in { ]; }; - # fake a tray to let apps start - # https://github.com/nix-community/home-manager/issues/2064 - systemd.user.targets.tray = { - Unit = { - Description = "Home Manager System Tray"; - Requires = ["graphical-session-pre.target"]; - }; - }; + # # fake a tray to let apps start + # # https://github.com/nix-community/home-manager/issues/2064 + # systemd.user.targets.tray = { + # Unit = { + # Description = "Home Manager System Tray"; + # Requires = ["graphical-session-pre.target"]; + # }; + # }; systemd.user.services = { swaybg = mkService { diff --git a/modules/nixos/sites/invidious/default.nix b/modules/nixos/sites/invidious/default.nix new file mode 100644 index 0000000..0731bc0 --- /dev/null +++ b/modules/nixos/sites/invidious/default.nix @@ -0,0 +1,25 @@ +{ + lib, + config, + pkgs, + ... +}: +with lib; +with lib.custom; let + cfg = config.sites.invidious; +in { + options.sites.invidious = with types; { + enable = mkBoolOpt false "Enable invidious instance"; + + domain = mkStringOpt "vid.zoeys.computer" "The domain of the invidious instance"; + }; + + config = mkIf cfg.enable { + services.invidious = { + enable = true; + domain = cfg.domain; + + nginx.enable = true; + }; + }; +} diff --git a/modules/nixos/sites/jellyfin/default.nix b/modules/nixos/sites/jellyfin/default.nix new file mode 100644 index 0000000..3c3db9f --- /dev/null +++ b/modules/nixos/sites/jellyfin/default.nix @@ -0,0 +1,22 @@ +{ + lib, + config, + pkgs, + ... +}: +with lib; +with lib.custom; let + cfg = config.sites.jellyfin; +in { + options.sites.jellyfin = with types; { + enable = mkBoolOpt false "Enable jellyfin"; + }; + + config = mkIf cfg.enable { + services.jellyfin = { + enable = true; + dataDir = "/mnt/lul"; + openFirewall = true; + }; + }; +} diff --git a/modules/nixos/ui/fonts/default.nix b/modules/nixos/ui/fonts/default.nix index cc10147..dd7ca0b 100644 --- a/modules/nixos/ui/fonts/default.nix +++ b/modules/nixos/ui/fonts/default.nix @@ -37,7 +37,7 @@ in { spacing = "normal" serifs = "sans" noCvSs = true - exportGlyphNames = false + exportGlyphNames = true [buildPlans.IosevkaCustom.variants] inherits = "ss10" diff --git a/packages/zen-browser/default.nix b/packages/zen-browser/default.nix index 8a1a72a..4fa8a10 100644 --- a/packages/zen-browser/default.nix +++ b/packages/zen-browser/default.nix @@ -1,10 +1,13 @@ -{pkgs ? import {}}: let +{ + pkgs ? import {}, + lib, +}: let pname = "zen-browser"; - version = "1.0.0-a.29"; + version = "1.0.1-a.2"; src = pkgs.fetchurl { url = "https://github.com/zen-browser/desktop/releases/download/${version}/zen-specific.AppImage"; - sha256 = "sha256-cB2aJ9awl+gTyBOe0T7wMiZWw7RcwohOuCCdWBJXXwo="; + sha256 = "sha256-Pc65S2WjI/CdKIunmMTKYzqGFfm3D9PHsiOEqfQ7r8A="; }; appimageContents = pkgs.appimageTools.extractType2 { diff --git a/systems/x86_64-linux/earth/default.nix b/systems/x86_64-linux/earth/default.nix index 14304d3..f911c8f 100644 --- a/systems/x86_64-linux/earth/default.nix +++ b/systems/x86_64-linux/earth/default.nix @@ -71,7 +71,6 @@ unmanaged = ["enp6s0"]; # insertNameservers = ["1.1.1.1" "1.0.0.1"]; }; - # networking.firewall.enable = false; boot.kernelPackages = lib.custom.pkgs-unstable.linuxPackages_zen; boot.supportedFilesystems = ["ntfs"]; @@ -116,6 +115,8 @@ catppuccin.enable = true; programs.virt-manager.enable = true; + sites.jellyfin.enable = true; + virtualisation.docker.enable = true; virtualisation.libvirtd.enable = true;