2018-09-05 22:21:12 +02:00
|
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
|
let
|
2018-09-17 16:51:00 +02:00
|
|
|
scripts = import ./dot/scripts.nix pkgs;
|
|
|
|
|
constants = import ./constants.nix;
|
|
|
|
|
wallpaper = pkgs.copyPathToStore ./art/haskell-grey.png;
|
2018-09-11 18:16:33 +02:00
|
|
|
theme = {
|
2018-09-13 22:48:38 +02:00
|
|
|
gtk = { name = "Numix-SX-Dark"; package = pkgs.numix-sx-gtk-theme; };
|
2018-09-11 18:16:33 +02:00
|
|
|
icon = { name = "Papirus-Adapta-Nokto"; package = pkgs.papirus-icon-theme; };
|
|
|
|
|
};
|
2018-09-05 22:21:12 +02:00
|
|
|
in {
|
2018-09-12 00:04:55 +02:00
|
|
|
imports = [
|
|
|
|
|
"${builtins.fetchTarball https://github.com/rycee/home-manager/archive/master.tar.gz}/nixos"
|
2018-09-17 16:51:00 +02:00
|
|
|
./configs/shells.nix
|
|
|
|
|
./configs/editors.nix
|
|
|
|
|
./configs/graphics.nix
|
|
|
|
|
./configs/packages.nix
|
2018-09-12 00:04:55 +02:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
nixpkgs.config = {
|
|
|
|
|
allowUnfree = true;
|
2018-09-13 22:48:38 +02:00
|
|
|
packageOverrides =
|
2018-09-17 16:51:00 +02:00
|
|
|
let nix-writers = builtins.fetchGit {
|
|
|
|
|
url = https://cgit.krebsco.de/nix-writers/;
|
|
|
|
|
ref = "tags/v3.0.0";
|
|
|
|
|
# sha256 = "066y18q19d35x5jjr3kdn1dwi7s1l12icr90s2vxwzif6ahnzmb3";
|
|
|
|
|
}; in import "${nix-writers}/pkgs" pkgs;
|
2018-09-12 00:04:55 +02:00
|
|
|
};
|
2018-09-05 22:21:12 +02:00
|
|
|
|
2018-09-17 16:51:00 +02:00
|
|
|
time.timeZone = "Europe/Berlin";
|
|
|
|
|
|
|
|
|
|
sound.enable = true;
|
|
|
|
|
hardware.pulseaudio.enable = true;
|
|
|
|
|
hardware.bluetooth.enable = true;
|
|
|
|
|
|
2018-09-05 22:21:12 +02:00
|
|
|
security.sudo.enable = true;
|
2018-09-17 16:51:00 +02:00
|
|
|
security.sudo.extraConfig = "Defaults insults";
|
2018-09-05 22:21:12 +02:00
|
|
|
|
2018-09-13 22:48:38 +02:00
|
|
|
fonts.enableDefaultFonts = true;
|
|
|
|
|
|
2018-09-17 16:51:00 +02:00
|
|
|
users.mutableUsers = false;
|
|
|
|
|
|
2018-09-12 00:04:55 +02:00
|
|
|
users.users.kfm = {
|
2018-09-17 16:51:00 +02:00
|
|
|
name = "kfm";
|
|
|
|
|
home = "/home/kfm";
|
2018-09-12 00:04:55 +02:00
|
|
|
createHome = true;
|
|
|
|
|
group = "users";
|
2018-09-17 16:51:00 +02:00
|
|
|
extraGroups = [ "wheel" "audio" ];
|
2018-09-12 00:04:55 +02:00
|
|
|
password = "kfm";
|
2018-09-17 16:51:00 +02:00
|
|
|
shell = pkgs.zsh;
|
2018-09-13 22:48:38 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
services.cron = {
|
|
|
|
|
enable = true;
|
|
|
|
|
systemCronJobs = [
|
|
|
|
|
"0 18 * * * ${scripts.bing-wallpaper}"
|
|
|
|
|
];
|
|
|
|
|
};
|
2018-09-05 22:21:12 +02:00
|
|
|
|
|
|
|
|
services.openssh.enable = true;
|
2018-09-13 22:48:38 +02:00
|
|
|
programs.ssh = {
|
|
|
|
|
startAgent = true;
|
|
|
|
|
knownHosts = [];
|
|
|
|
|
};
|
2018-09-05 22:21:12 +02:00
|
|
|
|
2018-09-12 00:04:55 +02:00
|
|
|
services.redshift = {
|
|
|
|
|
enable = true;
|
|
|
|
|
latitude = "52";
|
|
|
|
|
longitude = "13";
|
|
|
|
|
temperature = { night = 25000; day = 1000; };
|
|
|
|
|
};
|
|
|
|
|
|
2018-09-13 22:48:38 +02:00
|
|
|
programs.tmux = {
|
|
|
|
|
enable = true;
|
|
|
|
|
extraTmuxConf = import ./dot/tmux.nix;
|
|
|
|
|
keyMode = "vi";
|
|
|
|
|
terminal = "screen-256color";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
# networking.hostName = "scardanelli";
|
|
|
|
|
networking.hosts = {
|
|
|
|
|
"192.168.178.27" = [ "printer.local" ];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
networking.wireless.enable = true;
|
|
|
|
|
networking.wireless.networks = {
|
2018-09-17 16:51:00 +02:00
|
|
|
Aether = { pskRaw = "e1b18af54036c5c9a747fe681c6a694636d60a5f8450f7dec0d76bc93e2ec85a"; };
|
|
|
|
|
"Asoziales Netzwerk" = { pskRaw = "8e234041ec5f0cd1b6a14e9adeee9840ed51b2f18856a52137485523e46b0cb6"; };
|
2018-09-13 22:48:38 +02:00
|
|
|
};
|
2018-09-11 18:16:33 +02:00
|
|
|
|
2018-09-13 22:48:38 +02:00
|
|
|
home-manager.users.kfm = {
|
2018-09-11 18:16:33 +02:00
|
|
|
gtk = {
|
|
|
|
|
enable = true;
|
|
|
|
|
font = with import ./theme.nix; { package = pkgs.roboto; name = uiFont.name; };
|
|
|
|
|
iconTheme = theme.icon;
|
|
|
|
|
theme = theme.gtk;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
programs.git = {
|
|
|
|
|
enable = true;
|
2018-09-13 22:48:38 +02:00
|
|
|
userName = constants.user.name;
|
|
|
|
|
userEmail = constants.user.email;
|
2018-09-11 18:16:33 +02:00
|
|
|
aliases = {
|
|
|
|
|
br = "branch";
|
|
|
|
|
co = "checkout";
|
|
|
|
|
ci = "commit";
|
|
|
|
|
amend = "commit --amend";
|
|
|
|
|
st = "status";
|
|
|
|
|
unstage = "reset HEAD --";
|
|
|
|
|
sdiff = "diff --staged";
|
|
|
|
|
last = "log -1 HEAD";
|
2018-09-13 22:48:38 +02:00
|
|
|
pull-all = "!${scripts.git-pull-all}";
|
2018-09-11 18:16:33 +02:00
|
|
|
};
|
2018-09-13 22:48:38 +02:00
|
|
|
ignores = constants.ignoredFiles;
|
2018-09-11 18:16:33 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
programs.rofi = with import ./theme.nix; {
|
|
|
|
|
enable = true;
|
|
|
|
|
separator = "solid";
|
|
|
|
|
scrollbar = false;
|
|
|
|
|
borderWidth = 0;
|
|
|
|
|
lines = 5;
|
2018-09-12 00:04:55 +02:00
|
|
|
font = "${uiFont.name} ${toString (uiFont.size + 1)}";
|
2018-09-11 18:16:33 +02:00
|
|
|
colors = {
|
|
|
|
|
window = { background = black; border = black; separator = gray.dark; };
|
|
|
|
|
rows = {
|
|
|
|
|
normal = {
|
|
|
|
|
background = black;
|
|
|
|
|
foreground = gray.light;
|
|
|
|
|
backgroundAlt = black;
|
|
|
|
|
highlight = { background = black; foreground = white; };
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
2018-09-17 16:51:00 +02:00
|
|
|
services.kdeconnect.enable = true;
|
|
|
|
|
|
2018-09-11 18:16:33 +02:00
|
|
|
services.dunst = with import ./theme.nix; {
|
|
|
|
|
enable = true;
|
2018-09-12 00:04:55 +02:00
|
|
|
iconTheme = theme.icon;
|
|
|
|
|
settings = {
|
|
|
|
|
global = {
|
|
|
|
|
transparency = 10;
|
|
|
|
|
font = "${uiFont.name} ${toString uiFont.size}";
|
2018-09-13 22:48:38 +02:00
|
|
|
geometry = "200x5-30+20";
|
2018-09-12 00:04:55 +02:00
|
|
|
frame_color = veryDark;
|
|
|
|
|
follow = "mouse";
|
|
|
|
|
indicate_hidden = true;
|
|
|
|
|
notification_height = 0;
|
|
|
|
|
separator_height = 2;
|
|
|
|
|
padding = 8;
|
|
|
|
|
horizontal_padding = 8;
|
|
|
|
|
separator_color = "auto";
|
|
|
|
|
sort = true;
|
|
|
|
|
markup = "full";
|
|
|
|
|
format = ''%a\n<b>%s</b>\n%b'';
|
|
|
|
|
alignment = "left";
|
|
|
|
|
show_age_threshold = 60;
|
|
|
|
|
bounce_freq = 0;
|
|
|
|
|
word_wrap = true;
|
|
|
|
|
ellipsize = "middle";
|
|
|
|
|
ignore_newline = false;
|
|
|
|
|
stack_duplicates = true;
|
|
|
|
|
hide_duplicate_count = false;
|
|
|
|
|
max_icon_size = 32;
|
|
|
|
|
sticky_history = true;
|
|
|
|
|
history_length = 20;
|
2018-09-17 16:51:00 +02:00
|
|
|
dmenu = "${pkgs.rofi}/bin/rofi -display-run dunst -show run";
|
|
|
|
|
browser = "${pkgs.xdg_utils}/bin/xdg-open";
|
2018-09-12 00:04:55 +02:00
|
|
|
verbosity = "mesg";
|
|
|
|
|
corner_radius = 0;
|
|
|
|
|
mouse_left_click = "do_action";
|
|
|
|
|
mouse_right_click = "close_current";
|
|
|
|
|
mouse_middle_click = "close_all";
|
|
|
|
|
};
|
2018-09-17 16:51:00 +02:00
|
|
|
urgency_low = { frame_color = veryDark; background = veryDark; foreground = gray.light; timeout = 5; };
|
|
|
|
|
urgency_normal = { frame_color = veryDark; background = gray.light; foreground = veryDark; timeout = 10; };
|
|
|
|
|
urgency_critical = { frame_color = veryDark; background = red.dark; foreground = veryDark; timeout = 0; };
|
2018-09-11 18:16:33 +02:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
home.file = {
|
2018-09-13 22:48:38 +02:00
|
|
|
".background-image".source = wallpaper;
|
|
|
|
|
".ghci".text = import ./dot/ghci.nix pkgs;
|
|
|
|
|
".stack/config.yaml".text = import ./dot/stack.nix constants.user;
|
2018-09-11 18:16:33 +02:00
|
|
|
".config/zathura/zathurarc".text = "set selection-clipboard clipboard";
|
|
|
|
|
".config/mpv/input.conf".text = import ./dot/mpv.nix;
|
2018-09-17 16:51:00 +02:00
|
|
|
".config/xfce4/terminal/terminalrc".text = import ./dot/terminal.nix;
|
2018-09-13 22:48:38 +02:00
|
|
|
".zshrc".text = "# nothing to see here";
|
2018-09-11 18:16:33 +02:00
|
|
|
};
|
|
|
|
|
};
|
2018-09-05 22:21:12 +02:00
|
|
|
}
|