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

313 lines
9.2 KiB
Nix
Raw Normal View History

2019-11-05 21:59:51 +01:00
{ pkgs, lib, config, options, ... }:
2020-06-10 17:37:25 +02:00
let inherit (lib.strings) makeBinPath;
in {
2019-04-19 03:11:51 +02:00
imports = [
2019-10-26 13:43:30 +02:00
<niveum/modules/constants.nix>
2019-04-19 03:11:51 +02:00
<home-manager/nixos>
2019-10-26 13:43:30 +02:00
./alacritty.nix
./bash.nix
./bluetooth.nix
2019-12-27 11:41:11 +01:00
./ccc.nix
2020-08-13 14:16:05 +02:00
./kleiter.nix
2019-10-26 13:43:30 +02:00
./chromium.nix
./cloud.nix
./compton.nix
./direnv.nix
./distrobump.nix
./docker.nix
./dunst.nix
./flix.nix
2019-10-26 13:43:30 +02:00
./fonts.nix
./fzf.nix
2020-09-14 08:33:39 +02:00
./gaslight.nix
2019-10-26 13:43:30 +02:00
./git.nix
./hledger.nix
./htop.nix
./hu-berlin.nix
./i3.nix
./keybase.nix
./keyboard.nix
./mail.nix
2019-10-26 13:43:30 +02:00
./mpv.nix
./nano.nix
./neovim.nix
2020-04-13 11:55:47 +02:00
./newsboat.nix
2020-06-02 23:02:21 +02:00
./flameshot-once.nix
2019-10-26 13:43:30 +02:00
./nixpkgs-unstable.nix
./packages
./printing.nix
./wallpaper.nix
2019-10-26 13:43:30 +02:00
./redshift.nix
./retiolum.nix
./rofi.nix
2020-05-20 00:06:26 +02:00
./spotify.nix
2019-10-26 13:43:30 +02:00
./ssh.nix
./sudo.nix
./sxiv.nix
2019-10-26 13:43:30 +02:00
./themes/mac-os.nix
./theming.nix
./tmux.nix
./todo-txt.nix
2020-07-11 20:42:04 +02:00
./traadfri.nix
2019-10-26 13:43:30 +02:00
./unclutter.nix
2019-11-30 13:38:56 +01:00
./version.nix
2019-10-26 13:43:30 +02:00
./vscode.nix
./xautolock.nix
./zsh.nix
2019-04-19 03:11:51 +02:00
{
niveum.user = {
github = "kmein";
email = "kieran.meinhardt@gmail.com";
name = "Kierán Meinhardt";
};
niveum.applications = rec {
fileManager = "$TERMINAL -e ${pkgs.ranger}/bin/ranger";
2019-04-19 03:11:51 +02:00
};
niveum.theme = {
2020-06-10 17:37:25 +02:00
gtk = {
name = "Adwaita-dark";
package = pkgs.gnome3.gnome-themes-extra;
};
icon = {
name = "Adwaita";
package = pkgs.gnome3.adwaita-icon-theme;
};
cursor = {
name = "capitaine-cursors-white";
package = pkgs.capitaine-cursors;
};
2019-04-19 03:11:51 +02:00
};
}
2020-06-10 17:37:25 +02:00
{ nix.nixPath = [ "/var/src" ]; }
{ services.dbus.packages = [ pkgs.gnome3.dconf ]; }
{
environment.systemPackages = [
(pkgs.writers.writeDashBin "x-www-browser" ''
for browser in $BROWSER firefox chromium google-chrome google-chrome-stable opera vivaldi qupzilla iceweasel konqueror firefox-aurora google-chrome-beta opera-beta vivaldi-beta google-chrome-dev opera-developer vivaldi-snapshot luakit midori epiphany lynx w3m dillo elinks vimb; do
if command -v $browser > /dev/null 2>&1; then
exec $browser "$@"
fi
done
exit 1
'')
];
}
2019-11-05 21:59:51 +01:00
{
nixpkgs = {
2020-04-09 17:51:16 +02:00
config = {
allowUnfree = true;
packageOverrides = pkgs: {
2020-06-10 17:37:25 +02:00
nur = import (builtins.fetchTarball
2020-07-19 07:57:44 +02:00
"https://github.com/nix-community/NUR/archive/aea85375c7a82297d977904de8dd7f41baf2d59a.tar.gz") {
2020-06-10 17:37:25 +02:00
inherit pkgs;
};
writeDashBin = pkgs.writers.writeDashBin;
writeDash = pkgs.writers.writeDash;
gfs-fonts = pkgs.callPackage <niveum/packages/gfs-fonts.nix> {
scardanelli = config.networking.hostName == "scardanelli";
};
2020-06-10 17:37:25 +02:00
iolanguage = pkgs.callPackage <niveum/packages/iolanguage.nix> { };
ix = pkgs.callPackage <niveum/packages/ix.nix> { };
2020-04-09 17:51:16 +02:00
};
};
2019-11-05 21:59:51 +01:00
overlays = [
(self: super: {
scripts = import <niveum/packages/scripts> { pkgs = super; lib = super.lib; };
})
2020-09-10 13:07:07 +02:00
(import <niveum/overlays/toml.nix>)
2019-11-05 21:59:51 +01:00
];
2019-04-19 03:11:51 +02:00
};
}
{
boot.cleanTmpDir = true;
boot.loader.timeout = 1;
boot.extraModulePackages = [ config.boot.kernelPackages.exfat-nofuse ];
}
{
time.timeZone = "Europe/Berlin";
2019-10-11 21:12:32 +02:00
location = {
latitude = 52.517;
longitude = 13.3872;
};
2019-04-19 03:11:51 +02:00
}
{
home-manager.users.me = {
programs.zathura = {
enable = true;
options = {
selection-clipboard = "clipboard";
# first-page-column = "1:1"; # makes side-by-side mode start on the left side
};
2019-04-19 03:11:51 +02:00
};
};
}
{
users.mutableUsers = false;
2019-08-26 17:27:09 +02:00
users.defaultUserShell = pkgs.zsh;
2019-04-19 03:11:51 +02:00
users.users.me = {
name = "kfm";
2019-05-14 07:18:04 +02:00
description = config.niveum.user.name;
2020-06-10 17:37:25 +02:00
hashedPassword =
"$6$w9hXyGFl/.IZBXk$5OiWzS1G.5hImhh1YQmZiCXYNAJhi3X6Y3uSLupJNYYXPLMsQpx2fwF4Xr2uYzGMV8Foqh8TgUavx1APD9rcb/";
2019-08-26 17:27:09 +02:00
isNormalUser = true;
2019-04-19 03:11:51 +02:00
};
}
{
sound.enable = true;
hardware.pulseaudio = {
enable = true;
package = pkgs.pulseaudioFull; # for bluetooth sound output
};
users.users.me.extraGroups = [ "audio" ];
environment.systemPackages = [ pkgs.pavucontrol pkgs.pamixer ];
}
{
2020-06-10 17:37:25 +02:00
environment.interactiveShellInit =
"export PATH=$PATH:$HOME/projects/niveum";
environment.shellAliases = let
wcd = pkgs.writers.writeDash "wcd" ''
cd "$(readlink "$(${pkgs.which}/bin/which --skip-alias "$1")" | xargs dirname)/.."
2019-08-23 18:27:06 +02:00
'';
where = pkgs.writers.writeDash "where" ''
readlink "$(${pkgs.which}/bin/which --skip-alias "$1")" | xargs dirname
2019-08-23 18:27:06 +02:00
'';
take = pkgs.writers.writeDash "take" ''
2019-08-23 18:27:06 +02:00
mkdir "$1" && cd "$1"
'';
swallow = command: "${pkgs.scripts.swallow}/bin/swallow ${command}";
2019-08-22 09:44:11 +02:00
in {
2020-04-23 13:15:48 +02:00
"ß" = "${pkgs.utillinux}/bin/setsid";
cat = "${pkgs.bat}/bin/bat --style=plain";
2020-06-10 17:37:25 +02:00
chromium-incognito =
"chromium --user-data-dir=$(mktemp -d /tmp/chr.XXXXXX) --no-first-run --incognito";
2019-04-19 03:11:51 +02:00
cp = "cp -i";
dig = "dig +short";
ip = "${pkgs.iproute}/bin/ip -c";
2019-09-14 20:26:07 +02:00
l = "${pkgs.exa}/bin/exa -s type -a";
la = "${pkgs.exa}/bin/exa -s type -la";
ll = "${pkgs.exa}/bin/exa -s type -l";
ls = "${pkgs.exa}/bin/exa -s type";
mv = "mv -i";
2019-11-05 21:59:51 +01:00
nixi = "nix repl '<nixpkgs>'";
ns = "nix-shell --run zsh";
o = "${pkgs.xdg_utils}/bin/xdg-open";
2020-04-23 13:15:48 +02:00
pbcopy = "${pkgs.xclip}/bin/xclip -selection clipboard -in";
pbpaste = "${pkgs.xclip}/bin/xclip -selection clipboard -out";
rm = "rm -i";
2020-04-23 13:15:48 +02:00
s = "${pkgs.systemd}/bin/systemctl";
2019-08-23 18:27:06 +02:00
take = "source ${take}";
tmux = "${pkgs.tmux}/bin/tmux -2";
2019-08-27 17:27:26 +02:00
tree = "${pkgs.exa}/bin/exa --tree";
sxiv = swallow "${pkgs.sxiv}/bin/sxiv";
zathura = swallow "${pkgs.zathura}/bin/zathura";
2020-04-23 13:15:48 +02:00
us = "${pkgs.systemd}/bin/systemctl --user";
wcd = "source ${wcd}";
weechat = "${pkgs.openssh}/bin/ssh kmein@prism.r -t tmux attach";
where = "source ${where}";
2020-06-10 17:37:25 +02:00
yt =
"${pkgs.youtube-dl}/bin/youtube-dl --add-metadata -ic"; # Download video link
yta =
"${pkgs.youtube-dl}/bin/youtube-dl --add-metadata -xic"; # Download with audio
2019-04-19 03:11:51 +02:00
};
}
{
networking.wireless = {
enable = true;
userControlled.enable = true;
networks = {
2019-09-25 18:36:57 +02:00
"Aether" = {
2020-06-10 17:37:25 +02:00
pskRaw =
"e1b18af54036c5c9a747fe681c6a694636d60a5f8450f7dec0d76bc93e2ec85a";
2019-09-25 18:36:57 +02:00
priority = 10;
};
"Asoziales Netzwerk" = {
2020-06-10 17:37:25 +02:00
pskRaw =
"8e234041ec5f0cd1b6a14e9adeee9840ed51b2f18856a52137485523e46b0cb6";
2019-09-25 18:36:57 +02:00
priority = 10;
};
"Libertarian WiFi" = {
2020-06-10 17:37:25 +02:00
pskRaw =
"e9beaae6ffa55d10e80b8a2e7d997411d676a3cc6f1f29d0b080391f04555050";
2019-09-25 18:36:57 +02:00
priority = 9;
};
2020-06-10 17:37:25 +02:00
"EasyBox-927376".pskRaw =
"dbd490ab69b39bd67cfa06daf70fc3ef3ee90f482972a668ed758f90f5577c22";
"FlixBus Wi-Fi" = { };
"FlixBus" = { };
"FlixTrain" = { };
"BVG Wi-Fi" = { };
"Hotel_Krone" = { }; # login: http://192.168.10.1/
2020-06-10 17:37:25 +02:00
"Ni/Schukajlow".pskRaw =
"ffc47f6829da59c48aea878a32252223303f5c47a3859edc90971ffc63346781";
"WIFIonICE" = { }; # login: http://10.101.64.10/
2019-05-14 07:18:04 +02:00
"WLAN-914742".psk = "67647139648174545446";
2020-05-12 18:43:59 +02:00
"KDG-CEAA4".psk = "PBkBSmejcvM4";
2019-12-08 19:26:53 +01:00
"KDG-4ECF7".psk = "Gdbwh7afw2Bx";
2020-06-10 17:37:25 +02:00
"WLAN-XVMU6T".pskRaw =
"46ea807283255a3d7029233bd79c18837df582666c007c86a8d591f65fae17cc";
"c-base-public" = { };
2019-08-05 09:37:32 +02:00
"discord".psk = "baraustrinken";
2019-12-27 11:41:11 +01:00
"GoOnline".psk = "airbnbguest";
2019-08-05 09:37:32 +02:00
"security-by-obscurity".psk = "44629828256481964386";
2019-09-24 16:47:53 +02:00
"Mayflower".psk = "Fr31EsLan";
2020-09-03 09:27:50 +02:00
"Born11".psk = "56LMVLbw840EGNWk0RYRqvgicx3FSO";
2019-04-19 03:11:51 +02:00
};
};
environment.systemPackages = [ pkgs.wpa_supplicant_gui ];
}
{
networking.hosts = {
"192.168.178.1" = [ "fritz.box" ];
"192.168.178.24" = [ "catullus.local" ];
2019-04-19 03:11:51 +02:00
};
}
2020-06-10 17:37:25 +02:00
{ i18n.defaultLocale = "en_GB.UTF-8"; }
{ services.illum.enable = true; }
2019-04-19 03:11:51 +02:00
{
services.xserver = {
enable = true;
2019-05-02 15:28:17 +02:00
displayManager.lightdm = {
2019-04-19 03:11:51 +02:00
enable = true;
2019-09-14 18:43:23 +02:00
autoLogin = {
enable = true;
user = config.users.users.me.name;
};
2019-05-02 15:28:17 +02:00
greeters.gtk = {
enable = true;
indicators = [ "~spacer" "~host" "~spacer" "~session" "~power" ];
};
2019-04-19 03:11:51 +02:00
};
};
}
{
security.wrappers = {
pmount.source = "${pkgs.pmount}/bin/pmount";
pumount.source = "${pkgs.pmount}/bin/pumount";
};
}
2020-06-10 17:37:25 +02:00
{ programs.command-not-found.enable = true; }
2020-04-26 20:21:39 +02:00
{
programs.gnupg.agent.enable = true;
environment.systemPackages = [ pkgs.gnupg pkgs.pass ];
}
2020-07-19 16:18:07 +02:00
{
services.atd.enable = true;
}
2020-07-19 07:57:44 +02:00
{
services.mingetty = {
greetingLine = lib.mkForce "";
helpLine = lib.mkForce "";
};
}
2019-04-19 03:11:51 +02:00
];
}