add flatpaks with nix-flatpak

This commit is contained in:
2025-11-07 18:22:05 -06:00
parent 38c0191ad2
commit d014733441
7 changed files with 100 additions and 0 deletions

View File

@@ -19,6 +19,7 @@
inputs.nixpkgs.follows = "nixpkgs-unstable"; inputs.nixpkgs.follows = "nixpkgs-unstable";
}; };
nix-homebrew.url = "github:zhaofengli/nix-homebrew"; nix-homebrew.url = "github:zhaofengli/nix-homebrew";
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
sops-nix = { sops-nix = {
url = "github:Mic92/sops-nix"; url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";

View File

@@ -25,6 +25,7 @@
yubikey.enable = true; yubikey.enable = true;
tailscale.enable = true; tailscale.enable = true;
syncthing.enable = true; syncthing.enable = true;
flatpak.enable = true;
graphics = { graphics = {
enable = true; enable = true;
vendor = "intel"; vendor = "intel";

View File

@@ -15,6 +15,7 @@
./vpn-confinement ./vpn-confinement
./syncthing ./syncthing
./graphics ./graphics
./flatpak
]; ];
system.ssh.enable = lib.mkDefault true; system.ssh.enable = lib.mkDefault true;

View File

@@ -0,0 +1,19 @@
{
pkgs,
inputs,
config,
lib,
...
}: let
cfg = config.system.flatpak;
in {
options.system.flatpak = {
enable = lib.mkEnableOption "enables nix-flatpak on nixos side";
};
imports = [inputs.nix-flatpak.nixosModules.nix-flatpak];
config = lib.mkIf cfg.enable {
services.flatpak.enable = true;
};
}

View File

@@ -0,0 +1,25 @@
{
pkgs,
lib,
inputs,
config,
...
}: let
program = "<placeholder>";
app_id = "<placeholder>";
origin = "flathub";
cfg = config.dots.${program};
home_dir = config.home.homeDirectory;
in {
options.dots.${program} = {
enable = lib.mkEnableOption "enables ${program}";
};
config = lib.mkIf cfg.enable {
services.flatpak.packages = [
{ appId = app_id; origin = origin;}
];
};
}

View File

@@ -0,0 +1,28 @@
{
pkgs,
inputs,
lib,
config,
...
}: let
cfg = config.dots.flatpak;
in {
imports = [
inputs.homeManagerModules.nix-flatpak
./devtoys
];
options.dots.flatpak = {
enable = lib.mkEnableOption "enables all programs by default";
};
# brought to you by nix-flatpak, readme is below
# https://github.com/gmodena/nix-flatpak?tab=readme-ov-file
config = lib.mkIf cfg.enable {
#services.flatpak.remotes = {};
dots = {
devtoys.enable = lib.mkDefault true;
};
};
}

View File

@@ -0,0 +1,25 @@
{
pkgs,
lib,
inputs,
config,
...
}: let
program = "devtoys";
app_id = "me.iepure.devtoolbox";
origin = "flathub";
cfg = config.dots.${program};
home_dir = config.home.homeDirectory;
in {
options.dots.${program} = {
enable = lib.mkEnableOption "enables ${program}";
};
config = lib.mkIf cfg.enable {
services.flatpak.packages = [
{ appId = app_id; origin = origin;}
];
};
}