From 658a6450805ac1b52c5c9fcd7b5e7768ae5925f1 Mon Sep 17 00:00:00 2001 From: derfenix Date: Sun, 23 Nov 2025 10:20:20 +0300 Subject: [PATCH] Use flatpacked vivaldi, flake update --- flake.lock | 40 ++++++++++++++++++++++++++++------------ flake.nix | 6 ++++++ hosts/fenixpc/fenix.nix | 2 +- modules/hm/flatpak.nix | 25 +++++++++++++++++++++++++ modules/hm/vivaldi.nix | 12 +++++++++--- roles/desktop.nix | 4 +++- 6 files changed, 72 insertions(+), 17 deletions(-) create mode 100644 modules/hm/flatpak.nix diff --git a/flake.lock b/flake.lock index c261a0a..8b51ec1 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1763313531, - "narHash": "sha256-yvdCYUL85zEDp2NzPUBmaNBXP6KnWEOhAk3j7PTfsKw=", + "lastModified": 1763869804, + "narHash": "sha256-2lw+MnkrnygEyUl+3qZjnlCCJF/kJ57GUtYkAQPfLDA=", "owner": "nix-community", "repo": "home-manager", - "rev": "3670a78eee49deebe4825fc8ecc46b172d1a8391", + "rev": "04c27d743d069cad58f9707ee8e165c471b1c7cd", "type": "github" }, "original": { @@ -75,6 +75,21 @@ "type": "github" } }, + "nix-flatpak": { + "locked": { + "lastModified": 1754777568, + "narHash": "sha256-0bBqT+3XncgF8F03RFAamw9vdf0VmaDoIJLTGkjfQZs=", + "owner": "gmodena", + "repo": "nix-flatpak", + "rev": "62f636b87ef6050760a8cb325cadb90674d1e23e", + "type": "github" + }, + "original": { + "owner": "gmodena", + "repo": "nix-flatpak", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1762847253, @@ -93,11 +108,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1763283776, - "narHash": "sha256-Y7TDFPK4GlqrKrivOcsHG8xSGqQx3A6c+i7novT85Uk=", + "lastModified": 1763678758, + "narHash": "sha256-+hBiJ+kG5IoffUOdlANKFflTT5nO3FrrR2CA3178Y5s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "50a96edd8d0db6cc8db57dab6bb6d6ee1f3dc49a", + "rev": "117cc7f94e8072499b0a7aa4c52084fa4e11cc9b", "type": "github" }, "original": { @@ -109,11 +124,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1763374130, - "narHash": "sha256-Y6nWQQFZ/OcfjDrTOpHb+2ZOG9uP9pUtOcpccIaQbRM=", + "lastModified": 1763880652, + "narHash": "sha256-0IQWEH6dED59HH725MKtCLQ9vm0G8NsrMl3ZpbL6qr0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "155fbcafbe3ee1b9fdef13e8b75e542766616aa9", + "rev": "6bad1c7d404896921ecc336cd73a0ebec26f6b56", "type": "github" }, "original": { @@ -125,11 +140,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1763049705, - "narHash": "sha256-A5LS0AJZ1yDPTa2fHxufZN++n8MCmtgrJDtxFxrH4S8=", + "lastModified": 1763622513, + "narHash": "sha256-1jQnuyu82FpiSxowrF/iFK6Toh9BYprfDqfs4BB+19M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3acb677ea67d4c6218f33de0db0955f116b7588c", + "rev": "c58bc7f5459328e4afac201c5c4feb7c818d604b", "type": "github" }, "original": { @@ -193,6 +208,7 @@ "inputs": { "disko": "disko", "home-manager": "home-manager", + "nix-flatpak": "nix-flatpak", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "nixpkgs-master": "nixpkgs-master", diff --git a/flake.nix b/flake.nix index 1097d05..6e547d0 100644 --- a/flake.nix +++ b/flake.nix @@ -24,6 +24,10 @@ nixos-hardware = { url = "github:NixOS/nixos-hardware/master"; }; + nix-flatpak = { + url = "github:gmodena/nix-flatpak"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = @@ -86,6 +90,7 @@ home.stateVersion = osConfig.system.stateVersion; } ) + inputs.nix-flatpak.homeManagerModules.nix-flatpak ]; extraSpecialArgs = { inherit inputs; @@ -96,6 +101,7 @@ }; } ) + inputs.nix-flatpak.nixosModules.nix-flatpak inputs.home-manager.nixosModules.home-manager inputs.photocatalog.nixosModules.photocatalog inputs.disko.nixosModules.disko diff --git a/hosts/fenixpc/fenix.nix b/hosts/fenixpc/fenix.nix index 36e1f23..b127e8d 100644 --- a/hosts/fenixpc/fenix.nix +++ b/hosts/fenixpc/fenix.nix @@ -58,7 +58,7 @@ in ssh.enable = true; vivaldi = { - enable = true; + flatpak = true; }; firefox = { diff --git a/modules/hm/flatpak.nix b/modules/hm/flatpak.nix new file mode 100644 index 0000000..fd14230 --- /dev/null +++ b/modules/hm/flatpak.nix @@ -0,0 +1,25 @@ +{ + osConfig, + config, + lib, + ... +}: +{ + services.flatpak = lib.mkIf (osConfig.services.flatpak.enable) { + enable = true; + uninstallUnmanaged = true; + + remotes = [ + { + name = "flathub"; + location = "https://flathub.org/repo/flathub.flatpakrepo"; + } + ]; + packages = lib.mkIf (config.programs.vivaldi.flatpak) [ + { + appId = "com.vivaldi.Vivaldi"; + origin = "flathub"; + } + ]; + }; +} diff --git a/modules/hm/vivaldi.nix b/modules/hm/vivaldi.nix index e8521ee..cdfc878 100644 --- a/modules/hm/vivaldi.nix +++ b/modules/hm/vivaldi.nix @@ -7,14 +7,20 @@ }: let conf = config.programs.vivaldi; + vivaldiCMD = if conf.flatpak then "flatpak run com.vivaldi.Vivaldi" else "vivaldi"; + vivaldiIcon = if conf.flatpak then "com.vivaldi.Vivaldi" else "vivaldi"; in { - config = lib.mkIf conf.enable { + options = { + programs.vivaldi.flatpak = lib.mkEnableOption "Use flatpak verion of Vivaldi"; + }; + + config = lib.mkIf (conf.enable || conf.flatpak) { home.file.vivaldiKDEScript = { target = ".local/bin/vivaldi-kde.sh"; text = '' #!/bin/sh - vivaldi --profile-directory=$(qdbus org.kde.ActivityManager /ActivityManager/Activities org.kde.ActivityManager.Activities.ActivityName $(qdbus org.kde.ActivityManager /ActivityManager/Activities org.kde.ActivityManager.Activities.CurrentActivity)) "$@" + ${vivaldiCMD} --profile-directory=$(qdbus org.kde.ActivityManager /ActivityManager/Activities org.kde.ActivityManager.Activities.ActivityName $(qdbus org.kde.ActivityManager /ActivityManager/Activities org.kde.ActivityManager.Activities.CurrentActivity)) "$@" ''; executable = true; }; @@ -46,7 +52,7 @@ in exec = "${config.home.file.vivaldiKDEScript.source} --new-window"; }; }; - icon = "vivaldi"; + icon = "${vivaldiIcon}"; startupNotify = true; categories = [ "Application" diff --git a/roles/desktop.nix b/roles/desktop.nix index 59af78a..7bf3388 100644 --- a/roles/desktop.nix +++ b/roles/desktop.nix @@ -134,7 +134,9 @@ in btrfs.autoScrub.interval = "weekly"; - flatpak.enable = true; + flatpak = { + enable = true; + }; printing = { enable = lib.mkDefault true;