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

117 lines
2.9 KiB
Nix
Raw Normal View History

{ config, lib, pkgs, ... }:
let
helpers = import ./helpers.nix;
in {
imports = [
2019-02-08 17:59:37 +01:00
"${builtins.fetchTarball https://github.com/rycee/home-manager/archive/release-18.09.tar.gz}/nixos"
./options.nix
configs/hu-berlin.nix
configs/shells.nix
configs/editors.nix
configs/graphics.nix
configs/packages.nix
configs/networks.nix
2019-01-30 16:09:06 +01:00
configs/scripts.nix
configs/retiolum.nix
];
2019-01-30 15:44:00 +01:00
boot.cleanTmpDir = true;
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
'';
};
services.printing = {
enable = true;
drivers = [ pkgs.hplipWithPlugin ];
};
security.sudo = {
enable = true;
2019-01-02 02:20:03 +01:00
extraConfig = ''
Defaults pwfeedback
'';
};
2018-09-05 22:21:12 +02:00
systemd.services.google-drive = {
description = "Google Drive synchronisation service";
wants = [ "network-online.target" ];
script = ''
${pkgs.grive2}/bin/grive -p ${config.users.users.kfm.home}/cloud/gdrive
'';
startAt = "*:0/5";
serviceConfig = {
Type = "oneshot";
User = config.users.users.kfm.name;
};
};
programs.tmux = {
enable = true;
extraTmuxConf = import dot/tmux.nix;
keyMode = "vi";
terminal = "screen-256color";
};
2019-01-30 15:44:00 +01:00
users.mutableUsers = false;
users.users.kfm = {
name = "kfm";
description = config.constants.user.name;
home = "/home/kfm";
createHome = true;
group = "users";
extraGroups = [ "wheel" "audio" "docker" ];
hashedPassword = "$6$w9hXyGFl/.IZBXk$5OiWzS1G.5hImhh1YQmZiCXYNAJhi3X6Y3uSLupJNYYXPLMsQpx2fwF4Xr2uYzGMV8Foqh8TgUavx1APD9rcb/";
2019-03-06 00:58:56 +01:00
shell = pkgs.zsh;
2019-01-30 15:44:00 +01:00
};
home-manager.users.kfm = {
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";
2019-02-13 14:33:55 +01:00
cm = "commit -m";
2018-09-11 18:16:33 +02:00
amend = "commit --amend";
st = "status";
unstage = "reset HEAD --";
2019-02-13 14:33:55 +01:00
diffs = "diff --staged";
2018-09-11 18:16:33 +02:00
last = "log -1 HEAD";
2019-02-13 14:33:55 +01:00
logs = "log --pretty=oneline";
pull-all = "!pull-all"; # from dot/scripts.nix
2018-09-11 18:16:33 +02:00
};
ignores = config.constants.ignore;
2018-09-11 18:16:33 +02:00
};
2019-03-12 19:20:44 +01:00
xdg.configFile = {
"mpv/input.conf".text = import dot/mpv.nix;
"Typora/themes/base.user.css".text = import dot/typora.nix;
"htop/htoprc".text = builtins.readFile dot/htoprc;
"zathura/zathurarc".text = "set selection-clipboard clipboard";
};
2018-09-11 18:16:33 +02:00
home.file = {
".ghc/ghci.conf".text = import dot/ghci.nix { inherit pkgs; };
".stack/config.yaml".text = import dot/stack.nix { user = config.constants.user; };
".zshrc".text = "# nothing to see here";
2018-09-11 18:16:33 +02:00
};
};
2018-09-05 22:21:12 +02:00
}