Compare commits

...

3 commits

Author SHA1 Message Date
bcb3976de8
Install protontricks 2025-07-23 15:50:10 -05:00
6e232c85a5
refactor: Use Ansible to manage Flatpaks instead of home-manager
home-manager has had issues for a while where it would not
install or update Flatpaks after the GPG config was applied.
Since I am using Ansible on the Fedora systems anyway, switch
to using Ansible for Flatpak management in general.
2025-07-23 15:50:10 -05:00
0d5cf37ff3
Add Onedrive package for desktop Fedora systems 2025-07-23 15:50:09 -05:00
5 changed files with 37 additions and 58 deletions

17
flake.lock generated
View file

@ -90,22 +90,6 @@
"type": "github" "type": "github"
} }
}, },
"nix-flatpak": {
"locked": {
"lastModified": 1739444422,
"narHash": "sha256-iAVVHi7X3kWORftY+LVbRiStRnQEob2TULWyjMS6dWg=",
"owner": "gmodena",
"repo": "nix-flatpak",
"rev": "5e54c3ca05a7c7d968ae1ddeabe01d2a9bc1e177",
"type": "github"
},
"original": {
"owner": "gmodena",
"ref": "v0.6.0",
"repo": "nix-flatpak",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1750969886, "lastModified": 1750969886,
@ -219,7 +203,6 @@
"agenix": "agenix", "agenix": "agenix",
"home-manager": "home-manager", "home-manager": "home-manager",
"nix-darwin": "nix-darwin", "nix-darwin": "nix-darwin",
"nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-darwin": "nixpkgs-darwin", "nixpkgs-darwin": "nixpkgs-darwin",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",

View file

@ -37,7 +37,6 @@
home-manager.follows = "home-manager"; home-manager.follows = "home-manager";
}; };
}; };
nix-flatpak.url = "github:gmodena/nix-flatpak?ref=v0.6.0";
quadlet-nix.url = "github:SEIAROTg/quadlet-nix"; quadlet-nix.url = "github:SEIAROTg/quadlet-nix";
# Darwin-specific inputs # Darwin-specific inputs
@ -48,8 +47,8 @@
}; };
outputs = { self, nix-darwin, nixpkgs, nixpkgs-darwin, nixpkgs-unstable outputs = { self, nix-darwin, nixpkgs, nixpkgs-darwin, nixpkgs-unstable
, home-manager, agenix, rycee-nurpkgs, nur, nix-flatpak, plasma-manager , home-manager, agenix, rycee-nurpkgs, nur, plasma-manager, quadlet-nix, ...
, quadlet-nix, ... }: }:
let let
mkHomeConfiguration = { hostname, arch ? "x86_64", os ? "linux" mkHomeConfiguration = { hostname, arch ? "x86_64", os ? "linux"
, desktop ? false, extraModules ? [ ] }: , desktop ? false, extraModules ? [ ] }:
@ -76,7 +75,6 @@
] ++ (if desktop then [ ./homes/desktop.nix ] else [ ]) ] ++ (if desktop then [ ./homes/desktop.nix ] else [ ])
++ (if (desktop && os == "linux") then [ ++ (if (desktop && os == "linux") then [
./homes/linux-desktop.nix ./homes/linux-desktop.nix
nix-flatpak.homeManagerModules.nix-flatpak
plasma-manager.homeManagerModules.plasma-manager plasma-manager.homeManagerModules.plasma-manager
] else ] else
[ ]) ++ extraModules; [ ]) ++ extraModules;

View file

@ -10,22 +10,6 @@ in {
}; };
programs = { plasma = plasma-config { inherit config; }; }; programs = { plasma = plasma-config { inherit config; }; };
services = { services = {
flatpak = {
enable = true;
# Note: Right now, this does not actually install flatpaks correctly on
# harmony.
# It will however, alert me that certain packages are not installed, and
# serves as a place for me to write down the flatpaks I want to install
# anyway
packages = [
"com.github.tchx84.Flatseal"
"com.logseq.Logseq"
"io.freetubeapp.FreeTube"
"io.github.alainm23.planify"
"io.openrct2.OpenRCT2"
"net.ankiweb.Anki"
];
};
gpg-agent = { gpg-agent = {
# Use kwallet cli, but put it in extraConfig, otherwise gpg-agent will # Use kwallet cli, but put it in extraConfig, otherwise gpg-agent will
# ask the cli for the password, instead of asking the pinentry package for it # ask the cli for the password, instead of asking the pinentry package for it

View file

@ -13,10 +13,6 @@
}; };
services = { services = {
gpg-agent = { sshKeys = [ "F72C07DBA3DC0903C3ABB55E8B460803FEC22640" ]; }; gpg-agent = { sshKeys = [ "F72C07DBA3DC0903C3ABB55E8B460803FEC22640" ]; };
flatpak = {
packages =
[ "com.bitwarden.desktop" "dev.deedles.Trayscale" "org.signal.Signal" ];
};
}; };
xdg = { xdg = {
configFile = { configFile = {

View file

@ -188,6 +188,8 @@
- nextcloud-client - nextcloud-client
- nextcloud-client-dolphin - nextcloud-client-dolphin
- obs-studio - obs-studio
- onedrive
- protontricks
- qownnotes - qownnotes
- qt - qt
- rssguard - rssguard
@ -214,30 +216,46 @@
ansible.builtin.dnf: ansible.builtin.dnf:
name: "*" name: "*"
state: latest # noqa: package-latest state: latest # noqa: package-latest
# Generally speaking, I try to install Flatpak applications at the user
# level b/c that really gives more credence to the whole sandboxing idea
# (concept of least privilege). Regardless, we should make sure all the
# system-level Flatpaks are up-to-date.
- name: Upgrade system Flatpaks
community.general.flatpak:
name: "*"
state: latest
method: system
# User-installed Flatpaks are to be installed via home-manager - or at least, # Generally speaking, I try to install Flatpak applications at the user level
# that's the goal. (There currently seems to be a bug where my GPG configuration # b/c that really gives more credence to the whole sandboxing idea (concept of
# is getting in the way of validating the Flathub remote, but I am still # least privilege). Flatpaks are configured differently per-arch, so we go back
# specifying Flatpaks in services.flatpak.) Thanks to that bug, I want a way to # to different configs for each group
# have this play upgrade my Flatpaks. - name: Configure common Flatpaks
- name: Ensure Flatpak packages are up-to-date
hosts: desktop hosts: desktop
become: false become: false
tasks: tasks:
- name: Upgrade user Flatpaks - name: Add Flathub remote
community.general.flatpak_remote:
name: flathub
state: present
flatpakrepo_url: https://dl.flathub.org/repo/flathub.flatpakrepo
method: user
- name: Install common Flatpaks
community.general.flatpak: community.general.flatpak:
name: "*" name:
- com.github.tchx84.Flatseal
- com.logseq.Logseq
- io.freetubeapp.FreeTube
- io.github.alainm23.planify
- io.openrct2.OpenRCT2
- net.ankiweb.Anki
state: latest state: latest
method: user method: user
remote: flathub
- name: Configure amd64 Flatpaks
hosts: amd64
become: false
tasks:
- name: Install amd64 Flatpaks
community.general.flatpak:
name:
- com.bitwarden.desktop
- dev.deedles.Trayscale
- org.signal.Signal
state: latest
method: user
remote: flathub
# Pull the latest home-manager configuration # Pull the latest home-manager configuration
- name: Ensure home-manager configuration is up-to-date - name: Ensure home-manager configuration is up-to-date