summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/environment/default.nix26
-rw-r--r--common/nix/default.nix13
-rw-r--r--common/packages/default.nix99
-rw-r--r--common/users/default.nix22
4 files changed, 160 insertions, 0 deletions
diff --git a/common/environment/default.nix b/common/environment/default.nix
new file mode 100644
index 0000000..8f58641
--- /dev/null
+++ b/common/environment/default.nix
@@ -0,0 +1,26 @@
+{...}: {
+ environment.sessionVariables = rec {
+ XDG_CACHE_HOME = "\${HOME}/.cache";
+ XDG_CONFIG_HOME = "\${HOME}/.config";
+ XDG_BIN_HOME = "\${HOME}/.local/bin";
+ XDG_DATA_HOME = "\${HOME}/.local/share";
+ XDG_STATE_HOME = "\${HOME}/.local/state";
+ ZDOTDIR = "\${HOME}/.config/zsh";
+ CARGO_HOME = "\${HOME}/.local/share/cargo";
+ ANDROID_HOME = "\${HOME}/.local/share/android";
+ ANSIBLE_HOME = "\${HOME}/.local/share/ansible";
+ #_JAVA_OPTIONS = '-Djava.util.prefs.userRoot="\${XDG_CONFIG_HOME}/java"';
+ WINEPREFIX = "\${HOME}/.local/share/wine";
+ GNUPGHOME = "\${HOME}/.local/share/gnupg";
+ GRADLE_USER_HOME = "\${HOME}/.local/share/gradle";
+ GTK2_RC_FILES = "\${HOME}/.config/gtk-2.0/gtkrc";
+ EDITOR = "nvim";
+ GOPATH = "\${HOME}/.local/share/go";
+ XCOMPOSECACHE = "\${HOME}/.cache/X11/xcompose";
+ #PYTHONSTARTUP="/etc/python/pythonrc";
+
+ PATH = [
+ "\${XDG_BIN_HOME}"
+ ];
+ };
+}
diff --git a/common/nix/default.nix b/common/nix/default.nix
new file mode 100644
index 0000000..30f5b38
--- /dev/null
+++ b/common/nix/default.nix
@@ -0,0 +1,13 @@
+{...}: {
+ nix = {
+ gc = {
+ automatic = true;
+ dates = "daily";
+ options = "--delete-older-than 3";
+ };
+ settings = {
+ auto-optimise-store = true;
+ experimental-features = ["nix-command" "flakes"];
+ };
+ };
+}
diff --git a/common/packages/default.nix b/common/packages/default.nix
new file mode 100644
index 0000000..3fd53b4
--- /dev/null
+++ b/common/packages/default.nix
@@ -0,0 +1,99 @@
+{
+ pkgs,
+ lib,
+ ...
+}: {
+ environment.systemPackages = with pkgs; [
+ # Core utils
+ killall # kill programs by name
+ wget # download stuff
+ curl # download stuff – reloaded
+ fd # faster find
+ neofetch # a must-have
+ zsh # the one and only shell
+
+ # archives
+ unzip
+ zip
+ _7zz
+
+ neovim # edit nix files ;)
+ inkscape # vector graphics
+
+ restic # backups
+ thunderbird # emails
+ firefox # my browser
+ librewolf # privacy friendly firefox
+ ungoogled-chromium # the only chromium-based browser I'd ever use.
+ google-chrome # breaking promises
+ element-desktop # chat
+ libreoffice # convert doc to pdf xD
+
+ keepassxc # passwords
+ bitwarden # cloud passwords
+
+ gnome.gnome-keyring # to tired to migrate to kwallet
+ gnome.simple-scan # scanning, obiously
+ lsd # ls in good
+ jq # xdg-ninja requieres that
+ glow # markdown rendering
+ xdg-ninja # home cleaning
+ git # versioning
+ signal-desktop # the ecosystem is moving :(
+ signal-cli # use signal without phone
+ mumble # voice chat
+
+ #Nix Stuff
+ alejandra # nix code formatter
+ nil # nix language-server
+ statix # nix linter
+
+ # SSH Stuff
+ openssh # ssh
+ mosh # ssh in great
+
+ jdk17 # openjdk17 to satisfy mr.antoine
+ rustc # rust, obiously
+ cargo # cargo, the best compiler ever"
+ lf # a file manager
+
+ gnupg # encryprtion and so on
+ pinentry # needed for gpg
+
+ tor-browser-bundle-bin # tor-browser
+ tdesktop # another messenger (telegram)
+ libsForQt5.kdeconnect-kde # communicate with my phone
+ imagemagick # convertion and so on
+ #nerdfonts # nice fonts, u know
+ alacritty # terminal
+ konsole # terminal
+
+ zsh-you-should-use # reminder for aliasses
+ jetbrains.idea-community # Java-IDE
+ python39 # python programming language
+ sayonara # audioplayer
+ vlc # audio, again
+ nmap # network scanning
+ tree # tree view of directories
+ youtube-dl # download videos
+ mpv # play videos
+ texlive.combined.scheme-full # LaTeX
+ gparted # partitioning :(
+ musescore # notesetting program
+ geogebra # math program
+ # Compiler
+ gcc
+ execline
+
+ ltex-ls # lsp language server for languagetool
+ texlab # latex language server
+ html-tidy # html formatter
+
+ bottles # run windows software
+ ];
+ nixpkgs.config.allowUnfreePredicate = pkg:
+ builtins.elem (lib.getName pkg) [
+ "geogebra"
+ "google-chrome"
+ ];
+}
diff --git a/common/users/default.nix b/common/users/default.nix
new file mode 100644
index 0000000..7f1e7d2
--- /dev/null
+++ b/common/users/default.nix
@@ -0,0 +1,22 @@
+{pkgs, ...}: {
+ users = {
+ mutableUsers = false;
+ users.sils = {
+ isNormalUser = true;
+ home = "/home/sils";
+ shell = pkgs.zsh;
+ initialHashedPassword = "$y$j9T$r4578Hy9jZHmUH9uSr9OI.$SuR2anRq7EJ1gUJ6vi9qYmZrhLP.o3O5643IG6r5Ap/";
+ extraGroups = ["wheel" "networkmanager"];
+ };
+ users.cnnr = {
+ isNormalUser = true;
+ home = "/home/cnnr";
+ shell = pkgs.zsh;
+ initialHashedPassword = "$y$j9T$NFz0d2coUOvl.hL3YRwEY0$8btvXUoWGWwo11ksdt8eIFUljCkpUe0YliEy7l0odU1";
+ };
+ };
+ services.xserver.displayManager.autoLogin = {
+ enable = true;
+ user = "sils";
+ };
+}