mirror of
https://github.com/youwen5/nixos.git
synced 2025-01-18 05:02:10 -08:00
refactor: modularize flatpak and make roblox an option
This commit is contained in:
parent
6414434a1e
commit
ab0ccf2519
3 changed files with 71 additions and 32 deletions
|
@ -2,12 +2,31 @@
|
|||
# versioned. Therefore, they are not included in generational rollbacks and
|
||||
# persist between generations. This is not ideal, but at least it is a better
|
||||
# situation than imperative installation
|
||||
{ inputs, ... }:
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.liminalOS.programs.flatpaks;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
inputs.nix-flatpak.nixosModules.nix-flatpak
|
||||
inputs.${cfg.moduleName}.nixosModules.nix-flatpak
|
||||
];
|
||||
|
||||
options.liminalOS.programs.flatpaks = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to enable Nix flatpak support with some fixes as well as declarative flatpak management.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.flatpak = {
|
||||
enable = true;
|
||||
|
||||
|
@ -30,16 +49,6 @@
|
|||
enable = true;
|
||||
onCalendar = "weekly";
|
||||
};
|
||||
|
||||
packages = [
|
||||
{
|
||||
flatpakref = "https://sober.vinegarhq.org/sober.flatpakref";
|
||||
sha256 = "sha256:1pj8y1xhiwgbnhrr3yr3ybpfis9slrl73i0b1lc9q89vhip6ym2l";
|
||||
}
|
||||
{
|
||||
appId = "org.vinegarhq.Sober";
|
||||
origin = "sober";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
10
modules/linux/flatpak/sober.flatpakref
Normal file
10
modules/linux/flatpak/sober.flatpakref
Normal file
|
@ -0,0 +1,10 @@
|
|||
[Flatpak Ref]
|
||||
Title=Sober
|
||||
Name=org.vinegarhq.Sober
|
||||
Url=https://sober.vinegarhq.org/repo/
|
||||
SuggestRemoteName=sober
|
||||
Homepage=https://sober.vinegarhq.org
|
||||
Icon=https://sober.vinegarhq.org/sober.svg
|
||||
RuntimeRepo=https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
IsRuntime=false
|
||||
GPGKey=LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUdOQkdhc3U4QUJEQURUQzExYjFmUG9LZU9Ea1hTT3lrYzllajRZeFZMSlZQN2NFZmRnV05aWllsYnFsZ0xECms2MTNxK1dnOE0xb0Zrem00MjMvSUhyT050TEZpVG9sN0paTE1DS0w0d05Id1dnOWpmcmwzak5EUUtKb2lUQVEKZllsWFJiZ09IeVNLYmxFRDVaRm9hQ3BRM0pMQkdaalRUZ1VJck9mK3lSU3lZU09pUHFucEJuM1NHZEh3L0pXegpkY3hRUUd4OVdNL2ZlNGFSVVJMS0k1VG9Ya244cGNZWE4wdE50T2tlOUUzeDI5b3pOcVg0b3BicDJkWXJnejlqCklVM1Zka2VUdTRlSmhJQ2tWMzFVbGpQcVg5VVc1azViTjM4VDRMaEJqQ0kzS1Q2TkJhaXVab1FselFsbXNkYVIKMEdWK3kvSUFhdXNOUzdjMHhCUithUnNnOExpa3h1cXBqWGl6RS9HRTYydCtZeVZBVEs1S0J6aThRZWdVSVMwZgpHRUxkV0RydzBmMUkzc1RuUTBqL2xpZWNneUppMmtmUnlqMThFSmx6WDlYWTdqcHArL2pPUGlqaXYrbXlvaEJXCm1hY3N5UUZCQkg0dEpZUUt4TW1Mc0Y2eUsyWVNTV0IvcS9CZEZlbFY5VDZSWFRlbzRkS0pGK085N0RkRjlTVnYKQWplL25WTjhmZG1VTjgwQUVRRUFBYlFZVTI5aVpYSWdSbXhoZEhCaGF5QlNaWEJ2YzJsMGIzSjVpUUhSQkJNQgpDZ0E3RmlFRWRieGpyeDFRYitvWk5BRnIydmkrK0JPTlMyVUZBbWFzdThBQ0d3TUZDd2tJQndJQ0lnSUdGUW9KCkNBc0NCQllDQXdFQ0hnY0NGNEFBQ2drUTJ2aSsrQk9OUzJWc3VRdi9XMnV6a3pyNGdURWN4VFFUNzZxTVF4TUUKT2svQis5eTNZMytFUlA5d0h4MEpSWVMxT3pvV1Z2VklTYy9PYWVwMUdielg3Zm8vU2c5Z1NySXI5OXpiQkRjaApIZFlGWngweU11VTZMd3ZNN2NMZHRSNmJTOWloNklOeGc5NXpaaVZnMVZvS01rZEhwV1IwRW9UWjk1S0NVL1IzCmhjWWZDNkFxWTVKVDFXTlJZRG9FVTFCN0JOQXUxejNUZkt0OE5LSTM3N2tBWlREZEQybDFxQ0ZrWHZKVW5QalUKZWxSRmlJUFlsMi9iYUVaK0hKYW44R09uNGpQcTczc0VyRVl5SnZiblVlMFY0S3VxMzZwWjZSa0J6ZjBnczFLcgovRE9BZjZkTkEzbVdVVDE2NzNFbGxEaysrSzgvQnNYMVQ1OUtIY0U0c2NKMHFuVGxucis1NktYbDBMMmcwc2NvCnNjbUFqRUtVMjgvalpseitpU214YVM5ZmYreXJjbUFkYXhSb2RSQ2NjdzlaWEs1akhNT1VsMlJJWWcvZWpRcUYKcWU2OWhuK2ErVngvbWU5bmNrRVAzWUNQM2J0QmhLcGtTMk0zcmtUd3ZPK2RreXpBR2lIMDg3SUlsV242UmtGSwptZ1VEWjFiQ0ZDUG0yZGhkbHBGcU8ybTVpRXdKM1V1TERQNnZZdEVndVFHTkJHYXN1OEFCREFDN1lEeElLem54Ck5pWEFLZTZNR3JIK2tpYjYvV0pjSXJDKzUvaFgxZWpYdTBOSjQ2R0lZTUx5eWZVay9UUHpvZklwdFZuUm1nV2wKcUxqQTNQQTNhUmdDQk9BTHVWTXJWMFBuaUdVeG9ETkFadmFBN3pwSncyMDAvMUVsVCt4dzB0S09Xd2FaNDZiNApGdVpXcE9hTExzdXB5MldIR3hORGdINm9NbUJBd3J6aytzaFNSUUhtOEV3bWlBQS8vQjVBTG5wcFNPS1NHdmowCjBGMzYzL1Y2OWdOZ0oxUTZEb1VzcmxNbENFYkV0Q0cwQXpwWE0yWkNBdWt3QWxNMU9oa1c2WXFlc1EybnBuQk8KT3N5SVJSdG1xWnQrSTdwWmczZkdmdERaYWw2NGI1K1JXWVlTWmQ4NW1jT0h4OVdCdzBpano1a3pyQVhISGdLcgpXOWd3YUZjS2U3OWtNMi9kbkRDcXJLbVp2QmJzZDFBMG9SSVpOMU91SHZpdzVLSXNPZ3pIemo4REx5eEd4ek9MCkhWUjZ1L0FQWEJJWGordXBpdVpLblRqTkxNUWVRUWlQc3RYdjZrUVA1RjRHeXJYU2VNdUo0SHFsMWhmOGs2MjcKYnVMTnZGdGJPYWU0NU5tTUpUTUJGQjN1NHRXaXlCUkVzaExaQ2VySWZtT2NmdWtLbFcvck5JOEFFUUVBQVlrQgp0Z1FZQVFvQUlCWWhCSFc4WTY4ZFVHL3FHVFFCYTlyNHZ2Z1RqVXRsQlFKbXJMdkFBaHNNQUFvSkVOcjR2dmdUCmpVdGxJVjBNQUtKd0RVWUhrZ3RWYlN5b3B4SDFFQ1lXRlppRlpwbktnVmZMMDlRYWZBREZCYjM2YVBReHJhMDkKdnBSNG02ZW5RZENiRmNWMGhFeXdZeS85SFFRcGhBKzFtOHNtSXlrY3B2MitYRnBtYmhmMDhOemVsdUJwVXRmVApDTTRWWHJBbzkwdUpTUU41NEg0NzVWQ0lWcXpMK2tzNHVvSmlIbGRSQnR2WVY4Yy84amdxUjRpWDBjd3J0ZWRWCmwzS0VZMGEwYjV3b1Fqb1dxQmo2Q0FYc0hUOHRCR3J1Q2p5VzlJU1l5R00rbmJ3UkpFSS9FSFlhc1N1cTZ5MlIKQ2hIR2lzOUtWcnhGWmZxMW1oU2xheVFZcWlkRGV3cm9Qa2pUZ2dvSjhPL1NxeEwyejdkK01vQ1pDZEpubnVadwpVRHpxN0RUSHhPYmlmdlUrclkybGNveE8vTzkvZ21mZ28vTTFma0xTTmdxN1ZYd0hMV2lSNmFVSjFyOFY5WnRZCmIxbXI4aVIxbGNlR2lRRVFxSTJPMm1KeHptWWlTaHEzZ1dMZjdzaXpnZjk0NFlBVy9rTGUxdVdsSlFpQUcyb0IKa1MzT0RTRUxkdVhFR3NxRGJ2QlQvSVpveGgyMjQ2QzR5MlhiOTZFYUlpYlFxRzJDVTZ3T2xTQktmb09IRTAzegpoQmJSc3dBZlFBPT0KPVp4Q1YKLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLQo=
|
|
@ -10,7 +10,14 @@ in
|
|||
{
|
||||
options.liminalOS.extras.gaming = {
|
||||
enable = lib.mkEnableOption "gaming";
|
||||
withHamachi = lib.mkEnableOption "hamachi";
|
||||
utilities.hamachi.enable = lib.mkEnableOption "hamachi";
|
||||
roblox.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = config.liminalOS.extras.gaming && cfg.enable;
|
||||
description = ''
|
||||
Whether to install the Roblox Sober flatpak automatically. Note that this will enable the nix-flatpak service and automatic flatpak updates.`
|
||||
'';
|
||||
};
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
@ -21,6 +28,19 @@ in
|
|||
mangojuice
|
||||
];
|
||||
|
||||
liminalOS.programs.flatpaks.enable = true;
|
||||
|
||||
services.flatpak.packages = lib.mkIf cfg.roblox.enable [
|
||||
{
|
||||
flatpakref = "https://sober.vinegarhq.org/sober.flatpakref";
|
||||
sha256 = "sha256:1pj8y1xhiwgbnhrr3yr3ybpfis9slrl73i0b1lc9q89vhip6ym2l";
|
||||
}
|
||||
{
|
||||
appId = "org.vinegarhq.Sober";
|
||||
origin = "sober";
|
||||
}
|
||||
];
|
||||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
|
@ -47,8 +67,8 @@ in
|
|||
|
||||
users.users.${config.liminalOS.username}.extraGroups = [ "gamemode" ];
|
||||
|
||||
services.logmein-hamachi.enable = cfg.withHamachi;
|
||||
programs.haguichi.enable = cfg.withHamachi;
|
||||
services.logmein-hamachi.enable = cfg.utilities.hamachi.enable;
|
||||
programs.haguichi.enable = cfg.utilities.hamachi.enable;
|
||||
|
||||
nixpkgs.config.packageOverrides = pkgs: {
|
||||
steam = pkgs.steam.override {
|
||||
|
|
Loading…
Reference in a new issue