Files
dotfiles/common/me.nix
2023-10-28 19:10:37 +02:00

189 lines
4.0 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{ 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" ];
};
}