1
0
mirror of https://github.com/kmein/niveum synced 2026-03-17 18:41:09 +01:00
Files
niveum/systems/generic.nix

121 lines
3.0 KiB
Nix
Raw Normal View History

{ config, lib, pkgs, ... }:
let
2019-04-11 07:43:08 +02:00
helpers = import <lib>;
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"
2019-04-11 07:43:08 +02:00
<modules/defaultApplications.nix>
<configs/hu-berlin.nix>
<configs/shells.nix>
<configs/editors.nix>
<configs/graphics.nix>
<configs/packages.nix>
<configs/networks.nix>
<configs/scripts.nix>
<configs/retiolum.nix>
];
2019-01-30 15:44:00 +01:00
boot.cleanTmpDir = true;
2019-04-04 16:57:50 +02:00
boot.extraModulePackages = [ config.boot.kernelPackages.exfat-nofuse ];
2019-01-30 15:44:00 +01:00
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;
2019-04-11 07:43:08 +02:00
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 = {
2019-04-10 21:14:29 +02:00
"mpv/input.conf".text = import <niveum/dot/mpv.nix>;
"htop/htoprc".text = builtins.readFile <niveum/dot/htoprc>;
2019-03-12 19:20:44 +01:00
"zathura/zathurarc".text = "set selection-clipboard clipboard";
2019-04-02 23:24:31 +02:00
"pycodestyle".text = ''
[pycodestyle]
max-line-length = 110
'';
2019-03-12 19:20:44 +01:00
};
2018-09-11 18:16:33 +02:00
home.file = {
2019-04-10 21:14:29 +02:00
".ghc/ghci.conf".text = import <niveum/dot/ghci.nix> { inherit pkgs; };
".stack/config.yaml".text = import <niveum/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
}