nixos-config/home-manager/default.nix

315 lines
6.4 KiB
Nix
Raw Normal View History

{ config, pkgs, lib, ... }:
2022-01-25 00:31:56 +00:00
let
home-manager = (import ../nix/sources.nix).home-manager;
unstable = import <nixos-unstable> {};
2023-01-12 23:50:53 +00:00
fontSize = hiDPI : if hiDPI then 14 else 8;
2022-02-06 23:01:27 +00:00
in
{
2022-01-25 00:31:56 +00:00
imports = [
"${home-manager}/nixos"
];
2022-02-06 22:31:17 +00:00
2022-01-25 00:31:56 +00:00
home-manager.users.fleaz = { pkgs, ... }: {
imports = [
2022-02-06 23:01:27 +00:00
modules/neovim.nix
modules/vscode.nix
2022-05-20 08:39:10 +00:00
modules/direnv.nix
2022-02-07 00:09:06 +00:00
modules/sway.nix
2022-03-01 22:59:14 +00:00
modules/git.nix
modules/gpg.nix
2022-05-31 12:09:15 +00:00
modules/udiskie.nix
modules/discord.nix
] ++ lib.optionals (config.networking.hostName == "jimbo") [
modules/kanshi.nix
2022-03-16 22:24:33 +00:00
../secrets/codemonauts.nix
] ++ lib.optionals (config.networking.hostName == "milhouse") [
modules/kanshi.nix
2022-01-25 00:31:56 +00:00
];
2022-02-06 22:31:17 +00:00
2022-12-13 14:25:38 +00:00
home.stateVersion = "21.11";
gtk = {
enable = true;
2022-06-15 09:36:48 +00:00
theme = {
name = "Adwaita";
package = pkgs.gnome3.adwaita-icon-theme;
};
};
xdg = {
enable = true;
};
2022-02-06 22:31:17 +00:00
services.gnome-keyring.enable = true;
2022-09-09 14:00:54 +00:00
# e.g. for vscode
2022-01-25 00:31:56 +00:00
nixpkgs.config.allowUnfree = true;
2022-02-16 16:10:37 +00:00
2022-03-16 22:24:33 +00:00
2022-01-25 00:31:56 +00:00
home.packages = with pkgs; [
httpie
wdisplays
albert
firefox
2022-01-28 14:34:35 +00:00
evince
2022-01-25 00:31:56 +00:00
chromium
via
nextcloud-client
deluge
gnupg
gpicview
2022-01-25 00:31:56 +00:00
hicolor-icon-theme
cinnamon.nemo
element-desktop
signal-desktop
2022-03-16 22:24:33 +00:00
nix-output-monitor
samba
2022-01-25 00:31:56 +00:00
dnsutils
mtr
tig
ncdu
fd
silver-searcher
thunderbird
2022-01-25 00:31:56 +00:00
mosh
mpv
go
python3
2022-02-07 00:09:06 +00:00
pavucontrol
playerctl
jq
2022-03-01 23:00:03 +00:00
psmisc
zip
nmap
vnstat
2022-01-25 00:31:56 +00:00
swaylock
swayidle
brightnessctl
2022-01-25 00:31:56 +00:00
wl-clipboard
mako
sway-contrib.grimshot
albert
wofi
unzip
whois
sublime-music
fzf
2023-01-08 00:41:45 +00:00
ncmpcpp
acpi
#unstable.prusa-slicer
prusa-slicer
2022-01-25 00:31:56 +00:00
htop
xdg-utils
2022-06-21 13:38:11 +00:00
moreutils
2022-07-22 09:25:59 +00:00
insomnia
2022-11-24 19:13:07 +00:00
mumble
2022-03-29 14:58:31 +00:00
# for coc
nodejs
2022-04-25 12:26:15 +00:00
rnix-lsp
2022-03-29 14:58:31 +00:00
] ++ lib.optionals (config.networking.hostName == "jimbo") [
networkmanager
# Stuff only needed for work
networkmanager-openvpn
packer
chefdk
awscli
2022-03-16 22:24:33 +00:00
shared-2fa
igproxy-access
2022-05-03 14:14:30 +00:00
sqlstrip
2022-06-03 21:51:36 +00:00
pwgen
mysql-client
] ++ lib.optionals (config.networking.hostName == "milhouse") [
networkmanager
2022-01-25 00:31:56 +00:00
];
2022-01-25 00:31:56 +00:00
programs.zsh = {
enable = true;
oh-my-zsh = {
enable = true;
plugins = [ "git" "fzf" ];
2022-12-09 13:13:57 +00:00
theme = "kolo";
2022-01-25 00:31:56 +00:00
};
2022-06-03 21:51:47 +00:00
history = {
share = false; # every terminal has it's own history
size = 10000;
};
2023-01-04 14:44:35 +00:00
shellAliases = {
"dl" = "ls -lhtr --color=always ~/Downloads | tail -n 10"; # Show the 10 newest Downloads
2023-01-13 10:57:47 +00:00
"notes" = "vim ~/codemonauts/notes.md"; # Open my work notes
2023-01-17 17:50:40 +00:00
"summer" = "ssh -i Nextcloud/Privat/id_door door@door.w17.io summer";
2023-01-04 14:44:35 +00:00
};
2022-01-25 00:31:56 +00:00
};
programs.git = {
enable = true;
userName = "fleaz";
userEmail = "mail@felixbreidenstein.de";
};
programs.waybar = {
enable = true;
settings = [ {
layer = "top";
position = "bottom";
height = 28;
modules-left = [
"sway/workspaces"
"sway/window"
];
modules-center = [
];
modules-right = [
2023-01-03 10:33:13 +00:00
"sway/mode"
"disk"
"pulseaudio"
"network"
"memory"
"cpu"
"temperature"
"battery"
"tray"
"clock"
];
modules = {
"battery" = {
states = {
2022-06-21 13:38:11 +00:00
warning = 20;
critical = 10;
};
format = " {capacity}%";
format-discharging = "{icon} {capacity}%";
format-icons = [
""
""
""
""
""
""
""
""
""
""
];
};
"cpu" = {
format = " {}";
};
"clock" = {
format = "{:%H:%M}";
tooltip = false;
};
"memory" = {
interval = 5;
format = " {}%";
tooltip-format = "{used:0.1f}/{total:0.1f} GB";
states = {
2022-06-21 13:38:11 +00:00
warning = 80;
critical = 90;
2023-01-03 10:33:13 +00:00
};
};
"network" = {
interface = "wl*";
format-wifi = " {essid}";
format-icons = [
""
];
tooltip-format-wifi = "{frequency} MHz, {signaldBm} dBm";
};
"pulseaudio" = {
scroll-step = 1;
format = "{icon} {volume}%";
format-bluetooth = "{icon} {volume}% ";
format-muted = "";
format-icons = {
headphones = "";
handsfree = "";
headset = "";
phone = "";
portable = "";
car = "";
default = ["" ""];
};
on-click ="pavucontrol";
};
"sway/workspaces" = {
all-outputs = false;
disable-scroll = false;
format = "{name}";
};
"temperature" = {
format = " {temperatureC}°C";
2022-06-14 15:58:21 +00:00
hwmon-path = "/sys/class/hwmon/hwmon3/temp1_input";
critical-threshold = 75;
};
2023-01-03 10:33:13 +00:00
"disk" = {
interval= 30;
format= "{free} free";
path= "/";
};
};
} ];
style = builtins.readFile ./waybar.css;
};
2022-01-25 00:31:56 +00:00
programs.mako = {
enable = true;
groupBy = "app-name";
defaultTimeout = 5000;
};
services.kanshi = {
enable = true;
};
services.gammastep = {
2022-01-25 00:31:56 +00:00
enable = true;
tray = true;
2022-01-25 00:31:56 +00:00
latitude = "49.8";
longitude = "8.6";
temperature = {
day = 5500;
night = 3300;
};
2022-02-23 22:42:42 +00:00
2022-01-25 00:31:56 +00:00
};
2022-06-21 13:34:34 +00:00
# Enable blueman-applet when the machine has bluetooth enabled
services.blueman-applet.enable = config.hardware.bluetooth.enable == true;
2022-01-25 00:31:56 +00:00
2023-01-12 23:50:53 +00:00
programs.kitty = {
2022-01-25 00:31:56 +00:00
enable = true;
theme = "Argonaut";
environment = {
"TERM" = "xterm-256color";
};
2023-01-12 23:50:53 +00:00
font = {
name = "Fira Code";
size = fontSize config.my.highDPI;
};
2022-01-25 00:31:56 +00:00
settings = {
2023-01-12 23:50:53 +00:00
disable_ligatures = "always";
scrollback_lines = 50000;
detect_urls = true;
url_color = "#0087bd";
url_style = "curly";
copy_on_select = "clipboard";
confirm_os_window_close = 0;
background_opacity = "0.98";
enable_audio_bell = "no";
2022-01-25 00:31:56 +00:00
};
};
2022-01-26 19:45:40 +00:00
};
}