added more programs
This commit is contained in:
parent
39be9fcb58
commit
842011cce8
@ -109,6 +109,7 @@ in { # Remember to close this bracket at the end of the document
|
|||||||
mypaint-brushes # but it's got some
|
mypaint-brushes # but it's got some
|
||||||
mypaint-brushes1 # nice damn brushes
|
mypaint-brushes1 # nice damn brushes
|
||||||
unstable.pureref # create inspiration/reference boards
|
unstable.pureref # create inspiration/reference boards
|
||||||
|
unstable.gimp # the coolest bestest art program to never exist
|
||||||
|
|
||||||
# Gaming
|
# Gaming
|
||||||
lutris # game/emulator manager
|
lutris # game/emulator manager
|
||||||
@ -182,9 +183,15 @@ in { # Remember to close this bracket at the end of the document
|
|||||||
fzf # fuzzy finder! super cool and useful
|
fzf # fuzzy finder! super cool and useful
|
||||||
ripgrep # modern grep
|
ripgrep # modern grep
|
||||||
languagetool # proofreader for English. check if works without the service
|
languagetool # proofreader for English. check if works without the service
|
||||||
|
graphviz # graphs
|
||||||
|
# doom everywhere
|
||||||
|
xorg.xwininfo
|
||||||
|
xdotool
|
||||||
|
|
||||||
# development environment
|
# development environment
|
||||||
nix-direnv # nix implementation of direnv
|
nix-direnv # creates ephimeral environments
|
||||||
|
direnv # manages development environment
|
||||||
|
# editorconfig-checker # rules for contributing
|
||||||
exercism # learn to code
|
exercism # learn to code
|
||||||
|
|
||||||
# SH
|
# SH
|
||||||
@ -193,6 +200,9 @@ in { # Remember to close this bracket at the end of the document
|
|||||||
shellcheck # linting
|
shellcheck # linting
|
||||||
shfmt # a shell parser and formatter
|
shfmt # a shell parser and formatter
|
||||||
nodePackages.bash-language-server # LSP support
|
nodePackages.bash-language-server # LSP support
|
||||||
|
file # required by my tasks script?
|
||||||
|
gnome.zenity # dependency of my scripts
|
||||||
|
xclip # manipulate clipboard from scripts
|
||||||
|
|
||||||
# NIX
|
# NIX
|
||||||
nixfmt # linting
|
nixfmt # linting
|
||||||
@ -209,8 +219,7 @@ in { # Remember to close this bracket at the end of the document
|
|||||||
|
|
||||||
# JS
|
# JS
|
||||||
# jq # linting
|
# jq # linting
|
||||||
# Node-js
|
nodejs # not as bad as I thought
|
||||||
# nodePackages.pnpm
|
|
||||||
|
|
||||||
gnome.gnome-tweaks # tweaks for the gnome desktop environment
|
gnome.gnome-tweaks # tweaks for the gnome desktop environment
|
||||||
|
|
||||||
@ -255,6 +264,7 @@ in { # Remember to close this bracket at the end of the document
|
|||||||
pylint # bug and style checker for python
|
pylint # bug and style checker for python
|
||||||
pytest # framework for writing tests
|
pytest # framework for writing tests
|
||||||
speedtest-cli # check internet speed from the comand line
|
speedtest-cli # check internet speed from the comand line
|
||||||
|
editorconfig # follow rules of contributin
|
||||||
|
|
||||||
]) ++ (with pkgs.fishPlugins; [
|
]) ++ (with pkgs.fishPlugins; [
|
||||||
sponge # keep history clean from typos
|
sponge # keep history clean from typos
|
||||||
@ -311,6 +321,7 @@ in { # Remember to close this bracket at the end of the document
|
|||||||
set lw $list_root/watch.txt
|
set lw $list_root/watch.txt
|
||||||
set li $list_root/instant.txt
|
set li $list_root/instant.txt
|
||||||
set lc $list_root/comic.txt
|
set lc $list_root/comic.txt
|
||||||
|
set command_timeout = 30
|
||||||
|
|
||||||
set GPG_TTY (tty)
|
set GPG_TTY (tty)
|
||||||
|
|
||||||
@ -340,66 +351,71 @@ in { # Remember to close this bracket at the end of the document
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.bat = {
|
programs = {
|
||||||
enable = true;
|
bat = {
|
||||||
config = {
|
enable = true;
|
||||||
# map-syntax = [ "*.jenkinsfile:Groovy" "*.props:Java Properties" ];
|
config = {
|
||||||
pager = "less -FR";
|
# map-syntax = [ "*.jenkinsfile:Groovy" "*.props:Java Properties" ];
|
||||||
theme = "base16";
|
pager = "less -FR";
|
||||||
|
theme = "base16";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Danilo Reyes";
|
||||||
|
userEmail = "CaptainJawZ@outlook.com";
|
||||||
|
};
|
||||||
|
gpg = {
|
||||||
|
enable = true;
|
||||||
|
homedir = "${config.xdg.dataHome}/gnupg";
|
||||||
|
};
|
||||||
|
htop = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.htop-vim;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.git = {
|
xdg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "Danilo Reyes";
|
userDirs = {
|
||||||
userEmail = "CaptainJawZ@outlook.com";
|
enable = true;
|
||||||
|
# createDirectories = true;
|
||||||
|
desktop = "${config.home.homeDirectory}";
|
||||||
|
documents = "${config.home.homeDirectory}/Documents";
|
||||||
|
download = "${config.home.homeDirectory}/Downloads";
|
||||||
|
music = "${config.home.homeDirectory}/Music";
|
||||||
|
pictures = "${config.home.homeDirectory}/Pictures";
|
||||||
|
# publicShare = "${config.home.homeDirectory}/.local/hd/Public";
|
||||||
|
templates = "${config.home.homeDirectory}/.local/share/Templates";
|
||||||
|
videos = "${config.home.homeDirectory}/Videos";
|
||||||
|
};
|
||||||
|
configFile = {
|
||||||
|
"wgetrc".source = ./dotfiles/wget/wgetrc;
|
||||||
|
"configstore/update-notifier-npm-check.json".source =
|
||||||
|
./dotfiles/npm/update-notifier-npm-check.json;
|
||||||
|
"npm/npmrc".source = ./dotfiles/npm/npmrc;
|
||||||
|
"gallery-dl/config.json".source = ./dotfiles/gallery-dl/config.json;
|
||||||
|
"htop/htoprc".source = ./dotfiles/htop/htoprc;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.gpg = {
|
services = {
|
||||||
enable = true;
|
emacs = {
|
||||||
homedir = "${config.xdg.dataHome}/gnupg";
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
package = pkgs.emacs;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.htop = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.htop-vim;
|
|
||||||
};
|
|
||||||
xdg.configFile."htop/htoprc".source = ./dotfiles/htop/htoprc;
|
|
||||||
|
|
||||||
xdg = { enable = true; };
|
|
||||||
xdg.userDirs = {
|
|
||||||
enable = true;
|
|
||||||
# createDirectories = true;
|
|
||||||
desktop = "${config.home.homeDirectory}";
|
|
||||||
documents = "${config.home.homeDirectory}/Documents";
|
|
||||||
download = "${config.home.homeDirectory}/Downloads";
|
|
||||||
music = "${config.home.homeDirectory}/Music";
|
|
||||||
pictures = "${config.home.homeDirectory}/Pictures";
|
|
||||||
# publicShare = "${config.home.homeDirectory}/.local/hd/Public";
|
|
||||||
templates = "${config.home.homeDirectory}/.local/share/Templates";
|
|
||||||
videos = "${config.home.homeDirectory}/Videos";
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.configFile = {
|
|
||||||
"wgetrc".source = ./dotfiles/wget/wgetrc;
|
|
||||||
"configstore/update-notifier-npm-check.json".source =
|
|
||||||
./dotfiles/npm/update-notifier-npm-check.json;
|
|
||||||
"npm/npmrc".source = ./dotfiles/npm/npmrc;
|
|
||||||
"gallery-dl/config.json".source = ./dotfiles/gallery-dl/config.json;
|
|
||||||
};
|
|
||||||
|
|
||||||
# services.mpd-discord-rpc.enable = true;
|
|
||||||
# services.mpdris2 = {
|
|
||||||
# enable = true;
|
|
||||||
# multimediaKeys = true;
|
|
||||||
# mpd.host = "localhost";
|
|
||||||
# };
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ wget docker-compose ];
|
environment.systemPackages = with pkgs; [
|
||||||
|
wget
|
||||||
|
neovim
|
||||||
|
docker-compose # easy way to migrate my docker anywhere!
|
||||||
|
];
|
||||||
|
|
||||||
environment.sessionVariables = rec {
|
environment.variables = rec {
|
||||||
# PATH
|
# PATH
|
||||||
XDG_CACHE_HOME = "\${HOME}/.cache";
|
XDG_CACHE_HOME = "\${HOME}/.cache";
|
||||||
XDG_CONFIG_HOME = "\${HOME}/.config";
|
XDG_CONFIG_HOME = "\${HOME}/.config";
|
||||||
@ -431,8 +447,7 @@ in { # Remember to close this bracket at the end of the document
|
|||||||
CUDA_CACHE_PATH = "\${XDG_CACHE_HOME}/nv";
|
CUDA_CACHE_PATH = "\${XDG_CACHE_HOME}/nv";
|
||||||
# GBM_BACKEND = "nvidia-drm";
|
# GBM_BACKEND = "nvidia-drm";
|
||||||
# "__GLX_VENDOR_LIBRARY_NAME" = "nvidia";
|
# "__GLX_VENDOR_LIBRARY_NAME" = "nvidia";
|
||||||
# FISH
|
|
||||||
fisher_path = "\${XDG_CONFIG_HOME}/fish/fisher";
|
|
||||||
# Themes
|
# Themes
|
||||||
# GTK_THEME = "Adwaita:light";
|
# GTK_THEME = "Adwaita:light";
|
||||||
# QT_QPA_PLATFORMTHEME = "adwaita-dark";
|
# QT_QPA_PLATFORMTHEME = "adwaita-dark";
|
||||||
@ -444,7 +459,7 @@ in { # Remember to close this bracket at the end of the document
|
|||||||
"\${XDG_CONFIG_HOME}/emacs/bin"
|
"\${XDG_CONFIG_HOME}/emacs/bin"
|
||||||
"\${XDG_DATA_HOME}/npm/bin"
|
"\${XDG_DATA_HOME}/npm/bin"
|
||||||
"\${PNPM_HOME}"
|
"\${PNPM_HOME}"
|
||||||
# "\${SCRIPTS}"
|
"\${SCRIPTS}"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -454,6 +469,35 @@ in { # Remember to close this bracket at the end of the document
|
|||||||
enableNvidia = true;
|
enableNvidia = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
snapraid = {
|
||||||
|
enable = true;
|
||||||
|
touchBeforeSync = true;
|
||||||
|
sync.interval = "02:00";
|
||||||
|
scrub = {
|
||||||
|
plan = 10;
|
||||||
|
olderThan = 10;
|
||||||
|
interval = "4:00";
|
||||||
|
};
|
||||||
|
parityFiles = [ "/mnt/parity/snapraid.parity" ];
|
||||||
|
extraConfig = ''
|
||||||
|
autosave 50
|
||||||
|
'';
|
||||||
|
exclude = [
|
||||||
|
"/tmp/"
|
||||||
|
"/lost+found/"
|
||||||
|
"/multimedia/downloads/"
|
||||||
|
"/scrapping/nextcloud/"
|
||||||
|
];
|
||||||
|
dataDisks = {
|
||||||
|
d1 = "/mnt/disk1/";
|
||||||
|
d2 = "/mnt/disk2/";
|
||||||
|
};
|
||||||
|
contentFiles = [
|
||||||
|
"/var/snapraid.content"
|
||||||
|
"/mnt/disk1/snapraid.content"
|
||||||
|
"/mnt/disk2/snapraid.content"
|
||||||
|
];
|
||||||
|
};
|
||||||
programs = {
|
programs = {
|
||||||
mtr.enable = true;
|
mtr.enable = true;
|
||||||
gnupg.agent = {
|
gnupg.agent = {
|
||||||
@ -470,11 +514,6 @@ in { # Remember to close this bracket at the end of the document
|
|||||||
|
|
||||||
services = {
|
services = {
|
||||||
printing.enable = true;
|
printing.enable = true;
|
||||||
emacs = {
|
|
||||||
enable = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
package = pkgs.emacs;
|
|
||||||
};
|
|
||||||
fstrim.enable = true;
|
fstrim.enable = true;
|
||||||
btrfs.autoScrub = {
|
btrfs.autoScrub = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -487,6 +526,29 @@ in { # Remember to close this bracket at the end of the document
|
|||||||
udev.packages = with pkgs; [ gnome.gnome-settings-daemon ];
|
udev.packages = with pkgs; [ gnome.gnome-settings-daemon ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.services = {
|
||||||
|
"docker-compose" = {
|
||||||
|
enable = true;
|
||||||
|
restartIfChanged = true;
|
||||||
|
description = "Start docker-compose servers";
|
||||||
|
after = [ "docker.service" "docker.socket" ];
|
||||||
|
requires = [ "docker.service" "docker.socket" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
environment = {
|
||||||
|
FILE = "/home/jawz/Development/Docker/docker-compose.yml";
|
||||||
|
};
|
||||||
|
path = [ pkgs.docker-compose ];
|
||||||
|
serviceConfig = {
|
||||||
|
Restart = "on-failure";
|
||||||
|
# Type = "simple";
|
||||||
|
RestartSec = 30;
|
||||||
|
ExecStart =
|
||||||
|
"${pkgs.docker-compose}/bin/docker-compose -f \${FILE} up --remove-orphans";
|
||||||
|
ExecStop = "${pkgs.docker-compose}docker-compose -f \${FILE} down";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
# Or disable the firewall altogether.
|
# Or disable the firewall altogether.
|
||||||
|
|||||||
@ -3,63 +3,52 @@
|
|||||||
#+PROPERTY: header-args :tangle configuration.nix
|
#+PROPERTY: header-args :tangle configuration.nix
|
||||||
#+auto_tangle: t
|
#+auto_tangle: t
|
||||||
|
|
||||||
* TODO [2/10]
|
* TODO [0/6]
|
||||||
- [X] Clean up configuration file
|
- [ ] System configurations [0/8]
|
||||||
- [X] Merge current config
|
|
||||||
- [ ] System configurations [0/7]
|
|
||||||
- [ ] fail2ban
|
- [ ] fail2ban
|
||||||
- [ ] Bluetooth multiple devices + pass-through
|
- [ ] Bluetooth multiple devices + pass-through
|
||||||
- [ ] Automatic updates
|
|
||||||
- [ ] SSH settings
|
- [ ] SSH settings
|
||||||
|
- [ ] GNUPG keys
|
||||||
|
- [ ] Automatic updates
|
||||||
- [ ] Automatic garbage collection
|
- [ ] Automatic garbage collection
|
||||||
- [ ] Firewall ports
|
- [ ] Firewall ports
|
||||||
- [ ] Topgrade (perhaps unnecessary)
|
- [ ] Topgrade (perhaps unnecessary)
|
||||||
- [-] SystemD services [2/5]
|
- [-] SystemD services [4/5]
|
||||||
- [ ] docker-compose
|
- [X] docker-compose
|
||||||
- [ ] snapraid
|
- [X] snapraid
|
||||||
- [X] FStrim
|
- [X] FStrim
|
||||||
- [X] BTRFS scrub
|
- [X] BTRFS scrub
|
||||||
- [ ] Personal scripts [0/3]
|
- [ ] Personal scripts [0/3]
|
||||||
- [ ] download
|
- [ ] download
|
||||||
- [ ] Instagram
|
- [ ] Instagram
|
||||||
- [ ] startup tasks
|
- [ ] startup tasks
|
||||||
- [ ] Migrate dotfiles [0/3]
|
- [ ] dotfiles [0/4]
|
||||||
- [ ] .config [0/3]
|
- [ ] create a declarative Firefox or Librewolf install
|
||||||
- [ ] celluloid [0/2]
|
- [ ] migrate config to home-manager
|
||||||
- [ ] Make sure plugins work
|
- [ ] migrate share to home-manager
|
||||||
- [ ] Declare plugins?
|
- [ ] migrate dconf to home-manager
|
||||||
- [ ] Firefox [0/7]
|
- [-] Migrate apps [3/6]
|
||||||
https://ffprofile.com/#finish
|
- [-] paru
|
||||||
- [ ] Extensions
|
- [X] pipx
|
||||||
- [ ] Settings
|
- [X] pip IMPORTANT for beet
|
||||||
- [ ] Gnome integration
|
- [ ] pnpm
|
||||||
- [ ] Profile
|
- [X] fish
|
||||||
- [ ] Bookmarks
|
|
||||||
- [ ] Extra security/privacy config
|
|
||||||
- [ ] gallery-dl integration
|
|
||||||
- [ ]
|
|
||||||
- [ ] .var
|
|
||||||
- [ ] .local/share [0/2]
|
|
||||||
- [ ] beets
|
|
||||||
- [ ] mpd
|
|
||||||
- [-] Migrate apps [1/4]
|
|
||||||
- [X] paru
|
|
||||||
- [ ] pipx
|
|
||||||
- [ ] pip IMPORTANT for beet
|
|
||||||
- [ ] appimages
|
- [ ] appimages
|
||||||
- [ ] Figure out how to get rid of xterm
|
- [-] Compile missing apps [1/8]
|
||||||
- [ ] Compile missing apps [0/3]
|
- [X] furtherance upgrade
|
||||||
|
- [ ] zap init
|
||||||
|
- [ ] font-downloader
|
||||||
|
- [ ] pokemon-colorscripts
|
||||||
|
- [ ] SaveDesktop (flathub)
|
||||||
|
- [ ] gelata
|
||||||
|
- [ ] pokeshell
|
||||||
|
- [ ] menulibre
|
||||||
|
- [ ] Misc [0/3]
|
||||||
|
- [ ] Figure out how to get rid of xterm
|
||||||
- [ ] wine-discord-ipc-bridge
|
- [ ] wine-discord-ipc-bridge
|
||||||
https://github.com/fufexan/nix-gaming
|
https://github.com/fufexan/nix-gaming
|
||||||
- [ ] make binaries of my own scripts
|
- [ ] make binaries of my own scripts
|
||||||
https://github.com/asimpson/dotfiles/blob/899b45e1586aac04d4e5541d638bbbffc66b4bba/nixos/scripts.nix
|
https://github.com/asimpson/dotfiles/blob/899b45e1586aac04d4e5541d638bbbffc66b4bba/nixos/scripts.nix
|
||||||
- [ ] AdwCustomizer [0/1]
|
|
||||||
https://github.com/AdwCustomizerTeam/AdwCustomizer
|
|
||||||
- [ ] Figure out pip
|
|
||||||
- [ ] (optional) adw-gtk3 theme
|
|
||||||
https://github.com/lassekongo83/adw-gtk3#readme
|
|
||||||
I think it can be locally installed, no need for theme, but in case
|
|
||||||
https://github.com/NixOS/nixpkgs/blob/nixos-22.05/pkgs/data/themes/vertex/default.nix#L32
|
|
||||||
|
|
||||||
|
|
||||||
* ABOUT
|
* ABOUT
|
||||||
@ -300,6 +289,7 @@ mypaint # not the best art program
|
|||||||
mypaint-brushes # but it's got some
|
mypaint-brushes # but it's got some
|
||||||
mypaint-brushes1 # nice damn brushes
|
mypaint-brushes1 # nice damn brushes
|
||||||
unstable.pureref # create inspiration/reference boards
|
unstable.pureref # create inspiration/reference boards
|
||||||
|
unstable.gimp # the coolest bestest art program to never exist
|
||||||
|
|
||||||
# Gaming
|
# Gaming
|
||||||
lutris # game/emulator manager
|
lutris # game/emulator manager
|
||||||
@ -381,9 +371,15 @@ fd # modern find, faster searches
|
|||||||
fzf # fuzzy finder! super cool and useful
|
fzf # fuzzy finder! super cool and useful
|
||||||
ripgrep # modern grep
|
ripgrep # modern grep
|
||||||
languagetool # proofreader for English. check if works without the service
|
languagetool # proofreader for English. check if works without the service
|
||||||
|
graphviz # graphs
|
||||||
|
# doom everywhere
|
||||||
|
xorg.xwininfo
|
||||||
|
xdotool
|
||||||
|
|
||||||
# development environment
|
# development environment
|
||||||
nix-direnv # nix implementation of direnv
|
nix-direnv # creates ephimeral environments
|
||||||
|
direnv # manages development environment
|
||||||
|
# editorconfig-checker # rules for contributing
|
||||||
exercism # learn to code
|
exercism # learn to code
|
||||||
|
|
||||||
# SH
|
# SH
|
||||||
@ -392,6 +388,9 @@ bashdb # autocomplete
|
|||||||
shellcheck # linting
|
shellcheck # linting
|
||||||
shfmt # a shell parser and formatter
|
shfmt # a shell parser and formatter
|
||||||
nodePackages.bash-language-server # LSP support
|
nodePackages.bash-language-server # LSP support
|
||||||
|
file # required by my tasks script?
|
||||||
|
gnome.zenity # dependency of my scripts
|
||||||
|
xclip # manipulate clipboard from scripts
|
||||||
|
|
||||||
# NIX
|
# NIX
|
||||||
nixfmt # linting
|
nixfmt # linting
|
||||||
@ -408,8 +407,7 @@ omnisharp-roslyn # c# linter and code formatter
|
|||||||
|
|
||||||
# JS
|
# JS
|
||||||
# jq # linting
|
# jq # linting
|
||||||
# Node-js
|
nodejs # not as bad as I thought
|
||||||
# nodePackages.pnpm
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** GNOME EXTENSIONS
|
*** GNOME EXTENSIONS
|
||||||
@ -465,6 +463,7 @@ symbola
|
|||||||
pylint # bug and style checker for python
|
pylint # bug and style checker for python
|
||||||
pytest # framework for writing tests
|
pytest # framework for writing tests
|
||||||
speedtest-cli # check internet speed from the comand line
|
speedtest-cli # check internet speed from the comand line
|
||||||
|
editorconfig # follow rules of contributin
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** FISH PLUGINS
|
** FISH PLUGINS
|
||||||
@ -534,6 +533,7 @@ set -l list_root ${config.home.homeDirectory}/.config/jawz/lists/jawz
|
|||||||
set lw $list_root/watch.txt
|
set lw $list_root/watch.txt
|
||||||
set li $list_root/instant.txt
|
set li $list_root/instant.txt
|
||||||
set lc $list_root/comic.txt
|
set lc $list_root/comic.txt
|
||||||
|
set command_timeout = 30
|
||||||
|
|
||||||
set GPG_TTY (tty)
|
set GPG_TTY (tty)
|
||||||
|
|
||||||
@ -576,88 +576,70 @@ sudo nixos-rebuild switch -I nixos-config=$nix_file
|
|||||||
};
|
};
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** BAT
|
*** OTHER
|
||||||
|
|
||||||
#+begin_src nix
|
#+begin_src nix
|
||||||
programs.bat = {
|
programs = {
|
||||||
|
bat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
# map-syntax = [ "*.jenkinsfile:Groovy" "*.props:Java Properties" ];
|
# map-syntax = [ "*.jenkinsfile:Groovy" "*.props:Java Properties" ];
|
||||||
pager = "less -FR";
|
pager = "less -FR";
|
||||||
theme = "base16"; };
|
theme = "base16"; };
|
||||||
|
};
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Danilo Reyes";
|
||||||
|
userEmail = "CaptainJawZ@outlook.com";
|
||||||
|
};
|
||||||
|
gpg = {
|
||||||
|
enable = true;
|
||||||
|
homedir = "${config.xdg.dataHome}/gnupg";
|
||||||
|
};
|
||||||
|
htop = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.htop-vim;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** GIT
|
|
||||||
|
|
||||||
#+begin_src nix
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "Danilo Reyes";
|
|
||||||
userEmail = "CaptainJawZ@outlook.com";
|
|
||||||
};
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** GNUPG
|
|
||||||
|
|
||||||
#+begin_src nix
|
|
||||||
programs.gpg = {
|
|
||||||
enable = true;
|
|
||||||
homedir = "${config.xdg.dataHome}/gnupg";
|
|
||||||
};
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** HTOP
|
|
||||||
|
|
||||||
#+begin_src nix
|
|
||||||
programs.htop = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.htop-vim;
|
|
||||||
};
|
|
||||||
xdg.configFile."htop/htoprc".source = ./dotfiles/htop/htoprc;
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** XDG
|
*** XDG
|
||||||
|
|
||||||
#+begin_src nix
|
#+begin_src nix
|
||||||
xdg = {
|
xdg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
userDirs = {
|
||||||
xdg.userDirs = {
|
enable = true;
|
||||||
enable = true;
|
# createDirectories = true;
|
||||||
# createDirectories = true;
|
desktop = "${config.home.homeDirectory}";
|
||||||
desktop = "${config.home.homeDirectory}";
|
documents = "${config.home.homeDirectory}/Documents";
|
||||||
documents = "${config.home.homeDirectory}/Documents";
|
download = "${config.home.homeDirectory}/Downloads";
|
||||||
download = "${config.home.homeDirectory}/Downloads";
|
music = "${config.home.homeDirectory}/Music";
|
||||||
music = "${config.home.homeDirectory}/Music";
|
pictures = "${config.home.homeDirectory}/Pictures";
|
||||||
pictures = "${config.home.homeDirectory}/Pictures";
|
# publicShare = "${config.home.homeDirectory}/.local/hd/Public";
|
||||||
# publicShare = "${config.home.homeDirectory}/.local/hd/Public";
|
templates = "${config.home.homeDirectory}/.local/share/Templates";
|
||||||
templates = "${config.home.homeDirectory}/.local/share/Templates";
|
videos = "${config.home.homeDirectory}/Videos";
|
||||||
videos = "${config.home.homeDirectory}/Videos";
|
};
|
||||||
};
|
configFile = {
|
||||||
#+end_src
|
"wgetrc".source = ./dotfiles/wget/wgetrc;
|
||||||
|
"configstore/update-notifier-npm-check.json".source = ./dotfiles/npm/update-notifier-npm-check.json;
|
||||||
*** OTHER
|
"npm/npmrc".source = ./dotfiles/npm/npmrc;
|
||||||
|
"gallery-dl/config.json".source = ./dotfiles/gallery-dl/config.json;
|
||||||
#+begin_src nix
|
"htop/htoprc".source = ./dotfiles/htop/htoprc;
|
||||||
xdg.configFile = {
|
};
|
||||||
"wgetrc".source = ./dotfiles/wget/wgetrc;
|
|
||||||
"configstore/update-notifier-npm-check.json".source = ./dotfiles/npm/update-notifier-npm-check.json;
|
|
||||||
"npm/npmrc".source = ./dotfiles/npm/npmrc;
|
|
||||||
"gallery-dl/config.json".source = ./dotfiles/gallery-dl/config.json;
|
|
||||||
};
|
};
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** USER-SERVICES
|
** USER-SERVICES
|
||||||
*** MPD EXTENSIONS
|
|
||||||
|
|
||||||
#+begin_src nix
|
#+begin_src nix
|
||||||
# services.mpd-discord-rpc.enable = true;
|
services = {
|
||||||
# services.mpdris2 = {
|
emacs = {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# multimediaKeys = true;
|
defaultEditor = true;
|
||||||
# mpd.host = "localhost";
|
package = pkgs.emacs;
|
||||||
# };
|
};
|
||||||
|
};
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** CLOSING HOME-MANAGER
|
** CLOSING HOME-MANAGER
|
||||||
@ -673,14 +655,15 @@ may be challenging.
|
|||||||
#+begin_src nix
|
#+begin_src nix
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
wget
|
wget
|
||||||
docker-compose
|
neovim
|
||||||
|
docker-compose # easy way to migrate my docker anywhere!
|
||||||
];
|
];
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* ENVIRONMENT VARIABLES
|
* ENVIRONMENT VARIABLES
|
||||||
|
|
||||||
#+begin_src nix
|
#+begin_src nix
|
||||||
environment.sessionVariables = rec {
|
environment.variables = rec {
|
||||||
# PATH
|
# PATH
|
||||||
XDG_CACHE_HOME = "\${HOME}/.cache";
|
XDG_CACHE_HOME = "\${HOME}/.cache";
|
||||||
XDG_CONFIG_HOME = "\${HOME}/.config";
|
XDG_CONFIG_HOME = "\${HOME}/.config";
|
||||||
@ -712,8 +695,7 @@ environment.sessionVariables = rec {
|
|||||||
CUDA_CACHE_PATH = "\${XDG_CACHE_HOME}/nv";
|
CUDA_CACHE_PATH = "\${XDG_CACHE_HOME}/nv";
|
||||||
# GBM_BACKEND = "nvidia-drm";
|
# GBM_BACKEND = "nvidia-drm";
|
||||||
# "__GLX_VENDOR_LIBRARY_NAME" = "nvidia";
|
# "__GLX_VENDOR_LIBRARY_NAME" = "nvidia";
|
||||||
# FISH
|
|
||||||
fisher_path = "\${XDG_CONFIG_HOME}/fish/fisher";
|
|
||||||
# Themes
|
# Themes
|
||||||
# GTK_THEME = "Adwaita:light";
|
# GTK_THEME = "Adwaita:light";
|
||||||
# QT_QPA_PLATFORMTHEME = "adwaita-dark";
|
# QT_QPA_PLATFORMTHEME = "adwaita-dark";
|
||||||
@ -725,7 +707,7 @@ environment.sessionVariables = rec {
|
|||||||
"\${XDG_CONFIG_HOME}/emacs/bin"
|
"\${XDG_CONFIG_HOME}/emacs/bin"
|
||||||
"\${XDG_DATA_HOME}/npm/bin"
|
"\${XDG_DATA_HOME}/npm/bin"
|
||||||
"\${PNPM_HOME}"
|
"\${PNPM_HOME}"
|
||||||
# "\${SCRIPTS}"
|
"\${SCRIPTS}"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
#+end_src
|
#+end_src
|
||||||
@ -746,6 +728,37 @@ virtualisation.docker = {
|
|||||||
Some programs need SUID wrappers.
|
Some programs need SUID wrappers.
|
||||||
|
|
||||||
#+begin_src nix
|
#+begin_src nix
|
||||||
|
snapraid = {
|
||||||
|
enable = true;
|
||||||
|
touchBeforeSync = true;
|
||||||
|
sync.interval = "02:00";
|
||||||
|
scrub = {
|
||||||
|
plan = 10;
|
||||||
|
olderThan = 10;
|
||||||
|
interval = "4:00";
|
||||||
|
};
|
||||||
|
parityFiles = [
|
||||||
|
"/mnt/parity/snapraid.parity"
|
||||||
|
];
|
||||||
|
extraConfig = ''
|
||||||
|
autosave 50
|
||||||
|
'';
|
||||||
|
exclude = [
|
||||||
|
"/tmp/"
|
||||||
|
"/lost+found/"
|
||||||
|
"/multimedia/downloads/"
|
||||||
|
"/scrapping/nextcloud/"
|
||||||
|
];
|
||||||
|
dataDisks = {
|
||||||
|
d1 = "/mnt/disk1/";
|
||||||
|
d2 = "/mnt/disk2/";
|
||||||
|
};
|
||||||
|
contentFiles = [
|
||||||
|
"/var/snapraid.content"
|
||||||
|
"/mnt/disk1/snapraid.content"
|
||||||
|
"/mnt/disk2/snapraid.content"
|
||||||
|
];
|
||||||
|
};
|
||||||
programs = {
|
programs = {
|
||||||
mtr.enable = true;
|
mtr.enable = true;
|
||||||
gnupg.agent = {
|
gnupg.agent = {
|
||||||
@ -764,11 +777,6 @@ programs = {
|
|||||||
|
|
||||||
services = {
|
services = {
|
||||||
printing.enable = true;
|
printing.enable = true;
|
||||||
emacs = {
|
|
||||||
enable = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
package = pkgs.emacs;
|
|
||||||
};
|
|
||||||
fstrim.enable = true;
|
fstrim.enable = true;
|
||||||
btrfs.autoScrub = {
|
btrfs.autoScrub = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -786,6 +794,36 @@ services = {
|
|||||||
};
|
};
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
* SYSTEMD
|
||||||
|
Home-manager, is not as flushed out when it comes to creating systemd units, so
|
||||||
|
the best way to define them for now, is using nix.
|
||||||
|
|
||||||
|
#+begin_src nix
|
||||||
|
systemd.services = {
|
||||||
|
"docker-compose" = {
|
||||||
|
enable = true;
|
||||||
|
restartIfChanged = true;
|
||||||
|
description = "Start docker-compose servers";
|
||||||
|
after = [ "docker.service" "docker.socket" ];
|
||||||
|
requires = [ "docker.service" "docker.socket" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
environment = {
|
||||||
|
FILE = "/home/jawz/Development/Docker/docker-compose.yml";
|
||||||
|
};
|
||||||
|
path = [
|
||||||
|
pkgs.docker-compose
|
||||||
|
];
|
||||||
|
serviceConfig = {
|
||||||
|
Restart = "on-failure";
|
||||||
|
# Type = "simple";
|
||||||
|
RestartSec = 30;
|
||||||
|
ExecStart = "${pkgs.docker-compose}/bin/docker-compose -f \${FILE} up --remove-orphans";
|
||||||
|
ExecStop = "${pkgs.docker-compose}docker-compose -f \${FILE} down";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
#+end_src
|
||||||
|
|
||||||
* FIREWALL
|
* FIREWALL
|
||||||
Open ports in the firewall.
|
Open ports in the firewall.
|
||||||
=TIP= list what app a port belongs to in a table.
|
=TIP= list what app a port belongs to in a table.
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
{ config, lib, pkgs, modulesPath, ... }: {
|
{ config, lib, pkgs, modulesPath, ... }: {
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
boot = {
|
boot = {
|
||||||
plymouth = { enable = true; };
|
#plymouth = { enable = true; };
|
||||||
loader = {
|
loader = {
|
||||||
efi = {
|
efi = {
|
||||||
canTouchEfiVariables = true;
|
canTouchEfiVariables = true;
|
||||||
@ -37,6 +37,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
kernelModules = [ "kvm-intel" ];
|
kernelModules = [ "kvm-intel" ];
|
||||||
|
kernel.sysctl = { "vm.swappiness" = 90; };
|
||||||
extraModulePackages = [ ];
|
extraModulePackages = [ ];
|
||||||
initrd = {
|
initrd = {
|
||||||
availableKernelModules =
|
availableKernelModules =
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user