Compare commits
2 Commits
5e2f9e287b
...
f04414a987
| Author | SHA1 | Date | |
|---|---|---|---|
| f04414a987 | |||
| 746fdbd2ad |
+10
-35
@@ -775,41 +775,26 @@ This will import all packages listed in ../../assets/system/apps/flatpaks.conf
|
|||||||
{ lib, pkgs, config, ... }:
|
{ lib, pkgs, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
moduleName = "flatpaks";
|
flatpakConfPath = ../../../assets/system/apps/flatpaks.conf;
|
||||||
|
enableProgram = config.enableFlatpaks or false;
|
||||||
# Toggle for this module
|
in
|
||||||
enableProgram = config.enableFlatpaks or false;
|
{
|
||||||
|
|
||||||
# Default username
|
|
||||||
username = config.defaultUser or "henrov";
|
|
||||||
|
|
||||||
# Path to the flatpaks.conf (no reading at eval time!)
|
|
||||||
flatpakConfPath = ../../../assets/system/apps/flatpaks.conf;
|
|
||||||
|
|
||||||
in {
|
|
||||||
# Top-level toggle option
|
|
||||||
options.enableFlatpaks = lib.mkEnableOption "Enable automatic Flatpak installation";
|
options.enableFlatpaks = lib.mkEnableOption "Enable automatic Flatpak installation";
|
||||||
|
|
||||||
config = lib.mkIf enableProgram {
|
config = lib.mkIf enableProgram {
|
||||||
|
|
||||||
# Place Flatpaks under mySystem (do not declare nested options)
|
myApps.flatpaks = {
|
||||||
mySystem = {
|
enable = true;
|
||||||
flatpaks = {
|
user = config.defaultUser or "henrov";
|
||||||
enable = true;
|
assetsDir = flatpakConfPath;
|
||||||
user = username;
|
files = [];
|
||||||
assetsDir = flatpakConfPath;
|
|
||||||
files = []; # handled at runtime
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Deploy the conf file to /etc
|
|
||||||
environment.etc."flatpak/flatpaks.conf".source = flatpakConfPath;
|
environment.etc."flatpak/flatpaks.conf".source = flatpakConfPath;
|
||||||
|
|
||||||
# Enable flatpak service
|
|
||||||
services.flatpak.enable = true;
|
services.flatpak.enable = true;
|
||||||
xdg.portal.enable = true;
|
xdg.portal.enable = true;
|
||||||
|
|
||||||
# Systemd service for installing listed Flatpaks
|
|
||||||
systemd.services.flatpak-sync = {
|
systemd.services.flatpak-sync = {
|
||||||
description = "Install Flatpak apps listed in flatpaks.conf";
|
description = "Install Flatpak apps listed in flatpaks.conf";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
@@ -821,13 +806,9 @@ in {
|
|||||||
ExecStart = ''
|
ExecStart = ''
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
CONF="${flatpakConfPath}"
|
CONF="${flatpakConfPath}"
|
||||||
|
|
||||||
# Add flathub if missing
|
|
||||||
if ! flatpak remotes --system --columns=name | grep -qx flathub; then
|
if ! flatpak remotes --system --columns=name | grep -qx flathub; then
|
||||||
flatpak remote-add --system --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
flatpak remote-add --system --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Read apps safely (ignore empty lines and comments)
|
|
||||||
while IFS= read -r app || [ -n "$app" ]; do
|
while IFS= read -r app || [ -n "$app" ]; do
|
||||||
app=$(echo "$app" | sed 's/#.*//;s/^[[:space:]]*//;s/[[:space:]]*$//')
|
app=$(echo "$app" | sed 's/#.*//;s/^[[:space:]]*//;s/[[:space:]]*$//')
|
||||||
if [ -n "$app" ]; then
|
if [ -n "$app" ]; then
|
||||||
@@ -840,13 +821,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
restartTriggers = [ flatpakConfPath ];
|
restartTriggers = [ flatpakConfPath ];
|
||||||
|
path = [ pkgs.flatpak pkgs.coreutils pkgs.gnugrep pkgs.gnused ];
|
||||||
path = [
|
|
||||||
pkgs.flatpak
|
|
||||||
pkgs.coreutils
|
|
||||||
pkgs.gnugrep
|
|
||||||
pkgs.gnused
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,41 +1,26 @@
|
|||||||
{ lib, pkgs, config, ... }:
|
{ lib, pkgs, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
moduleName = "flatpaks";
|
flatpakConfPath = ../../../assets/system/apps/flatpaks.conf;
|
||||||
|
enableProgram = config.enableFlatpaks or false;
|
||||||
# Toggle for this module
|
in
|
||||||
enableProgram = config.enableFlatpaks or false;
|
{
|
||||||
|
|
||||||
# Default username
|
|
||||||
username = config.defaultUser or "henrov";
|
|
||||||
|
|
||||||
# Path to the flatpaks.conf (no reading at eval time!)
|
|
||||||
flatpakConfPath = ../../../assets/system/apps/flatpaks.conf;
|
|
||||||
|
|
||||||
in {
|
|
||||||
# Top-level toggle option
|
|
||||||
options.enableFlatpaks = lib.mkEnableOption "Enable automatic Flatpak installation";
|
options.enableFlatpaks = lib.mkEnableOption "Enable automatic Flatpak installation";
|
||||||
|
|
||||||
config = lib.mkIf enableProgram {
|
config = lib.mkIf enableProgram {
|
||||||
|
|
||||||
# Place Flatpaks under mySystem (do not declare nested options)
|
myApps.flatpaks = {
|
||||||
mySystem = {
|
enable = true;
|
||||||
flatpaks = {
|
user = config.defaultUser or "henrov";
|
||||||
enable = true;
|
assetsDir = flatpakConfPath;
|
||||||
user = username;
|
files = [];
|
||||||
assetsDir = flatpakConfPath;
|
|
||||||
files = []; # handled at runtime
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Deploy the conf file to /etc
|
|
||||||
environment.etc."flatpak/flatpaks.conf".source = flatpakConfPath;
|
environment.etc."flatpak/flatpaks.conf".source = flatpakConfPath;
|
||||||
|
|
||||||
# Enable flatpak service
|
|
||||||
services.flatpak.enable = true;
|
services.flatpak.enable = true;
|
||||||
xdg.portal.enable = true;
|
xdg.portal.enable = true;
|
||||||
|
|
||||||
# Systemd service for installing listed Flatpaks
|
|
||||||
systemd.services.flatpak-sync = {
|
systemd.services.flatpak-sync = {
|
||||||
description = "Install Flatpak apps listed in flatpaks.conf";
|
description = "Install Flatpak apps listed in flatpaks.conf";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
@@ -47,13 +32,9 @@ in {
|
|||||||
ExecStart = ''
|
ExecStart = ''
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
CONF="${flatpakConfPath}"
|
CONF="${flatpakConfPath}"
|
||||||
|
|
||||||
# Add flathub if missing
|
|
||||||
if ! flatpak remotes --system --columns=name | grep -qx flathub; then
|
if ! flatpak remotes --system --columns=name | grep -qx flathub; then
|
||||||
flatpak remote-add --system --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
flatpak remote-add --system --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Read apps safely (ignore empty lines and comments)
|
|
||||||
while IFS= read -r app || [ -n "$app" ]; do
|
while IFS= read -r app || [ -n "$app" ]; do
|
||||||
app=$(echo "$app" | sed 's/#.*//;s/^[[:space:]]*//;s/[[:space:]]*$//')
|
app=$(echo "$app" | sed 's/#.*//;s/^[[:space:]]*//;s/[[:space:]]*$//')
|
||||||
if [ -n "$app" ]; then
|
if [ -n "$app" ]; then
|
||||||
@@ -66,13 +47,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
restartTriggers = [ flatpakConfPath ];
|
restartTriggers = [ flatpakConfPath ];
|
||||||
|
path = [ pkgs.flatpak pkgs.coreutils pkgs.gnugrep pkgs.gnused ];
|
||||||
path = [
|
|
||||||
pkgs.flatpak
|
|
||||||
pkgs.coreutils
|
|
||||||
pkgs.gnugrep
|
|
||||||
pkgs.gnused
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user