cleared up and touched up on the documentation

This commit is contained in:
Danilo Reyes 2023-06-01 11:15:39 -06:00
parent 7802443ba2
commit 9e09c8e651
3 changed files with 69 additions and 66 deletions

View File

@ -1,7 +1,6 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let let
VERSION = "23.05"; VERSION = "23.05";
# HOME-MANAGER = builtins.fetchTarball
# "https://github.com/nix-community/home-manager/archive/master.tar.gz"; # "https://github.com/nix-community/home-manager/archive/master.tar.gz";
unstable_tarball = unstable_tarball =
builtins.fetchTarball "https://github.com/nixos/nixpkgs/tarball/master"; builtins.fetchTarball "https://github.com/nixos/nixpkgs/tarball/master";
@ -21,7 +20,6 @@ in { # Remember to close this bracket at the end of the document
]; ];
networking.hostName = "workstation"; networking.hostName = "workstation";
# networking.wireless.enable = true; # networking.wireless.enable = true;
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
@ -123,7 +121,7 @@ in { # Remember to close this bracket at the end of the document
gimp # the coolest bestest art program to never exist gimp # the coolest bestest art program to never exist
lutris # game/emulator manager lutris # game/emulator manager
# grapejuice # roblox manager grapejuice # roblox manager
minecraft # minecraft official launcher minecraft # minecraft official launcher
parsec-bin # remote gaming with friends parsec-bin # remote gaming with friends
protonup-qt # update proton-ge protonup-qt # update proton-ge
@ -160,7 +158,7 @@ in { # Remember to close this bracket at the end of the document
# bottles # wine prefix manager # bottles # wine prefix manager
obs-studio # screen recorder & streamer obs-studio # screen recorder & streamer
shortwave # listen to world radio shortwave # listen to world radio
nextcloud-client # teehee nextcloud-client # self-hosted google-drive alternative
discord # chat discord # chat
google-chrome # web browser with spyware included google-chrome # web browser with spyware included
@ -179,7 +177,7 @@ in { # Remember to close this bracket at the end of the document
gocryptfs # encrypted filesystem! shhh!!! gocryptfs # encrypted filesystem! shhh!!!
exa # like ls but with colors exa # like ls but with colors
trash-cli # oop! didn't meant to delete that trash-cli # oop! didn't meant to delete that
ffmpeg_5 # coolest video converter! ffmpeg_6 # coolest video converter!
neofetch # use once for brag, never again neofetch # use once for brag, never again
rmlint # probably my favourite app, amazing dupe finder that integrates well with BTRFS rmlint # probably my favourite app, amazing dupe finder that integrates well with BTRFS
tldr # man for retards tldr # man for retards
@ -187,7 +185,6 @@ in { # Remember to close this bracket at the end of the document
vcsi # video thumbnails for torrents, can I replace it with ^? vcsi # video thumbnails for torrents, can I replace it with ^?
mediainfo # technical info about videos, needed by some of my scripts mediainfo # technical info about videos, needed by some of my scripts
tree-sitter # code parsing, required by Doom emacs tree-sitter # code parsing, required by Doom emacs
xdg-ninja # help declutter $HOME
torrenttools # create torrent files from the terminal! torrenttools # create torrent files from the terminal!
lm_sensors # for extension, displays cpu temp lm_sensors # for extension, displays cpu temp
@ -216,7 +213,6 @@ in { # Remember to close this bracket at the end of the document
bashdb # autocomplete bashdb # autocomplete
shellcheck # linting shellcheck # linting
shfmt # a shell parser and formatter shfmt # a shell parser and formatter
# nodePackages.bash-language-server # LSP support
file # required by my tasks script? file # required by my tasks script?
gnome.zenity # dependency of my scripts gnome.zenity # dependency of my scripts
xclip # manipulate clipboard from scripts xclip # manipulate clipboard from scripts
@ -299,21 +295,22 @@ in { # Remember to close this bracket at the end of the document
bass # integrate bash utilities on fish bass # integrate bash utilities on fish
]) ++ (with pkgs.gnomeExtensions; [ ]) ++ (with pkgs.gnomeExtensions; [
appindicator appindicator # applets for open applications
gsconnect gsconnect # sync data and notifications from your phone
freon freon # hardware temperature monitor
panel-scroll panel-scroll # scroll well to change workspaces
reading-strip reading-strip # like putting a finger on every line I read
tactile tactile # window manager
pano pano # clipboard manager
# ]) ++ (with unstable.pkgs.gnomeExtensions; [ # ]) ++ (with unstable.pkgs.gnomeExtensions; [
]) ++ (with pkgs.nodePackages; [ ]) ++ (with pkgs.nodePackages; [
dockerfile-language-server-nodejs dockerfile-language-server-nodejs # LSP
pyright bash-language-server # LSP
markdownlint-cli pyright # LSP
prettier markdownlint-cli # Linter
pnpm prettier # Linter
pnpm # Package manager
]); ]);
}; # <--- end of package list }; # <--- end of package list
@ -477,6 +474,7 @@ in { # Remember to close this bracket at the end of the document
GOPATH = "\${XDG_DATA_HOME}/go"; GOPATH = "\${XDG_DATA_HOME}/go";
NPM_CONFIG_USERCONFIG = "\${XDG_CONFIG_HOME}/npm/npmrc"; NPM_CONFIG_USERCONFIG = "\${XDG_CONFIG_HOME}/npm/npmrc";
PNPM_HOME = "\${XDG_DATA_HOME}/pnpm"; PNPM_HOME = "\${XDG_DATA_HOME}/pnpm";
# OPTIONS # OPTIONS
HISTFILE = "\${XDG_STATE_HOME}/bash/history"; HISTFILE = "\${XDG_STATE_HOME}/bash/history";
LESSHISTFILE = "-"; LESSHISTFILE = "-";
@ -487,6 +485,7 @@ in { # Remember to close this bracket at the end of the document
WGETRC = "\${XDG_CONFIG_HOME}/wgetrc"; WGETRC = "\${XDG_CONFIG_HOME}/wgetrc";
XCOMPOSECACHE = "${XDG_CACHE_HOME}/X11/xcompose"; XCOMPOSECACHE = "${XDG_CACHE_HOME}/X11/xcompose";
"_JAVA_OPTIONS" = "-Djava.util.prefs.userRoot=\${XDG_CONFIG_HOME}/java"; "_JAVA_OPTIONS" = "-Djava.util.prefs.userRoot=\${XDG_CONFIG_HOME}/java";
# NVIDIA # NVIDIA
CUDA_CACHE_PATH = "\${XDG_CACHE_HOME}/nv"; CUDA_CACHE_PATH = "\${XDG_CACHE_HOME}/nv";
# GBM_BACKEND = "nvidia-drm"; # GBM_BACKEND = "nvidia-drm";
@ -670,9 +669,9 @@ in { # Remember to close this bracket at the end of the document
}; };
}; };
# networking.firewall.allowedTCPPorts = [ ... ]; networking.firewall.allowedTCPPorts = [ 25152 80 443 ];
# networking.firewall.allowedUDPPorts = [ ... ]; networking.firewall.allowedUDPPorts = [ 25152 80 443 ];
networking.firewall.enable = false; # networking.firewall.enable = false;
system.copySystemConfiguration = true; system.copySystemConfiguration = true;
nix.gc = { nix.gc = {

View File

@ -26,19 +26,22 @@
- [ ] Figure out how to get rid of xterm - [ ] 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
https://github.com/asimpson/dotfiles/blob/899b45e1586aac04d4e5541d638bbbffc66b4bba/nixos/scripts.nix
* ABOUT * ABOUT
Setting up the document. Also in theory this should allow me to set up Setting up the document. Also this should allow me to set up variables, and
variables, and other functions. other functions.
- Global version number so NixOS and Home-Manager are in sync
- The unstable part allows me to build packages from the unstable channel by
prepending "unstable" to a package name.
- The next part creates a simple build of some of my simple scripts, turning
them into binaries which then I can integrate into the nix-store as well as
declared systemd units.
#+begin_src nix #+begin_src nix
{ config, pkgs, ... }: { config, pkgs, ... }:
let let
VERSION = "23.05"; VERSION = "23.05";
# HOME-MANAGER = builtins.fetchTarball
# "https://github.com/nix-community/home-manager/archive/master.tar.gz"; # "https://github.com/nix-community/home-manager/archive/master.tar.gz";
unstable_tarball = builtins.fetchTarball unstable_tarball = builtins.fetchTarball
https://github.com/nixos/nixpkgs/tarball/master; https://github.com/nixos/nixpkgs/tarball/master;
@ -57,8 +60,8 @@ in
* IMPORTS * IMPORTS
These are files and modules which get loaded onto the configuration file, in the These are files and modules which get loaded onto the configuration file, in the
future I may segment this file into different modules, but for the time being, future I may segment this file into different modules once it becomes too
the two ones I need are hardware and home-manager. cluttered, for example, I may create a module for systemd units.
#+begin_src nix #+begin_src nix
imports = [ imports = [
@ -73,31 +76,24 @@ imports = [
At the moment, I don't have a wireless card on this computer, however as I build At the moment, I don't have a wireless card on this computer, however as I build
a new system, such setting may come in handy. a new system, such setting may come in handy.
#+begin_src nix
networking.hostName = "workstation";
#+end_src
Pick *ONLY ONE* of the below networking options. Pick *ONLY ONE* of the below networking options.
- *wireless.enable* enables wireless support via wpa_supplicant. - *wireless.enable* enables wireless support via wpa_supplicant.
- *NetworkManager* it's the default of GNOME, and easiest to use and integrate. - *NetworkManager* it's the default of GNOME, and easiest to use and integrate.
#+begin_src nix #+begin_src nix
networking.hostName = "workstation";
# networking.wireless.enable = true; # networking.wireless.enable = true;
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
#+end_src #+end_src
** TIMEZONE ** TIMEZONE & LOCALE
#+begin_src nix
time.timeZone = "America/Mexico_City";
#+end_src
** LOCALE
For some reason, useXkbConfig throws an error when building the system, either For some reason, useXkbConfig throws an error when building the system, either
way it is an unnecessary setting as my keyboards are the default en_US, only way it is an unnecessary setting as my keyboards are the default en_US, only
locale set to Canadian out because I prefer how it displays the date. locale set to Canadian out because I prefer how it displays the date.
#+begin_src nix #+begin_src nix
time.timeZone = "America/Mexico_City";
i18n = { i18n = {
defaultLocale = "en_CA.UTF-8"; defaultLocale = "en_CA.UTF-8";
extraLocaleSettings = { extraLocaleSettings = {
@ -189,8 +185,8 @@ security.sudo = {
#+end_src #+end_src
** OPENDOAS ** OPENDOAS
It's mayor advantage over Sudo, is that is being a smaller package, being lessen known It's mayor advantage over Sudo, is that is being a smaller package, being lessen
means that there is less security risks associated with it, overall a less known means that there is less security risks associated with it, overall a less
bloated more secure package. Which comes with the caveat that due to it's age, bloated more secure package. Which comes with the caveat that due to it's age,
there is little support for it. Constantly having to resort to hack solutions there is little support for it. Constantly having to resort to hack solutions
such as patches or symlinks. such as patches or symlinks.
@ -271,7 +267,7 @@ anticipated, most everything seems to run seamlessly.
#+begin_src nix #+begin_src nix
lutris # game/emulator manager lutris # game/emulator manager
# grapejuice # roblox manager grapejuice # roblox manager
minecraft # minecraft official launcher minecraft # minecraft official launcher
parsec-bin # remote gaming with friends parsec-bin # remote gaming with friends
protonup-qt # update proton-ge protonup-qt # update proton-ge
@ -327,12 +323,12 @@ tagger # tag music files
# bottles # wine prefix manager # bottles # wine prefix manager
obs-studio # screen recorder & streamer obs-studio # screen recorder & streamer
shortwave # listen to world radio shortwave # listen to world radio
nextcloud-client # teehee nextcloud-client # self-hosted google-drive alternative
#+end_src #+end_src
*** Web *** Web
Stuff that I use to interact with the web, web browsers, chats, downloaders, Stuff that I use to interact with the web, web browsers, chats, download
etc. managers, etc.
#+begin_src nix #+begin_src nix
discord # chat discord # chat
@ -356,7 +352,7 @@ du-dust # rusty du
gocryptfs # encrypted filesystem! shhh!!! gocryptfs # encrypted filesystem! shhh!!!
exa # like ls but with colors exa # like ls but with colors
trash-cli # oop! didn't meant to delete that trash-cli # oop! didn't meant to delete that
ffmpeg_5 # coolest video converter! ffmpeg_6 # coolest video converter!
neofetch # use once for brag, never again neofetch # use once for brag, never again
rmlint # probably my favourite app, amazing dupe finder that integrates well with BTRFS rmlint # probably my favourite app, amazing dupe finder that integrates well with BTRFS
tldr # man for retards tldr # man for retards
@ -364,7 +360,6 @@ tldr # man for retards
vcsi # video thumbnails for torrents, can I replace it with ^? vcsi # video thumbnails for torrents, can I replace it with ^?
mediainfo # technical info about videos, needed by some of my scripts mediainfo # technical info about videos, needed by some of my scripts
tree-sitter # code parsing, required by Doom emacs tree-sitter # code parsing, required by Doom emacs
xdg-ninja # help declutter $HOME
torrenttools # create torrent files from the terminal! torrenttools # create torrent files from the terminal!
lm_sensors # for extension, displays cpu temp lm_sensors # for extension, displays cpu temp
@ -397,7 +392,6 @@ bats # testing system, required by Exercism
bashdb # autocomplete bashdb # autocomplete
shellcheck # linting shellcheck # linting
shfmt # a shell parser and formatter shfmt # a shell parser and formatter
# nodePackages.bash-language-server # LSP support
file # required by my tasks script? file # required by my tasks script?
gnome.zenity # dependency of my scripts gnome.zenity # dependency of my scripts
xclip # manipulate clipboard from scripts xclip # manipulate clipboard from scripts
@ -503,13 +497,13 @@ symbola
#+begin_src nix #+begin_src nix
]) ++ (with pkgs.gnomeExtensions; [ ]) ++ (with pkgs.gnomeExtensions; [
appindicator appindicator # applets for open applications
gsconnect gsconnect # sync data and notifications from your phone
freon freon # hardware temperature monitor
panel-scroll panel-scroll # scroll well to change workspaces
reading-strip reading-strip # like putting a finger on every line I read
tactile tactile # window manager
pano pano # clipboard manager
# ]) ++ (with unstable.pkgs.gnomeExtensions; [ # ]) ++ (with unstable.pkgs.gnomeExtensions; [
#+end_src #+end_src
@ -517,11 +511,12 @@ symbola
#+begin_src nix #+begin_src nix
]) ++ (with pkgs.nodePackages; [ ]) ++ (with pkgs.nodePackages; [
dockerfile-language-server-nodejs dockerfile-language-server-nodejs # LSP
pyright bash-language-server # LSP
markdownlint-cli pyright # LSP
prettier markdownlint-cli # Linter
pnpm prettier # Linter
pnpm # Package manager
]); }; # <--- end of package list ]); }; # <--- end of package list
#+end_src #+end_src
@ -745,6 +740,7 @@ environment.variables = rec {
GOPATH = "\${XDG_DATA_HOME}/go"; GOPATH = "\${XDG_DATA_HOME}/go";
NPM_CONFIG_USERCONFIG = "\${XDG_CONFIG_HOME}/npm/npmrc"; NPM_CONFIG_USERCONFIG = "\${XDG_CONFIG_HOME}/npm/npmrc";
PNPM_HOME = "\${XDG_DATA_HOME}/pnpm"; PNPM_HOME = "\${XDG_DATA_HOME}/pnpm";
# OPTIONS # OPTIONS
HISTFILE = "\${XDG_STATE_HOME}/bash/history"; HISTFILE = "\${XDG_STATE_HOME}/bash/history";
LESSHISTFILE = "-"; LESSHISTFILE = "-";
@ -755,6 +751,7 @@ environment.variables = rec {
WGETRC = "\${XDG_CONFIG_HOME}/wgetrc"; WGETRC = "\${XDG_CONFIG_HOME}/wgetrc";
XCOMPOSECACHE = "${XDG_CACHE_HOME}/X11/xcompose"; XCOMPOSECACHE = "${XDG_CACHE_HOME}/X11/xcompose";
"_JAVA_OPTIONS" = "-Djava.util.prefs.userRoot=\${XDG_CONFIG_HOME}/java"; "_JAVA_OPTIONS" = "-Djava.util.prefs.userRoot=\${XDG_CONFIG_HOME}/java";
# NVIDIA # NVIDIA
CUDA_CACHE_PATH = "\${XDG_CACHE_HOME}/nv"; CUDA_CACHE_PATH = "\${XDG_CACHE_HOME}/nv";
# GBM_BACKEND = "nvidia-drm"; # GBM_BACKEND = "nvidia-drm";
@ -990,9 +987,9 @@ 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.
#+begin_src nix #+begin_src nix
# networking.firewall.allowedTCPPorts = [ ... ]; networking.firewall.allowedTCPPorts = [ 25152 80 443 ];
# networking.firewall.allowedUDPPorts = [ ... ]; networking.firewall.allowedUDPPorts = [ 25152 80 443 ];
networking.firewall.enable = false; # networking.firewall.enable = false;
#+end_src #+end_src
* FINAL SYSTEM CONFIGURATIONS * FINAL SYSTEM CONFIGURATIONS

View File

@ -117,8 +117,15 @@
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = swapDevices = [{
[{ device = "/dev/disk/by-uuid/f41cc85e-9963-46c1-9385-0748e670638d"; }]; device = "/dev/disk/by-partuuid/cb0ad486-ebf8-4bfc-ad7c-96bdc68576ca";
randomEncryption = {
enable = true;
cipher = "aes-xts-plain64";
keySize = 512;
sectorSize = 4096;
};
}];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's