From ae0b0534448fb63daff3063c715512d9f18fb878 Mon Sep 17 00:00:00 2001 From: Tigor Hutasuhut Date: Mon, 2 Sep 2024 09:38:57 +0700 Subject: [PATCH] flatpak: enabled flatpak for castle --- flake.lock | 16 +++++++++++ flake.nix | 3 +++ options/default.nix | 2 +- options/flatpak.nix | 10 +++++++ profiles/castle.nix | 5 ++++ system/default.nix | 1 + system/flatpak/default.nix | 19 +++++++++++++ system/modules/default.nix | 1 - system/modules/flatpak.nix | 55 -------------------------------------- 9 files changed, 55 insertions(+), 57 deletions(-) create mode 100644 options/flatpak.nix create mode 100644 system/flatpak/default.nix delete mode 100644 system/modules/flatpak.nix diff --git a/flake.lock b/flake.lock index d266b61..118ab33 100644 --- a/flake.lock +++ b/flake.lock @@ -420,6 +420,21 @@ "type": "github" } }, + "nix-flatpak": { + "locked": { + "lastModified": 1721549352, + "narHash": "sha256-nlXJa8RSOX0kykrIYW33ukoHYq+FOSNztHLLgqKwOp8=", + "owner": "gmodena", + "repo": "nix-flatpak", + "rev": "dbce39ea8664820ba9037caaf1e2fad365ed6b4b", + "type": "github" + }, + "original": { + "owner": "gmodena", + "repo": "nix-flatpak", + "type": "github" + } + }, "nix-index-database": { "inputs": { "nixpkgs": [ @@ -539,6 +554,7 @@ "hyprland": "hyprland", "hyprland-contrib": "hyprland-contrib", "neovim-nightly-overlay": "neovim-nightly-overlay", + "nix-flatpak": "nix-flatpak", "nix-index-database": "nix-index-database", "nixpkgs": "nixpkgs_3", "nixpkgs-unstable": "nixpkgs-unstable", diff --git a/flake.nix b/flake.nix index 1794af7..5d2bc16 100644 --- a/flake.nix +++ b/flake.nix @@ -18,6 +18,7 @@ neovim-nightly-overlay = { url = "github:nix-community/neovim-nightly-overlay"; }; + nix-flatpak.url = "github:gmodena/nix-flatpak"; hyprland-contrib = { url = "github:hyprwm/contrib"; inputs.nixpkgs.follows = "nixpkgs"; @@ -51,11 +52,13 @@ , neovim-nightly-overlay , nix-index-database , rust-overlay + , nix-flatpak , ... }: let commonModules = [ nur.nixosModules.nur + nix-flatpak.nixosModules.nix-flatpak home-manager.nixosModules.home-manager nix-index-database.nixosModules.nix-index { diff --git a/options/default.nix b/options/default.nix index 3d103b2..1b01a76 100644 --- a/options/default.nix +++ b/options/default.nix @@ -8,6 +8,7 @@ ./services.nix ./games.nix ./environments.nix + ./flatpak.nix ]; options.profile = { @@ -63,7 +64,6 @@ android.enable = lib.mkEnableOption "android"; avahi.enable = lib.mkEnableOption "avahi"; bluetooth.enable = lib.mkEnableOption "bluetooth"; - flatpak.enable = lib.mkEnableOption "flatpak"; gnome.enable = lib.mkEnableOption "gnome"; kde.enable = lib.mkEnableOption "kde"; networking.firewall = { diff --git a/options/flatpak.nix b/options/flatpak.nix new file mode 100644 index 0000000..bef1afa --- /dev/null +++ b/options/flatpak.nix @@ -0,0 +1,10 @@ +{ lib, ... }: +let + inherit (lib) mkEnableOption; +in +{ + options.profile.flatpak = { + enable = mkEnableOption "flatpak"; + zen-browser.enable = mkEnableOption "zen-browser"; + }; +} diff --git a/profiles/castle.nix b/profiles/castle.nix index 0151161..3c8fa06 100644 --- a/profiles/castle.nix +++ b/profiles/castle.nix @@ -75,6 +75,11 @@ in dbeaver.enable = true; kde.enable = false; + flatpak = { + enable = true; + zen-browser.enable = true; + }; + microsoft-edge.enable = true; nextcloud.enable = false; diff --git a/system/default.nix b/system/default.nix index dac340a..60e7b05 100644 --- a/system/default.nix +++ b/system/default.nix @@ -3,6 +3,7 @@ imports = [ profile-path hardware-configuration + ./flatpak ./modules ./services ./podman diff --git a/system/flatpak/default.nix b/system/flatpak/default.nix new file mode 100644 index 0000000..d5c9cbb --- /dev/null +++ b/system/flatpak/default.nix @@ -0,0 +1,19 @@ +{ config, lib, ... }: +let + cfg = config.profile.flatpak; + inherit (lib.lists) optional; +in +{ + config = lib.mkIf cfg.enable { + fonts.fontDir.enable = true; + services.flatpak = { + enable = true; + update.auto = { + enable = true; + onCalendar = "weekly"; # Default value + }; + packages = [ ] + ++ optional cfg.zen-browser.enable "io.github.zen_browser.zen"; + }; + }; +} diff --git a/system/modules/default.nix b/system/modules/default.nix index c14af9b..5049f76 100644 --- a/system/modules/default.nix +++ b/system/modules/default.nix @@ -7,7 +7,6 @@ ./bluetooth.nix ./boot_loader.nix ./brightnessctl.nix - ./flatpak.nix ./font.nix ./gnome.nix ./hyprland.nix diff --git a/system/modules/flatpak.nix b/system/modules/flatpak.nix deleted file mode 100644 index 464acc4..0000000 --- a/system/modules/flatpak.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ config, pkgs, lib, ... }: -let - cfg = config.profile.flatpak; -in -{ - config = lib.mkIf cfg.enable { - # Allow flatpak to access fonts - fonts.fontDir.enable = true; - - services.flatpak.enable = true; - # system.fsPackages = [ pkgs.bindfs ]; - - # Allows user installed fonts to be accessed by flatpak - # fileSystems = - # let - # mkRoSymBind = path: { - # device = path; - # fsType = "fuse.bindfs"; - # options = [ "ro" "resolve-symlinks" "x-gvfs-hide" ]; - # }; - # aggregatedFonts = pkgs.buildEnv { - # name = "system-fonts"; - # paths = config.fonts.packages; - # pathsToLink = [ "/share/fonts" ]; - # }; - # in - # { - # # Create an FHS mount to support flatpak host icons/fonts - # "/usr/share/icons" = mkRoSymBind (config.system.path + "/share/icons"); - # "/usr/share/fonts" = mkRoSymBind (aggregatedFonts + "/share/fonts"); - # }; - - xdg.portal = { - enable = true; - xdgOpenUsePortal = true; - # extraPortals = with pkgs; [ - # # xdg-desktop-portal-gtk - # # xdg-desktop-portal-kde - # # xdg-desktop-portal-gnome - # ]; - }; - - # Auto update flatpak every boot with systemd - # systemd.services.flatpak-update = { - # wantedBy = [ "multi-user.target" ]; - # after = [ "network-online.target" ]; - # wants = [ "network-online.target" ]; - # description = "Auto update flatpak every boot after network is online"; - # serviceConfig = { - # Type = "oneshot"; - # ExecStart = ''${pkgs.flatpak}/bin/flatpak update --assumeyes --noninteractive --system''; - # }; - # }; - }; -}