diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/environment/default.nix | 26 | ||||
-rw-r--r-- | common/nix/default.nix | 13 | ||||
-rw-r--r-- | common/packages/default.nix | 99 | ||||
-rw-r--r-- | common/users/default.nix | 22 |
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"; + }; +} |