refactor
This commit is contained in:
parent
66c05f9093
commit
45d6f4b0f3
205 changed files with 9040 additions and 342 deletions
23
modules/nixos/apps/_1password/default.nix
Normal file
23
modules/nixos/apps/_1password/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps._1password;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps._1password = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable 1password.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs = {
|
||||
_1password = enabled;
|
||||
_1password-gui = {
|
||||
enable = true;
|
||||
|
||||
polkitPolicyOwners = [ config.plusultra.user.name ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
15
modules/nixos/apps/ardour/default.nix
Normal file
15
modules/nixos/apps/ardour/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.ardour;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.ardour = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Ardour.";
|
||||
};
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { environment.systemPackages = with pkgs; [ ardour ]; };
|
||||
}
|
14
modules/nixos/apps/blender/default.nix
Normal file
14
modules/nixos/apps/blender/default.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let cfg = config.plusultra.apps.blender;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.blender = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Blender.";
|
||||
};
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { environment.systemPackages = with pkgs; [ blender ]; };
|
||||
}
|
14
modules/nixos/apps/bottles/default.nix
Normal file
14
modules/nixos/apps/bottles/default.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let cfg = config.plusultra.apps.bottles;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.bottles = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Bottles.";
|
||||
};
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { environment.systemPackages = with pkgs; [ bottles ]; };
|
||||
}
|
14
modules/nixos/apps/cadence/default.nix
Normal file
14
modules/nixos/apps/cadence/default.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let cfg = config.plusultra.apps.cadence;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.cadence = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Cadence.";
|
||||
};
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { environment.systemPackages = with pkgs; [ cadence ]; };
|
||||
}
|
41
modules/nixos/apps/discord/default.nix
Normal file
41
modules/nixos/apps/discord/default.nix
Normal file
|
@ -0,0 +1,41 @@
|
|||
{ options, config, lib, pkgs, inputs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.discord;
|
||||
discord = lib.replugged.makeDiscordPlugged {
|
||||
inherit pkgs;
|
||||
|
||||
# This is currently broken, but could speed up Discord startup in the future.
|
||||
withOpenAsar = false;
|
||||
|
||||
plugins = {
|
||||
inherit (inputs) discord-tweaks;
|
||||
};
|
||||
|
||||
themes = {
|
||||
inherit (inputs) discord-nord-theme;
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.discord = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Discord.";
|
||||
canary.enable = mkBoolOpt false "Whether or not to enable Discord Canary.";
|
||||
chromium.enable = mkBoolOpt false
|
||||
"Whether or not to enable the Chromium version of Discord.";
|
||||
firefox.enable = mkBoolOpt false
|
||||
"Whether or not to enable the Firefox version of Discord.";
|
||||
native.enable = mkBoolOpt false "Whether or not to enable the native version of Discord.";
|
||||
};
|
||||
|
||||
config = mkIf (cfg.enable or cfg.chromium.enable) {
|
||||
environment.systemPackages =
|
||||
lib.optional cfg.enable discord
|
||||
++ lib.optional cfg.canary.enable pkgs.plusultra.discord
|
||||
++ lib.optional cfg.chromium.enable pkgs.plusultra.discord-chromium
|
||||
++ lib.optional cfg.firefox.enable pkgs.plusultra.discord-firefox
|
||||
++ lib.optional cfg.native.enable pkgs.discord;
|
||||
};
|
||||
}
|
18
modules/nixos/apps/dolphin/default.nix
Normal file
18
modules/nixos/apps/dolphin/default.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let cfg = config.plusultra.apps.dolphin;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.dolphin = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Dolphin.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [ dolphin-emu ];
|
||||
|
||||
# Enable GameCube controller support.
|
||||
services.udev.packages = [ pkgs.dolphinEmu ];
|
||||
};
|
||||
}
|
30
modules/nixos/apps/doukutsu-rs/default.nix
Normal file
30
modules/nixos/apps/doukutsu-rs/default.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.doukutsu-rs;
|
||||
desktopItem = pkgs.makeDesktopItem {
|
||||
name = "doukutsu-rs";
|
||||
desktopName = "doukutsu-rs";
|
||||
genericName =
|
||||
"A fully playable re-implementation of Cave Story (Doukutsu Monogatari) engine written in Rust.";
|
||||
exec = "${pkgs.plusultra.doukutsu-rs}/bin/doukutsu-rs";
|
||||
icon = ./icon.png;
|
||||
type = "Application";
|
||||
categories = [ "Game" "AdventureGame" ];
|
||||
terminal = false;
|
||||
};
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.doukutsu-rs = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable doukutsu-rs.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs.plusultra; [
|
||||
doukutsu-rs
|
||||
desktopItem
|
||||
];
|
||||
};
|
||||
}
|
BIN
modules/nixos/apps/doukutsu-rs/icon.png
Normal file
BIN
modules/nixos/apps/doukutsu-rs/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 34 KiB |
16
modules/nixos/apps/element/default.nix
Normal file
16
modules/nixos/apps/element/default.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.element;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.element = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Element.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [ element-desktop ];
|
||||
};
|
||||
}
|
22
modules/nixos/apps/etcher/default.nix
Normal file
22
modules/nixos/apps/etcher/default.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.etcher;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.etcher = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable etcher.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs;
|
||||
[
|
||||
# Etcher is currently broken in nixpkgs, temporarily replaced with
|
||||
# gnome disk utility.
|
||||
# etcher
|
||||
gnome.gnome-disk-utility
|
||||
];
|
||||
};
|
||||
}
|
35
modules/nixos/apps/expressvpn/default.nix
Normal file
35
modules/nixos/apps/expressvpn/default.nix
Normal file
|
@ -0,0 +1,35 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.expressvpn;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.expressvpn = {
|
||||
enable = mkEnableOption "Express VPN";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
plusultra.expressvpn
|
||||
] ++ optionals config.plusultra.desktop.gnome.enable [
|
||||
gnomeExtensions.evpn-shell-assistant
|
||||
];
|
||||
|
||||
boot.kernelModules = [ "tun" ];
|
||||
|
||||
systemd.services.expressvpn = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" "network-online.target" ];
|
||||
|
||||
description = "ExpressVPN Daemon";
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.plusultra.expressvpn}/bin/expressvpnd";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 5;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
66
modules/nixos/apps/firefox/default.nix
Normal file
66
modules/nixos/apps/firefox/default.nix
Normal file
|
@ -0,0 +1,66 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.firefox;
|
||||
defaultSettings = {
|
||||
"browser.aboutwelcome.enabled" = false;
|
||||
"browser.meta_refresh_when_inactive.disabled" = true;
|
||||
"browser.startup.homepage" = "https://hamho.me";
|
||||
"browser.bookmarks.showMobileBookmarks" = true;
|
||||
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
"browser.aboutConfig.showWarning" = false;
|
||||
"browser.ssb.enabled" = true;
|
||||
};
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.firefox = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Firefox.";
|
||||
extraConfig =
|
||||
mkOpt str "" "Extra configuration for the user profile JS file.";
|
||||
userChrome =
|
||||
mkOpt str "" "Extra configuration for the user chrome CSS file.";
|
||||
settings = mkOpt attrs defaultSettings "Settings to apply to the profile.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
plusultra.desktop.addons.firefox-nordic-theme = enabled;
|
||||
|
||||
services.gnome.gnome-browser-connector.enable = config.plusultra.desktop.gnome.enable;
|
||||
|
||||
plusultra.home = {
|
||||
file = {
|
||||
".mozilla/native-messaging-hosts/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/lib/mozilla/native-messaging-hosts/com.dannyvankooten.browserpass.json";
|
||||
|
||||
".mozilla/native-messaging-hosts/org.gnome.chrome_gnome_shell.json".source = mkIf config.plusultra.desktop.gnome.enable "${pkgs.chrome-gnome-shell}/lib/mozilla/native-messaging-hosts/org.gnome.chrome_gnome_shell.json";
|
||||
};
|
||||
|
||||
extraOptions = {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = pkgs.firefox.override (
|
||||
{
|
||||
cfg = {
|
||||
enableBrowserpass = true;
|
||||
enableGnomeExtensions = config.plusultra.desktop.gnome.enable;
|
||||
};
|
||||
|
||||
extraNativeMessagingHosts =
|
||||
optional
|
||||
config.plusultra.desktop.gnome.enable
|
||||
pkgs.gnomeExtensions.gsconnect;
|
||||
}
|
||||
);
|
||||
|
||||
profiles.${config.plusultra.user.name} = {
|
||||
inherit (cfg) extraConfig userChrome settings;
|
||||
id = 0;
|
||||
name = config.plusultra.user.name;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
16
modules/nixos/apps/frappe-books/default.nix
Normal file
16
modules/nixos/apps/frappe-books/default.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.frappe-books;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.frappe-books = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable FrappeBooks.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [ plusultra.frappe-books ];
|
||||
};
|
||||
}
|
15
modules/nixos/apps/freetube/default.nix
Normal file
15
modules/nixos/apps/freetube/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.freetube;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.freetube = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable FreeTube.";
|
||||
};
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { environment.systemPackages = with pkgs; [ freetube ]; };
|
||||
}
|
15
modules/nixos/apps/gimp/default.nix
Normal file
15
modules/nixos/apps/gimp/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.gimp;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.gimp = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Gimp.";
|
||||
};
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { environment.systemPackages = with pkgs; [ gimp ]; };
|
||||
}
|
15
modules/nixos/apps/gparted/default.nix
Normal file
15
modules/nixos/apps/gparted/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.gparted;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.gparted = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable gparted.";
|
||||
};
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { environment.systemPackages = with pkgs; [ gparted ]; };
|
||||
}
|
14
modules/nixos/apps/hey/default.nix
Normal file
14
modules/nixos/apps/hey/default.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.hey;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.hey = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable HEY.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable { environment.systemPackages = with pkgs.plusultra; [ hey ]; };
|
||||
}
|
15
modules/nixos/apps/inkscape/default.nix
Normal file
15
modules/nixos/apps/inkscape/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let cfg = config.plusultra.apps.inkscape;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.inkscape = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Inkscape.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [ inkscape-with-extensions google-fonts ];
|
||||
};
|
||||
}
|
14
modules/nixos/apps/logseq/default.nix
Normal file
14
modules/nixos/apps/logseq/default.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let cfg = config.plusultra.apps.logseq;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.logseq = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable logseq.";
|
||||
};
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { environment.systemPackages = with pkgs; [ logseq ]; };
|
||||
}
|
9
modules/nixos/apps/looking-glass-client/client.ini
Normal file
9
modules/nixos/apps/looking-glass-client/client.ini
Normal file
|
@ -0,0 +1,9 @@
|
|||
[input]
|
||||
escapeKey=56
|
||||
rawMouse=yes
|
||||
mouseSens=6
|
||||
|
||||
[win]
|
||||
size=1920x1080
|
||||
autoResize=yes
|
||||
quickSplash=yes
|
23
modules/nixos/apps/looking-glass-client/default.nix
Normal file
23
modules/nixos/apps/looking-glass-client/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.looking-glass-client;
|
||||
user = config.plusultra.user;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.looking-glass-client = with types; {
|
||||
enable =
|
||||
mkBoolOpt false "Whether or not to enable the Looking Glass client.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [ looking-glass-client ];
|
||||
|
||||
environment.etc."looking-glass-client.ini" = {
|
||||
user = "+${toString config.users.users.${user.name}.uid}";
|
||||
source = ./client.ini;
|
||||
};
|
||||
};
|
||||
}
|
21
modules/nixos/apps/lutris/default.nix
Normal file
21
modules/nixos/apps/lutris/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.lutris;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.lutris = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Lutris.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
lutris
|
||||
# Needed for some installers like League of Legends
|
||||
openssl
|
||||
gnome.zenity
|
||||
];
|
||||
};
|
||||
}
|
25
modules/nixos/apps/obs/default.nix
Normal file
25
modules/nixos/apps/obs/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.obs;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.obs = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable support for OBS.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
(pkgs.wrapOBS {
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
wlrobs
|
||||
obs-multi-rtmp
|
||||
obs-move-transition
|
||||
looking-glass-obs
|
||||
];
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
15
modules/nixos/apps/pcsx2/default.nix
Normal file
15
modules/nixos/apps/pcsx2/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.pcsx2;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.pcsx2 = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable PCSX2.";
|
||||
};
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { environment.systemPackages = with pkgs; [ pcsx2 ]; };
|
||||
}
|
15
modules/nixos/apps/pitivi/default.nix
Normal file
15
modules/nixos/apps/pitivi/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.pitivi;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.pitivi = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Pitivi.";
|
||||
};
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { environment.systemPackages = with pkgs; [ pitivi ]; };
|
||||
}
|
16
modules/nixos/apps/pocketcasts/default.nix
Normal file
16
modules/nixos/apps/pocketcasts/default.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.pocketcasts;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.pocketcasts = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Pocketcasts.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs.plusultra; [ pocketcasts ];
|
||||
};
|
||||
}
|
15
modules/nixos/apps/prismlauncher/default.nix
Normal file
15
modules/nixos/apps/prismlauncher/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.prismlauncher;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.prismlauncher = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Prism Launcher.";
|
||||
};
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { environment.systemPackages = with pkgs; [ prismlauncher ]; };
|
||||
}
|
16
modules/nixos/apps/protontricks/default.nix
Normal file
16
modules/nixos/apps/protontricks/default.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.protontricks;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.protontricks = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Protontricks.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [ protontricks ];
|
||||
};
|
||||
}
|
18
modules/nixos/apps/r2modman/default.nix
Normal file
18
modules/nixos/apps/r2modman/default.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{ options
|
||||
, config
|
||||
, lib
|
||||
, pkgs
|
||||
, ...
|
||||
}:
|
||||
with lib;
|
||||
with lib.plusultra; let
|
||||
cfg = config.plusultra.apps.r2modman;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.r2modman = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable r2modman.";
|
||||
};
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { environment.systemPackages = with pkgs; [ r2modman ]; };
|
||||
}
|
16
modules/nixos/apps/rpcs3/default.nix
Normal file
16
modules/nixos/apps/rpcs3/default.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.rpcs3;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.rpcs3 = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable rpcs3.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [ rpcs3 ];
|
||||
};
|
||||
}
|
30
modules/nixos/apps/steam/default.nix
Normal file
30
modules/nixos/apps/steam/default.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.steam;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.steam = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable support for Steam.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.steam.enable = true;
|
||||
programs.steam.remotePlay.openFirewall = true;
|
||||
|
||||
hardware.steam-hardware.enable = true;
|
||||
|
||||
# Enable GameCube controller support.
|
||||
services.udev.packages = [ pkgs.dolphinEmu ];
|
||||
|
||||
environment.systemPackages = with pkgs.plusultra; [
|
||||
steam
|
||||
];
|
||||
|
||||
environment.sessionVariables = {
|
||||
STEAM_EXTRA_COMPAT_TOOLS_PATHS = "$HOME/.steam/root/compatibilitytools.d";
|
||||
};
|
||||
};
|
||||
}
|
18
modules/nixos/apps/steamtinkerlaunch/default.nix
Normal file
18
modules/nixos/apps/steamtinkerlaunch/default.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{ lib, pkgs, config, ... }:
|
||||
|
||||
let
|
||||
cfg = config.plusultra.apps.steamtinkerlaunch;
|
||||
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.steamtinkerlaunch = {
|
||||
enable = mkEnableOption "Steam Tinker Launch";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
steamtinkerlaunch
|
||||
];
|
||||
};
|
||||
}
|
15
modules/nixos/apps/twitter/default.nix
Normal file
15
modules/nixos/apps/twitter/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.twitter;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.twitter = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Twitter.";
|
||||
};
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { environment.systemPackages = with pkgs.plusultra; [ twitter ]; };
|
||||
}
|
23
modules/nixos/apps/ubports-installer/default.nix
Normal file
23
modules/nixos/apps/ubports-installer/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.ubports-installer;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.ubports-installer = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable the UBPorts Installer.";
|
||||
};
|
||||
|
||||
config =
|
||||
mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs.plusultra; [
|
||||
ubports-installer
|
||||
];
|
||||
|
||||
services.udev.packages = with pkgs.plusultra; [
|
||||
ubports-installer-udev-rules
|
||||
];
|
||||
};
|
||||
}
|
21
modules/nixos/apps/virtualbox/default.nix
Normal file
21
modules/nixos/apps/virtualbox/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.virtualbox;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.virtualbox = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Virtualbox.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
virtualisation.virtualbox.host = {
|
||||
enable = true;
|
||||
enableExtensionPack = true;
|
||||
};
|
||||
|
||||
plusultra.user.extraGroups = [ "vboxusers" ];
|
||||
};
|
||||
}
|
14
modules/nixos/apps/vlc/default.nix
Normal file
14
modules/nixos/apps/vlc/default.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.vlc;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.vlc = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable vlc.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ vlc ]; };
|
||||
}
|
14
modules/nixos/apps/vscode/default.nix
Normal file
14
modules/nixos/apps/vscode/default.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let cfg = config.plusultra.apps.vscode;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.vscode = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable vscode.";
|
||||
};
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { environment.systemPackages = with pkgs; [ vscode ]; };
|
||||
}
|
15
modules/nixos/apps/winetricks/default.nix
Normal file
15
modules/nixos/apps/winetricks/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.winetricks;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.winetricks = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Winetricks.";
|
||||
};
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { environment.systemPackages = with pkgs; [ winetricks ]; };
|
||||
}
|
15
modules/nixos/apps/yt-music/default.nix
Normal file
15
modules/nixos/apps/yt-music/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.yt-music;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.yt-music = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable YouTube Music.";
|
||||
};
|
||||
|
||||
config =
|
||||
mkIf cfg.enable { environment.systemPackages = with pkgs.plusultra; [ yt-music ]; };
|
||||
}
|
17
modules/nixos/apps/yubikey/default.nix
Normal file
17
modules/nixos/apps/yubikey/default.nix
Normal file
|
@ -0,0 +1,17 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.yubikey;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.yubikey = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Yubikey.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.yubikey-agent.enable = true;
|
||||
environment.systemPackages = with pkgs; [ yubikey-manager-qt ];
|
||||
};
|
||||
}
|
16
modules/nixos/apps/yuzu/default.nix
Normal file
16
modules/nixos/apps/yuzu/default.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.yuzu;
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.yuzu = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Yuzu.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [ yuzu-mainline ];
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue