Compare commits

..

2 Commits

Author SHA1 Message Date
4af26da42f add flatpaks with nix-flatpak, but like right this time 2025-11-07 18:38:37 -06:00
d014733441 add flatpaks with nix-flatpak 2025-11-07 18:22:05 -06:00
10 changed files with 131 additions and 0 deletions

17
flake.lock generated
View File

@@ -425,6 +425,22 @@
"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": "latest",
"repo": "nix-flatpak",
"type": "github"
}
},
"nix-homebrew": { "nix-homebrew": {
"inputs": { "inputs": {
"brew-src": "brew-src" "brew-src": "brew-src"
@@ -546,6 +562,7 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"home-manager-unstable": "home-manager-unstable", "home-manager-unstable": "home-manager-unstable",
"nix-darwin": "nix-darwin", "nix-darwin": "nix-darwin",
"nix-flatpak": "nix-flatpak",
"nix-homebrew": "nix-homebrew", "nix-homebrew": "nix-homebrew",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",

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

@@ -95,6 +95,10 @@
command = "/etc/profiles/per-user/blake/bin/nom"; command = "/etc/profiles/per-user/blake/bin/nom";
options = ["NOPASSWD"]; options = ["NOPASSWD"];
} }
{
command = "/etc/profiles/per-user/blake/bin/nom-build";
options = ["NOPASSWD"];
}
]; ];
} }
]; ];

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,35 @@
{
pkgs,
inputs,
lib,
config,
...
}: let
cfg = config.dots.flatpak;
in {
imports = [
inputs.nix-flatpak.homeManagerModules.nix-flatpak
./devtoolbox
];
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 {
# install the cli
home.packages = with pkgs; [ flatpak ];
services.flatpak = {
#remotes = {};
};
dots = {
devtoolbox.enable = lib.mkDefault true;
};
};
}

View File

@@ -0,0 +1,26 @@
{
pkgs,
lib,
inputs,
config,
...
}: let
program = "devtoolbox";
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;}
app_id
];
};
}

View File

@@ -10,6 +10,7 @@ in {
./_media-tools ./_media-tools
./_browsers ./_browsers
./_gaming ./_gaming
./_flatpak
./thunderbird ./thunderbird
./libreoffice ./libreoffice
@@ -30,6 +31,7 @@ in {
media-tools.enable = lib.mkDefault true; media-tools.enable = lib.mkDefault true;
browsers.enable = lib.mkDefault true; browsers.enable = lib.mkDefault true;
gaming.enable = lib.mkDefault true; gaming.enable = lib.mkDefault true;
flatpak.enable = lib.mkDefault true;
thunderbird.enable = lib.mkDefault true; thunderbird.enable = lib.mkDefault true;
libreoffice.enable = lib.mkDefault true; libreoffice.enable = lib.mkDefault true;