259 lines
6.5 KiB
Nix
259 lines
6.5 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
{
|
|
imports =
|
|
[
|
|
./hardware-configuration.nix
|
|
];
|
|
|
|
boot = {
|
|
loader = {
|
|
systemd-boot.enable = true;
|
|
efi.canTouchEfiVariables = true;
|
|
};
|
|
|
|
cleanTmpDir = true;
|
|
initrd.supportedFilesystems = [ "btrfs" ];
|
|
supportedFilesystems = [ "btrfs" ];
|
|
tmpOnTmpfs = true;
|
|
};
|
|
|
|
environment = {
|
|
shells = [ pkgs.zsh ];
|
|
systemPackages = with pkgs; [
|
|
wget emacs
|
|
zathura qutebrowser
|
|
chromium optipng
|
|
oh-my-zsh stow
|
|
bar git st
|
|
msmtp neomutt mu ripmime
|
|
nethogs
|
|
(import ./vim.nix)
|
|
(texlive.combine { inherit (texlive) scheme-small latexmk bibtex; }) #for vimtex
|
|
ghostscript
|
|
];
|
|
};
|
|
|
|
hardware = {
|
|
bluetooth.enable = false;
|
|
cpu.intel.updateMicrocode = true;
|
|
pulseaudio = {
|
|
enable = true;
|
|
package = pkgs.pulseaudioLight;
|
|
};
|
|
trackpoint.enable = true;
|
|
};
|
|
|
|
i18n = {
|
|
consoleFont = "Lat2-Terminus16";
|
|
consoleKeyMap = "fr-bepo";
|
|
defaultLocale = "en_US.UTF-8";
|
|
supportedLocales = [
|
|
"de_DE.UTF-8/UTF-8"
|
|
"en_US.UTF-8/UTF-8"
|
|
"fr_FR.UTF-8/UTF-8"
|
|
"fi_FI.UTF-8/UTF-8" ];
|
|
};
|
|
|
|
networking = {
|
|
hostName = "era";
|
|
extraHosts = ''
|
|
192.168.1.1 router
|
|
163.172.81.107 sahkopoika
|
|
163.172.25.159 protonpack
|
|
195.154.102.65 kromuniste
|
|
'';
|
|
networkmanager.enable = false;
|
|
};
|
|
|
|
nix.useSandbox = true;
|
|
|
|
programs = {
|
|
bash.enableCompletion = true;
|
|
zsh.enable = true;
|
|
zsh.enableCompletion = true;
|
|
adb.enable = true;
|
|
mosh.enable = true;
|
|
tmux.enable = true;
|
|
};
|
|
|
|
security = {
|
|
sudo.wheelNeedsPassword = false;
|
|
pki.certificates = [
|
|
#(builtins.readFile ./MarvidCA.crt)
|
|
''
|
|
-----BEGIN CERTIFICATE-----
|
|
MIIDPTCCAiWgAwIBAgIJAMbx5WIu+oU+MA0GCSqGSIb3DQEBBQUAMDUxCzAJBgNV
|
|
BAYTAkZSMRUwEwYDVQQKDAxVbml0ZWQgUm9vdHMxDzANBgNVBAMMBk1hcnZpZDAe
|
|
Fw0xNDExMDMwMDI1NTNaFw0xOTExMDIwMDI1NTNaMDUxCzAJBgNVBAYTAkZSMRUw
|
|
EwYDVQQKDAxVbml0ZWQgUm9vdHMxDzANBgNVBAMMBk1hcnZpZDCCASIwDQYJKoZI
|
|
hvcNAQEBBQADggEPADCCAQoCggEBANl+Yqu63ivUX3ihurub0sreLmCKMPQg5Huh
|
|
F0kB9qJBiZZcRF92Fa12w9619AEVofRstlxB/Zj2H1HxfE1hVrHFq/5qUg9sBsYd
|
|
uXKLgjhXlUSjXDBy8qajOyoag7stQFFciglCwdMv26eEzLt0bpfNj6RjOn3MWeMj
|
|
BsYnY/U4VP1KcrlQnxHFjJtzL6uMHSvLGckUE29AvpB8B0ZADkxmQAy5HuCnPweQ
|
|
X3gNffR/niRnaIyatihI8yL5of01PJ/TiF+KAv99noaFEa3YgBIjtlego5S1lhUx
|
|
cDL4vsQ5aYvuyxmYQ/KYuNotGiSBeDNJSDV43cHujZnwqPWuUbMCAwEAAaNQME4w
|
|
HQYDVR0OBBYEFJopvu7AhwhzskjBKlrMe/NS/AqxMB8GA1UdIwQYMBaAFJopvu7A
|
|
hwhzskjBKlrMe/NS/AqxMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB
|
|
AJdtOVybiIf7IXDHO68lOe2Ob14WnAadE/FyzmWAsUbR4cVzAu6ObhcwiWWX5Ij2
|
|
aLx1hLWdIxyoxY76lCvvQ60rZ/9hbUR5n8rVNWPOqCBo7TCWpFT8KJFLpGKJkwKi
|
|
icC6dqBpjeX2hd2ahPyaaGdUnLYxY4znLz1/RgSrzzTGUmjIHN9Go4ACVimJB5IR
|
|
3paGD4ntvfuwWZevF7SFdGJiMl+yECXVO3+3fWvEJXCwq5F9eE4f2HYljgdFE4GT
|
|
X8aV5rzT5g2j9piZWLoX3wh4XwhItFT7WFtEwuoVi0jWRKpU6DRTuqAqXSbuGboo
|
|
ozM+r1wQMF2wE4aNnT+g0EQ=
|
|
-----END CERTIFICATE-----
|
|
'' ];
|
|
};
|
|
|
|
services = {
|
|
offlineimap = {
|
|
enable = true;
|
|
onCalendar = "*:0/5";
|
|
};
|
|
cron.enable = false;
|
|
nixosManual.enable = false;
|
|
printing = {
|
|
enable = true;
|
|
# drivers = [ pkgs.hplip ]; # Pas testé depuis un an :D
|
|
};
|
|
|
|
compton = {
|
|
enable = true;
|
|
fade = true;
|
|
};
|
|
redshift = {
|
|
enable = true;
|
|
latitude = "48.8534100"; # La force de la main
|
|
longitude = "2.3488000";
|
|
};
|
|
|
|
openssh = {
|
|
enable = true;
|
|
permitRootLogin = "no";
|
|
passwordAuthentication = false;
|
|
startWhenNeeded = true;
|
|
};
|
|
|
|
#openvpn.servers.client = {
|
|
# autoStart = false;
|
|
# config = builtins.readFile ./era.ovpn; # Pas top ._.
|
|
#};
|
|
|
|
xserver = {
|
|
enable = true;
|
|
layout = "fr";
|
|
xkbVariant = "bepo";
|
|
autorun = true;
|
|
displayManager.sessionCommands = ''
|
|
xset r rate 200 75
|
|
xrandr --output eDP1 --mode 1920x1080
|
|
feh -s --bg-fill /home/eeva/.xmonad/artwork/nix-wallpaper-stripes-logo.png
|
|
'';
|
|
|
|
synaptics = {
|
|
enable = true;
|
|
palmDetect = true;
|
|
twoFingerScroll = true;
|
|
};
|
|
|
|
#videoDrivers = [ "intel" ];
|
|
|
|
windowManager.xmonad = {
|
|
enable = true;
|
|
enableContribAndExtras = true;
|
|
};
|
|
desktopManager.xterm.enable = false;
|
|
};
|
|
};
|
|
|
|
|
|
#systemd.mounts = [
|
|
# { what = "/dev/sdb1";
|
|
# where = "/mnt/usb1";
|
|
# mountConfig = {
|
|
# TimeoutSec = "1";
|
|
# Options = "uid=1000";
|
|
# };
|
|
# }
|
|
#];
|
|
#systemd.automounts = [ # Marche bueno, I recommend hotly
|
|
# { where = "/mnt/usb1";
|
|
# automountConfig = { TimeoutIdleSec = "1"; };
|
|
# wantedBy = [ "default.target" ];
|
|
# }
|
|
#];
|
|
|
|
#systemd.user.services = {
|
|
#backup = {
|
|
# description = "backup: Backup the Candies.";
|
|
# path = [ pkgs.rsync pkgs.openssh ];
|
|
# script = "rsync -az /home/eeva/Candies eeva@protonpack:";
|
|
# startAt = "*:0/30";
|
|
# wantedBy = [ "timers.target" ];
|
|
#};
|
|
#};
|
|
|
|
time.timeZone = "Europe/Paris";
|
|
|
|
users = {
|
|
extraGroups = {
|
|
eeva.gid = 1000;
|
|
vboxusers.members = [ "eeva" ];
|
|
vboxsf.members = [ "eeva" ];
|
|
};
|
|
|
|
extraUsers.eeva = {
|
|
isNormalUser = true;
|
|
home = "/home/eeva";
|
|
extraGroups = [ "wheel" ];
|
|
shell = pkgs.zsh;
|
|
uid = 1000;
|
|
};
|
|
|
|
mutableUsers = true; # Need this to change passwords.
|
|
motd = "Death to the DeathStar";
|
|
};
|
|
|
|
networking.wireless = {
|
|
enable = true;
|
|
interfaces = [ "wlo1" ];
|
|
userControlled.enable = true;
|
|
networks = {
|
|
">o_/" = {
|
|
pskRaw = "9d38f38d5d49fae47605cfd6437bd00b136f6a266c04bc5b8f4cf05bf7907c0b";
|
|
};
|
|
"42" = {
|
|
pskRaw = "d4806ea095c4c2ef267307f75975031b6bc2d2c79861bf53c96c9a7ff70b068a";
|
|
};
|
|
"Wi-Fi_Info_Etudiant" = {};
|
|
};
|
|
};
|
|
|
|
# Extra fonts
|
|
fonts.fonts = with pkgs; [
|
|
tewi-font
|
|
];
|
|
|
|
# Rasvaton / Fet-fri
|
|
nix.gc.automatic = true;
|
|
nix.gc.dates = "02:22";
|
|
|
|
# Upgrade when possible
|
|
system.autoUpgrade.enable = true;
|
|
system.stateVersion = "17.03";
|
|
|
|
## Special config
|
|
nixpkgs.overlays = [ (self: super: {
|
|
st = super.st.override {
|
|
patches = builtins.map super.fetchurl [
|
|
{ url = "http://st.suckless.org/patches/st-no_bold_colors-20160727-308bfbf.diff";
|
|
sha256 = "2e8cdbeaaa79ed067ffcfdcf4c5f09fb5c8c984906cde97226d4dd219dda39dc";
|
|
}
|
|
{ url = "http://st.suckless.org/patches/st-solarized-both-20160727-308bfbf.diff";
|
|
sha256 = "b7b25ba01b7ae87ec201ebbb1bf82742d5979788ecc6773a356eebe7d90a9703";
|
|
}
|
|
];
|
|
};
|
|
}) ];
|
|
|
|
}
|