summary refs log tree commit diff stats
path: root/common
diff options
context:
space:
mode:
authorsils <sils@sils.li>2023-04-20 18:25:45 +0200
committersils <sils@sils.li>2023-04-20 18:31:19 +0200
commit8b5e6cfeed2b5c7088cdf8a98bacee72ad6cabd4 (patch)
treebd77dade79e8c7e6f6f3a136d53fd5518d9ffcb9 /common
parentFeat(packages.nix): Add pinentry (diff)
downloadnix-config-8b5e6cfeed2b5c7088cdf8a98bacee72ad6cabd4.tar.gz
nix-config-8b5e6cfeed2b5c7088cdf8a98bacee72ad6cabd4.zip
Feat(structure): Restructured repository
                 This is mainly convenience and my personal
                 preference.
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";
+  };
+}