moved all of my config into this nix flake

This commit is contained in:
Sebastian Moser
2023-10-28 19:10:37 +02:00
parent 9facde9d3a
commit 112ef46fd2
46 changed files with 3545 additions and 0 deletions

188
common/me.nix Normal file
View File

@@ -0,0 +1,188 @@
{ pkgs, workDir, confDir, secretsDir, ... }:
{
imports = [
./programms/git.nix
./programms/lf/default.nix
./programms/alacritty.nix
./programms/bash.nix
./programms/emacs.nix
./programms/rofi.nix
./programms/zathura.nix
./programms/ssh.nix
./programms/neovim.nix
];
home-manager.users.me = { config, pkgs, ... }: {
/* The home.stateVersion option does not have a default and must be set */
home.stateVersion = "23.05";
gtk.cursorTheme = {
name = "Yaru";
};
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
services.dunst.enable = true;
home.sessionVariables = {
EDITOR = "nvim";
};
home.sessionPath = [ "${workDir}/config/mybin" ];
home.file = {
".config/rclone".source = config.lib.file.mkOutOfStoreSymlink "${secretsDir}/rclone-conf";
};
};
fonts.fonts = with pkgs; [
hack-font
];
users.users.me = {
isNormalUser = true;
passwordFile = "${secretsDir}/main-user-pwd";
extraGroups = [ "networkmanager" "wheel" "libvirtd" ]; # Enable sudo for the user.
packages = with pkgs; [
neovim
vim
obsidian
tree
xorg.xkbcomp
rofi
haskellPackages.xmonad-extras
haskellPackages.xmonad-contrib
alacritty
xorg.xev
ntfs3g
htop
subversion
pv
blueman
pavucontrol
spotify
flameshot
nodejs
neofetch
networkmanagerapplet
haskellPackages.xmobar
dolphin
mupdf
zathura
xclip
rclone
stalonetray
killall
nil
file
wstunnel
playerctl
alsa-utils
usbutils
pciutils
lshw
jmtpfs
pmutils
cntr
signal-desktop
element-desktop
discord
wireshark
zip
unzip
arp-scan
gparted
lolcat
android-tools
# python....
(python310.withPackages (p: with p; [
pandas
click
click-aliases
]))
# base-devel
gcc
# rust
cargo
rust-analyzer
#localPacketTracer8
#ciscoPacketTracer8
# virtualisation
qemu
libvirt
virt-manager
freerdp
];
};
# xmonad
services.xserver.windowManager.xmonad = {
enable = true;
config = builtins.readFile ../misc/xmobar.hs;
enableContribAndExtras = true;
extraPackages = hpkgs: [
hpkgs.xmobar
#hpkgs.xmonad-screenshot
];
ghcArgs = [
"-hidir /tmp" # place interface files in /tmp, otherwise ghc tries to write them to the nix store
"-odir /tmp" # place object files in /tmp, otherwise ghc tries to write them to the nix store
#"-i${xmonad-contexts}" # tell ghc to search in the respective nix store path for the module
];
};
services.syncthing = {
enable = true;
user = "me";
#dataDir = "/home/";
configDir = "/home/me/.config/syncthing";
extraFlags = ["-no-browser"];
openDefaultPorts = true;
overrideDevices = true; # overrides any devices added or deleted through the WebUI
overrideFolders = true; # overrides any folders added or deleted through the WebUI
devices = {
"seb-phone" = {
id = builtins.readFile "${secretsDir}/syncthing-id-phone";
#addresses = [ "tcp://192.168.200.24:22000" ];
};
"seb-tab" = {
id = builtins.readFile "${secretsDir}/syncthing-id-tab";
#addresses = [ "tcp://192.168.200.26:22000" ];
};
};
folders = {
"priv-share" = { # Name of folder in Syncthing, also the folder ID
path = "/home/me/work/priv-share"; # Which folder to add to Syncthing
#devices = [ "seb-phone" "seb-tab" ]; # Which devices to share the folder with
devices = [ "seb-phone" "seb-tab" ]; # Which devices to share the folder with
};
};
};
fileSystems."${workDir}/priv-share/things" = {
device = "${workDir}/things";
options = [ "bind" ];
};
fileSystems."${workDir}/things/htl" = {
device = "${workDir}/htl";
options = [ "bind" ];
};
fileSystems."${workDir}/things/diplomarbeit" = {
device = "${workDir}/diplomarbeit";
options = [ "bind" ];
};
}