Add all of iogamaster modules
This commit is contained in:
23
modules/nixos/apps/brave/default.nix
Normal file
23
modules/nixos/apps/brave/default.nix
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
options,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.frajul; let
|
||||
cfg = config.apps.brave;
|
||||
in {
|
||||
options.apps.brave = with types; {
|
||||
enable = mkBoolOpt false "Enable or disable brave browser";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [pkgs.brave];
|
||||
|
||||
home.persist.directories = [
|
||||
".local/share/BraveSoftware"
|
||||
];
|
||||
};
|
||||
}
|
26
modules/nixos/apps/discord/default.nix
Normal file
26
modules/nixos/apps/discord/default.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
options,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.frajul;
|
||||
let
|
||||
cfg = config.apps.discord;
|
||||
in
|
||||
{
|
||||
options.apps.discord = with types; {
|
||||
enable = mkBoolOpt false "Enable discord";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
(pkgs.discord.override { withOpenASAR = true; })
|
||||
pkgs.xwaylandvideobridge
|
||||
];
|
||||
|
||||
home.persist.directories = [ ".config/discord" ];
|
||||
};
|
||||
}
|
29
modules/nixos/apps/firefox/default.nix
Normal file
29
modules/nixos/apps/firefox/default.nix
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
options,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.frajul;
|
||||
let
|
||||
cfg = config.apps.firefox;
|
||||
in
|
||||
{
|
||||
options.apps.firefox = with types; {
|
||||
enable = mkBoolOpt false "Enable or disable firefox browser";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.programs.firefox = {
|
||||
enable = true;
|
||||
package = pkgs.librewolf;
|
||||
};
|
||||
|
||||
home.persist.directories = [
|
||||
".librewolf"
|
||||
".cache/librewolf"
|
||||
];
|
||||
};
|
||||
}
|
47
modules/nixos/apps/foot/default.nix
Normal file
47
modules/nixos/apps/foot/default.nix
Normal file
@@ -0,0 +1,47 @@
|
||||
{
|
||||
options,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.frajul;
|
||||
let
|
||||
cfg = config.apps.foot;
|
||||
inherit (inputs.nix-colors.colorschemes.${builtins.toString config.desktop.colorscheme}) palette;
|
||||
in
|
||||
{
|
||||
options.apps.foot = with types; {
|
||||
enable = mkBoolOpt false "Enable or disable the foot terminal.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [ pkgs.foot ];
|
||||
|
||||
home.configFile."foot/foot.ini".text = ''
|
||||
font=JetBrains Mono Nerd Font:size=12
|
||||
pad=5x5
|
||||
[colors]
|
||||
foreground=${palette.base05}
|
||||
background=${palette.base00}
|
||||
regular0=${palette.base03}
|
||||
regular1=${palette.base08}
|
||||
regular2=${palette.base0B}
|
||||
regular3=${palette.base0A}
|
||||
regular4=${palette.base0D}
|
||||
regular5=${palette.base0F}
|
||||
regular6=${palette.base0C}
|
||||
regular7=${palette.base05}
|
||||
bright0=${palette.base04}
|
||||
bright1=${palette.base08}
|
||||
bright2=${palette.base0B}
|
||||
bright3=${palette.base0A}
|
||||
bright4=${palette.base0D}
|
||||
bright5=${palette.base0F}
|
||||
bright6=${palette.base0C}
|
||||
bright7=${palette.base05}
|
||||
'';
|
||||
};
|
||||
}
|
38
modules/nixos/apps/lutris/default.nix
Normal file
38
modules/nixos/apps/lutris/default.nix
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
options,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.frajul; let
|
||||
cfg = config.apps.lutris;
|
||||
in {
|
||||
options.apps.lutris = with types; {
|
||||
enable = mkBoolOpt false "Enable or disable lutris";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
pkgs.lutris
|
||||
pkgs.fuse
|
||||
];
|
||||
|
||||
home.persist.directories = [
|
||||
".local/share/lutris"
|
||||
".cache/lutris"
|
||||
"Games"
|
||||
];
|
||||
|
||||
# Appimages for certain games
|
||||
boot.binfmt.registrations.appimage = {
|
||||
wrapInterpreterInShell = false;
|
||||
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
|
||||
recognitionType = "magic";
|
||||
offset = 0;
|
||||
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
|
||||
magicOrExtension = ''\x7fELF....AI\x02'';
|
||||
};
|
||||
};
|
||||
}
|
45
modules/nixos/apps/misc/default.nix
Normal file
45
modules/nixos/apps/misc/default.nix
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
options,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.frajul; let
|
||||
cfg = config.apps.misc;
|
||||
in {
|
||||
options.apps.misc = with types; {
|
||||
enable = mkBoolOpt false "Enable or disable misc apps";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Development
|
||||
git
|
||||
git-remote-gcrypt
|
||||
bat
|
||||
eza
|
||||
fzf
|
||||
fd
|
||||
|
||||
# Util
|
||||
unzip
|
||||
sshfs
|
||||
btop
|
||||
ffmpeg
|
||||
python3
|
||||
wl-clipboard
|
||||
|
||||
obsidian
|
||||
pandoc
|
||||
bookworm
|
||||
|
||||
kjv
|
||||
];
|
||||
|
||||
home.persist.directories = [
|
||||
".config/obsidian"
|
||||
];
|
||||
};
|
||||
}
|
37
modules/nixos/apps/neovim/default.nix
Normal file
37
modules/nixos/apps/neovim/default.nix
Normal file
@@ -0,0 +1,37 @@
|
||||
{
|
||||
options,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.frajul; let
|
||||
cfg = config.apps.neovim;
|
||||
in {
|
||||
options.apps.neovim = with types; {
|
||||
enable = mkBoolOpt false "Enable or disable neovim";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.variables = {
|
||||
EDITOR = "nvim";
|
||||
};
|
||||
environment.systemPackages = [
|
||||
pkgs.neovim
|
||||
|
||||
pkgs.lazygit
|
||||
pkgs.stylua
|
||||
pkgs.sumneko-lua-language-server
|
||||
pkgs.ripgrep
|
||||
];
|
||||
|
||||
home.persist.directories = [
|
||||
".local/share/nvim"
|
||||
".vim"
|
||||
".wakatime"
|
||||
];
|
||||
|
||||
home.persist.files = [".wakatime.cfg" ".wakatime.bdb"];
|
||||
};
|
||||
}
|
33
modules/nixos/apps/pass/default.nix
Normal file
33
modules/nixos/apps/pass/default.nix
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
options,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.frajul; let
|
||||
cfg = config.apps.pass;
|
||||
in {
|
||||
options.apps.pass = with types; {
|
||||
enable = mkBoolOpt false "Enable or disable pass";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
apps.tools.gnupg.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
(writeShellScriptBin "pass" ''
|
||||
GNUPGHOME="$XDG_DATA_HOME/gnupg" PASSWORD_STORE_DIR="$XDG_DATA_HOME/pass" ${pkgs.pass.withExtensions (exts: [
|
||||
exts.pass-otp
|
||||
exts.pass-update
|
||||
exts.pass-audit
|
||||
])}/bin/pass $@
|
||||
'')
|
||||
];
|
||||
|
||||
home.persist.directories = [
|
||||
".local/share/pass"
|
||||
];
|
||||
};
|
||||
}
|
40
modules/nixos/apps/steam/default.nix
Normal file
40
modules/nixos/apps/steam/default.nix
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
options,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.frajul; let
|
||||
cfg = config.apps.steam;
|
||||
in {
|
||||
options.apps.steam = with types; {
|
||||
enable = mkBoolOpt false "Enable or disable steam";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.steam.enable = true;
|
||||
programs.steam.remotePlay.openFirewall = true;
|
||||
programs.steam.gamescopeSession.enable = true;
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.steam
|
||||
pkgs.mangohud
|
||||
pkgs.protonup
|
||||
];
|
||||
|
||||
environment.sessionVariables = {
|
||||
STEAM_EXTRA_COMPAT_TOOLS_PATHS = "/home/${config.user.name}/.steam/root/compatibilitytools.d";
|
||||
};
|
||||
|
||||
programs.gamemode.enable = true;
|
||||
|
||||
home.persist.directories = [
|
||||
".local/share/Steam"
|
||||
".steam"
|
||||
|
||||
".local/share/Terraria"
|
||||
];
|
||||
};
|
||||
}
|
28
modules/nixos/apps/tools/direnv/default.nix
Normal file
28
modules/nixos/apps/tools/direnv/default.nix
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
options,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.frajul; let
|
||||
cfg = config.apps.tools.direnv;
|
||||
in {
|
||||
options.apps.tools.direnv = with types; {
|
||||
enable = mkBoolOpt false "Enable direnv";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
|
||||
environment.sessionVariables.DIRENV_LOG_FORMAT = ""; # Blank so direnv will shut up
|
||||
|
||||
home.persist.directories = [
|
||||
".local/share/direnv"
|
||||
];
|
||||
};
|
||||
}
|
19
modules/nixos/apps/tools/git/config.nix
Normal file
19
modules/nixos/apps/tools/git/config.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{sshKeyPath}: ''
|
||||
[user]
|
||||
name = IogaMaster
|
||||
email = iogamastercode@gmail.com
|
||||
signingkey = ${sshKeyPath}
|
||||
[pull]
|
||||
rebase = true
|
||||
[init]
|
||||
defaultBranch = main
|
||||
[filter "lfs"]
|
||||
process = git-lfs filter-process
|
||||
required = true
|
||||
clean = git-lfs clean -- %f
|
||||
smudge = git-lfs smudge -- %f
|
||||
[gpg]
|
||||
format = ssh
|
||||
[commit]
|
||||
gpgsign = true
|
||||
''
|
45
modules/nixos/apps/tools/git/default.nix
Normal file
45
modules/nixos/apps/tools/git/default.nix
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
options,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.frajul; let
|
||||
cfg = config.apps.tools.git;
|
||||
in {
|
||||
options.apps.tools.git = with types; {
|
||||
enable = mkBoolOpt false "Enable or disable git";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
git
|
||||
git-remote-gcrypt
|
||||
|
||||
gh # GitHub cli
|
||||
|
||||
lazygit
|
||||
commitizen
|
||||
];
|
||||
|
||||
environment.shellAliases = {
|
||||
# Git aliases
|
||||
ga = "git add .";
|
||||
gc = "git commit -m ";
|
||||
gp = "git push -u origin";
|
||||
|
||||
g = "lazygit";
|
||||
};
|
||||
|
||||
home.configFile."git/config".text = import ./config.nix {sshKeyPath = "/home/${config.user.name}/.ssh/key.pub";};
|
||||
home.configFile."lazygit/config.yml".source = ./lazygitConfig.yml;
|
||||
|
||||
home.persist.directories = [
|
||||
".config/gh"
|
||||
".config/lazygit"
|
||||
".config/systemd" # For git maintainance
|
||||
];
|
||||
};
|
||||
}
|
26
modules/nixos/apps/tools/git/lazygitConfig.yml
Normal file
26
modules/nixos/apps/tools/git/lazygitConfig.yml
Normal file
@@ -0,0 +1,26 @@
|
||||
gui:
|
||||
nerdFontsVersion: "3"
|
||||
|
||||
git:
|
||||
overrideGpg: true
|
||||
|
||||
customCommands:
|
||||
- key: "C"
|
||||
command: "git cz c"
|
||||
description: "commit with commitizen"
|
||||
context: "files"
|
||||
loadingText: "opening commitizen commit tool"
|
||||
subprocess: true
|
||||
- key: 'D'
|
||||
command: >-
|
||||
git push {{ .SelectedLocalBranch.UpstreamRemote }} --delete {{ .SelectedLocalBranch.UpstreamBranch }} &&
|
||||
git branch -D {{ .SelectedLocalBranch.Name }}
|
||||
description: "delete local AND remote branch"
|
||||
context: 'localBranches'
|
||||
stream: true
|
||||
- key: 'T'
|
||||
command: >-
|
||||
for branch in $(git branch --all | grep '^\s*remotes' | egrep --invert-match '(:?HEAD|master)$'); do git branch --track "${branch##*/}" "$branch"; done
|
||||
description: "add ALL remote branches to the list"
|
||||
context: 'localBranches'
|
||||
stream: true
|
44
modules/nixos/apps/tools/gnupg/default.nix
Normal file
44
modules/nixos/apps/tools/gnupg/default.nix
Normal file
@@ -0,0 +1,44 @@
|
||||
{
|
||||
options,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.frajul; let
|
||||
cfg = config.apps.tools.gnupg;
|
||||
in {
|
||||
options.apps.tools.gnupg = with types; {
|
||||
enable = mkBoolOpt false "Enable gnupg";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
pkgs.pinentry
|
||||
pkgs.pinentry-curses
|
||||
|
||||
(pkgs.writeShellScriptBin "gpg" ''
|
||||
GNUPGHOME=${config.environment.variables.GNUPGHOME} ${pkgs.gnupg}/bin/gpg $@
|
||||
'')
|
||||
];
|
||||
|
||||
services.pcscd.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
pinentryPackage = pkgs.pinentry-curses;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
home.file.".local/share/gnupg/gpg-agent.conf".source = ./gpg-agent.conf;
|
||||
|
||||
environment.variables = {
|
||||
GNUPGHOME = "$XDG_DATA_HOME/gnupg";
|
||||
};
|
||||
|
||||
home.persist.directories = [
|
||||
".local/share/gnupg"
|
||||
".pki"
|
||||
];
|
||||
};
|
||||
}
|
1
modules/nixos/apps/tools/gnupg/gpg-agent.conf
Normal file
1
modules/nixos/apps/tools/gnupg/gpg-agent.conf
Normal file
@@ -0,0 +1 @@
|
||||
pinentry-program /run/current-system/sw/bin/pinentry-curses
|
22
modules/nixos/apps/tools/nix-ld/default.nix
Normal file
22
modules/nixos/apps/tools/nix-ld/default.nix
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
options,
|
||||
config,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.frajul; let
|
||||
cfg = config.apps.tools.nix-ld;
|
||||
in {
|
||||
imports = with inputs; [
|
||||
nix-ld.nixosModules.nix-ld
|
||||
];
|
||||
options.apps.tools.nix-ld = with types; {
|
||||
enable = mkBoolOpt false "Enable nix-ld";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.nix-ld.enable = true;
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user