Compare commits
13 commits
19a39b8990
...
e2861a968a
Author | SHA1 | Date | |
---|---|---|---|
Tigor Hutasuhut | e2861a968a | ||
Tigor Hutasuhut | 95915cb1cf | ||
Tigor Hutasuhut | fcf0bc8f4a | ||
Tigor Hutasuhut | 033047ef89 | ||
Tigor Hutasuhut | ef77cd43d2 | ||
Tigor Hutasuhut | 77f1c61453 | ||
Tigor Hutasuhut | 2d41ef0a04 | ||
Tigor Hutasuhut | bc91e35654 | ||
Tigor Hutasuhut | 7da0eb68ee | ||
Tigor Hutasuhut | 22444e618a | ||
Tigor Hutasuhut | f0e39cef87 | ||
Tigor Hutasuhut | 21f0679e20 | ||
Tigor Hutasuhut | 87c0368b90 |
|
@ -19,7 +19,7 @@
|
|||
./node.nix
|
||||
./slack.nix
|
||||
./spotify.nix
|
||||
./starship.nix
|
||||
# ./starship.nix
|
||||
./tofi.nix
|
||||
./variety.nix
|
||||
./vscode.nix
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, unstable, ... }:
|
||||
{ config, lib, ... }:
|
||||
let
|
||||
cfg = config.profile.go;
|
||||
in
|
||||
|
@ -9,7 +9,6 @@ in
|
|||
goPrivate = [
|
||||
"gitlab.bareksa.com"
|
||||
];
|
||||
package = unstable.go_1_22;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,15 +1,25 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{ pkgs, lib, config, ... }:
|
||||
let
|
||||
inherit (lib.strings) optionalString concatStrings;
|
||||
in
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
eza
|
||||
bat
|
||||
gojq
|
||||
nix-zsh-completions
|
||||
];
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
envExtra = /*bash*/ ''
|
||||
# Disable loading global RC files in /etc/zsh/*
|
||||
# Mostly because they are unneeded
|
||||
# and global rc files has to be small for security reasons (no plugins)
|
||||
# thus making them saver for Root account to load them.
|
||||
unsetopt GLOBAL_RCS
|
||||
'';
|
||||
autosuggestion.enable = true;
|
||||
enableCompletion = false;
|
||||
enableCompletion = true;
|
||||
defaultKeymap = "emacs";
|
||||
dirHashes = {
|
||||
docs = "$HOME/Documents";
|
||||
|
@ -36,29 +46,90 @@
|
|||
expireDuplicatesFirst = true;
|
||||
extended = true;
|
||||
ignoreAllDups = true;
|
||||
ignoreSpace = true;
|
||||
path = "$HOME/.local/share/zsh/zsh_history";
|
||||
save = 40000;
|
||||
size = 40000;
|
||||
};
|
||||
syntaxHighlighting.enable = true;
|
||||
initExtraFirst = /*bash*/ ''
|
||||
export ZSH_CACHE_DIR=$HOME/.cache/zsh
|
||||
fpath+=${pkgs.zsh-completions}/share/zsh/site-functions
|
||||
|
||||
if [ -f $HOME/.config/zsh/.p10k.zsh ]; then
|
||||
source $HOME/.config/zsh/.p10k.zsh
|
||||
fi
|
||||
|
||||
_ZSH_COLOR_SCHEME_FILE=$HOME/.cache/wallust/sequences
|
||||
if [ -f "$_ZSH_COLOR_SCHEME_FILE" ]; then
|
||||
(cat "$_ZSH_COLOR_SCHEME_FILE" &)
|
||||
fi
|
||||
'';
|
||||
initExtra = /*bash*/ ''
|
||||
bindkey '^I' menu-complete
|
||||
bindkey "$terminfo[kcbt]" reverse-menu-complete
|
||||
'';
|
||||
antidote = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
# "zdharma-continuum/fast-syntax-highlighting kind:defer"
|
||||
"zsh-users/zsh-autosuggestions kind:defer"
|
||||
"zsh-users/zsh-history-substring-search kind:defer"
|
||||
"zsh-users/zsh-completions"
|
||||
# "marlonrichert/zsh-autocomplete"
|
||||
];
|
||||
};
|
||||
initExtra = concatStrings [
|
||||
/*bash*/
|
||||
''
|
||||
packfiles() {
|
||||
find $(nix build "nixpkgs#$1" --no-link --print-out-paths)
|
||||
}
|
||||
|
||||
# Completion settings
|
||||
## Case insensitive completion
|
||||
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
|
||||
|
||||
# FZF Tab configurations
|
||||
#
|
||||
# disable sort when completing `git checkout`
|
||||
zstyle ':completion:*:git-checkout:*' sort false
|
||||
# set descriptions format to enable group support
|
||||
# NOTE: don't use escape sequences here, fzf-tab will ignore them
|
||||
zstyle ':completion:*:descriptions' format '[%d]'
|
||||
# set list-colors to enable filename colorizing
|
||||
zstyle ':completion:*' list-colors ''${(s.:.)LS_COLORS}
|
||||
# force zsh not to show completion menu, which allows fzf-tab to capture the unambiguous prefix
|
||||
zstyle ':completion:*' menu no
|
||||
# preview directory's content with eza when completing cd
|
||||
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'eza -1 --color=always $realpath'
|
||||
# switch group using `<` and `>`
|
||||
zstyle ':fzf-tab:*' switch-group '<' '>'
|
||||
# Preview fzf
|
||||
zstyle ':fzf-tab:*' fzf-preview 'eza -1 --color=always $realpath'
|
||||
''
|
||||
(optionalString config.profile.podman.enable /*bash*/ ''
|
||||
zsh-defer source <(podman completion zsh)
|
||||
'')
|
||||
];
|
||||
|
||||
plugins = [
|
||||
{
|
||||
name = "fzf-tab";
|
||||
src = pkgs.zsh-fzf-tab;
|
||||
file = "share/fzf-tab/fzf-tab.plugin.zsh";
|
||||
}
|
||||
{
|
||||
name = "powerlevel10k";
|
||||
src = pkgs.zsh-powerlevel10k;
|
||||
file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
|
||||
}
|
||||
{
|
||||
name = "auto-suggestions";
|
||||
src = pkgs.zsh-autosuggestions;
|
||||
file = "share/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh";
|
||||
}
|
||||
{
|
||||
name = "zsh-nix-shell";
|
||||
src = pkgs.zsh-nix-shell;
|
||||
file = "share/zsh-nix-shell/nix-shell.plugin.zsh";
|
||||
}
|
||||
{
|
||||
name = "zsh-history-substring-search";
|
||||
src = pkgs.zsh-history-substring-search;
|
||||
file = "share/zsh-history-substring-search/zsh-history-substring-search.zsh";
|
||||
}
|
||||
{
|
||||
name = "zsh-defer";
|
||||
src = pkgs.zsh-defer;
|
||||
file = "share/zsh-defer/zsh-defer.plugin.zsh";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -62,5 +62,7 @@
|
|||
|
||||
microsoft-edge.enable = true;
|
||||
nextcloud.enable = false;
|
||||
|
||||
programs.easyeffects.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
redmage-demo.enable = true;
|
||||
qbittorrent.enable = true;
|
||||
servarr.enable = true;
|
||||
servarr.recyclarr.enable = false;
|
||||
servarr.recyclarr.enable = true;
|
||||
servarr.real-debrid-manager.enable = false;
|
||||
servarr.rdtclient.enable = true;
|
||||
};
|
||||
|
|
|
@ -8,5 +8,6 @@
|
|||
./bazarr.nix
|
||||
./radarr.nix
|
||||
./rdtclient.nix
|
||||
./recyclarr.nix
|
||||
];
|
||||
}
|
||||
|
|
|
@ -34,21 +34,45 @@ in
|
|||
owner = user.name;
|
||||
path = "${configVolume}/recyclarr.yml";
|
||||
content = builtins.readFile ((pkgs.formats.yaml { }).generate "recyclarr.yml" {
|
||||
radarr.movies = {
|
||||
base_url = "http://radarr:7878";
|
||||
api_key = config.sops.placeholder."servarr/api_keys/radarr";
|
||||
quality_definition.type = "movie";
|
||||
delete_old_custom_formats = true;
|
||||
custom_formats = [
|
||||
{
|
||||
trash_ids = [
|
||||
# x264 only. For 720p and 1080p releases.
|
||||
"2899d84dc9372de3408e6d8cc18e9666"
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
sonarr = {
|
||||
tv = {
|
||||
base_url = "http://sonarr:8989";
|
||||
api_key = config.sops.placeholders."servarr/api_keys/sonarr";
|
||||
quality_definition.type = "series";
|
||||
release_profiles = [
|
||||
{
|
||||
trash_ids = [ ];
|
||||
}
|
||||
];
|
||||
};
|
||||
# tv = {
|
||||
# base_url = "http://sonarr:8989";
|
||||
# api_key = config.sops.placeholder."servarr/api_keys/sonarr";
|
||||
# quality_definition.type = "series";
|
||||
# custom_formats = [ ];
|
||||
# };
|
||||
anime = {
|
||||
base_url = "http://sonarr-anime:8989";
|
||||
api_key = config.sops.placeholders."servarr/api_keys/sonarr-anime";
|
||||
api_key = config.sops.placeholder."servarr/api_keys/sonarr-anime";
|
||||
quality_definition.type = "anime";
|
||||
delete_old_custom_formats = true;
|
||||
custom_formats = [
|
||||
# sudo podman run --rm ghcr.io/recyclarr/recyclarr list custom-formats sonarr
|
||||
{
|
||||
trash_ids = [
|
||||
# Anime Web Tier 02 (Top FanSubs)
|
||||
"19180499de5ef2b84b6ec59aae444696"
|
||||
# Anime Web Tier 03 (Official Subs)
|
||||
"c27f2ae6a4e82373b0f1da094e2489ad"
|
||||
# Anime web tier 04 (Official Subs)
|
||||
"4fd5528a3a8024e6b49f9c67053ea5f3"
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
});
|
||||
|
|
|
@ -11,6 +11,7 @@ in
|
|||
services.caddy.virtualHosts."cockpit.tigor.web.id".extraConfig = ''
|
||||
reverse_proxy 0.0.0.0:9090
|
||||
'';
|
||||
services.udisks2.enable = true;
|
||||
services.cockpit = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
|
|
|
@ -3,7 +3,7 @@ let
|
|||
cfg = config.profile.services.jellyfin;
|
||||
dataDir = "/nas/mediaserver/jellyfin";
|
||||
domain = "jellyfin.tigor.web.id";
|
||||
domain-jellyseerr = "media.tigor.web.id";
|
||||
domain-jellyseerr = "jellyseerr.tigor.web.id";
|
||||
inherit (lib) mkIf;
|
||||
username = config.profile.user.name;
|
||||
in
|
||||
|
|
|
@ -78,6 +78,29 @@ in
|
|||
id = "WireGuard";
|
||||
devices = lib.attrsets.mapAttrsToList (key: _value: key) config.services.syncthing.settings.devices;
|
||||
};
|
||||
"/nas/photos/mama" = {
|
||||
label = "Camera Mama";
|
||||
id = "sm-s906e_8dch-photos";
|
||||
devices = [ "samsung-s22-mama" ];
|
||||
};
|
||||
"/nas/photos/tigor" = {
|
||||
label = "Camera Tigor";
|
||||
id = "sm-g780f_yjwa-photos";
|
||||
devices = [ "s20fe" ];
|
||||
};
|
||||
"/nas/Syncthing/Sync/Onyx-Notes" = {
|
||||
label = "Onyx Notes";
|
||||
id = "Onyx-Notes";
|
||||
devices = [ "onyx" ];
|
||||
};
|
||||
"/nas/Syncthing/Sync/Japanese-Learning-Materials" = {
|
||||
label = "Japanese Learning Materials";
|
||||
id = "Japanese-Learning-Materials";
|
||||
devices = [
|
||||
"s20fe"
|
||||
"work-laptop"
|
||||
];
|
||||
};
|
||||
};
|
||||
devices = {
|
||||
s20fe = {
|
||||
|
@ -102,8 +125,8 @@ in
|
|||
};
|
||||
};
|
||||
};
|
||||
overrideFolders = false;
|
||||
overrideDevices = false;
|
||||
overrideFolders = true;
|
||||
overrideDevices = true;
|
||||
openDefaultPorts = true;
|
||||
guiAddress = "0.0.0.0:8384";
|
||||
user = user.name;
|
||||
|
|
Loading…
Reference in a new issue