1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 18:21:07 +01:00
Files
niveum/config.nix

187 lines
5.4 KiB
Nix
Raw Normal View History

2018-09-05 22:21:12 +02:00
{ config, lib, pkgs, ... }:
let
scripts = import ./dot/scripts.nix { inherit pkgs; };
helpers = import ./helpers.nix;
2018-09-05 22:21:12 +02:00
in {
imports = [
"${builtins.fetchTarball https://github.com/rycee/home-manager/archive/master.tar.gz}/nixos"
./options.nix
./configs/shells.nix
./configs/editors.nix
./configs/graphics.nix
./configs/packages.nix
./configs/networks.nix
];
time.timeZone = "Europe/Berlin";
sound.enable = true;
hardware.pulseaudio = {
enable = true;
package = pkgs.pulseaudioFull; # for bluetooth sound output
};
hardware.bluetooth = {
enable = true;
extraConfig = ''
[General]
Enable=Source,Sink,Media,Socket
'';
};
2018-09-05 22:21:12 +02:00
security.sudo.enable = true;
security.sudo.extraConfig = "Defaults insults";
2018-09-05 22:21:12 +02:00
users.mutableUsers = false;
users.users.kfm = {
name = "kfm";
home = "/home/kfm";
createHome = true;
group = "users";
extraGroups = [ "wheel" "audio" ];
password = "kfm";
shell = pkgs.zsh;
};
services.cron = {
enable = true;
systemCronJobs = [
"0 18 * * * ${scripts.bing-wallpaper}"
];
};
2018-09-05 22:21:12 +02:00
services.openssh.enable = true;
programs.ssh = {
startAgent = true;
knownHosts = [];
};
2018-09-05 22:21:12 +02:00
programs.tmux = {
enable = true;
extraTmuxConf = import ./dot/tmux.nix;
keyMode = "vi";
terminal = "screen-256color";
};
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 = config.constants.theme.icon;
theme = config.constants.theme.gtk;
2018-09-11 18:16:33 +02:00
};
programs.git = {
enable = true;
userName = config.constants.user.name;
userEmail = config.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";
pull-all = "!${scripts.git-pull-all}";
2018-09-11 18:16:33 +02:00
};
ignores = config.constants.ignore;
2018-09-11 18:16:33 +02:00
};
programs.rofi = with import ./theme.nix; {
enable = true;
separator = "solid";
scrollbar = false;
terminal = config.defaultApplications.terminal;
2018-09-11 18:16:33 +02:00
borderWidth = 0;
lines = 5;
font = "${uiFont.name} ${toString (uiFont.size + 1)}";
colors = rec {
2018-09-11 18:16:33 +02:00
window = { background = black; border = black; separator = gray.dark; };
rows = {
normal = {
background = window.background;
backgroundAlt = window.background;
2018-09-11 18:16:33 +02:00
foreground = gray.light;
highlight = { foreground = white; inherit (window) background; };
};
active = {
background = window.background;
backgroundAlt = window.background;
foreground = blue.dark;
highlight = { foreground = blue.light; inherit (window) background; };
};
urgent = {
background = window.background;
backgroundAlt = window.background;
foreground = red.dark;
highlight = { foreground = red.light; inherit (window) background; };
2018-09-11 18:16:33 +02:00
};
};
};
};
services.kdeconnect = {
enable = true;
indicator = true;
};
2018-09-11 18:16:33 +02:00
services.dunst = with import ./theme.nix; {
enable = true;
iconTheme = config.constants.theme.icon;
settings = {
global = {
transparency = 10;
font = "${uiFont.name} ${toString uiFont.size}";
geometry = "200x5-30+20";
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;
dmenu = "${pkgs.rofi}/bin/rofi -display-run dunst -show run";
browser = "${pkgs.xdg_utils}/bin/xdg-open";
verbosity = "mesg";
corner_radius = 0;
mouse_left_click = "do_action";
mouse_right_click = "close_current";
mouse_middle_click = "close_all";
};
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 = {
".background-image".source = config.constants.wallpaper;
".ghci".text = import ./dot/ghci.nix { inherit pkgs; };
".stack/config.yaml".text = import ./dot/stack.nix { user = config.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;
".config/xfce4/terminal/terminalrc".text = import ./dot/terminal.nix;
".zshrc".text = "# nothing to see here";
2018-09-11 18:16:33 +02:00
};
};
2018-09-05 22:21:12 +02:00
}