nixos-config/home-manager/default.nix

337 lines
7.2 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> { };
fontSize = hiDPI: if hiDPI then "FiraCode:size=14" else "FiraCode:size=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
2023-04-18 21:07:13 +00:00
modules/devenv.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
nixpkgs.overlays = [
(import ../overlay/default.nix)
];
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
2022-01-25 00:31:56 +00:00
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
foot
2022-01-25 00:31:56 +00:00
wofi
unzip
whois
sublime-music
fzf
2023-01-08 00:41:45 +00:00
ncmpcpp
acpi
unstable.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
2023-04-17 16:05:42 +00:00
inkscape
guvcview
2023-05-12 15:52:54 +00:00
vnstat
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
# from my overlay
studio-link
] ++ lib.optionals (config.networking.hostName == "jimbo") [
networkmanager
# Stuff only needed for work
networkmanager-openvpn
packer
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
2023-05-12 15:53:17 +00:00
unstable.timewarrior
chef-devkit #Formely known as chefdk but this package has a throw
] ++ 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-05-07 17:03:31 +00:00
"buzzer" = "ssh -i Nextcloud/Privat/id_door door@door.w17.io buzzer";
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 = [
"sway/mode"
"disk"
"pulseaudio"
"network"
"memory"
"cpu"
"temperature"
"battery"
"tray"
"clock"
];
modules = {
"battery" = {
states = {
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 = {
warning = 80;
critical = 90;
};
};
"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";
hwmon-path = "/sys/class/hwmon/hwmon3/temp1_input";
critical-threshold = 75;
};
"disk" = {
interval = 30;
format = "{free} free";
path = "/";
};
2023-01-03 10:33:13 +00:00
};
}];
style = builtins.readFile ./waybar.css;
};
2022-01-25 00:31:56 +00:00
2023-06-01 16:28:59 +00:00
services.mako = {
2022-01-25 00:31:56 +00:00
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
programs.foot = {
2022-01-25 00:31:56 +00:00
enable = true;
settings = {
main = {
term = "xterm-256color";
font = fontSize config.my.highDPI;
};
scrollback = { lines = 100000; };
colors = {
alpha = "0.98";
foreground = "B3B1AD";
background = "0A0E14";
regular0 = "01060E";
regular1 = "EA6C73";
regular2 = "91B362";
regular3 = "F9AF4F";
regular4 = "53BDFA";
regular5 = "FAE994";
regular6 = "90E1C6";
regular7 = "C7C7C7";
bright0 = "686868";
bright1 = "F07178";
bright2 = "C2D94C";
bright3 = "FFB454";
bright4 = "59C2FF";
bright5 = "FFEE99";
bright6 = "95E6CB";
bright7 = "FFFFFF";
};
2022-01-25 00:31:56 +00:00
};
};
2022-01-26 19:45:40 +00:00
};
}