summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configuration.nix172
1 files changed, 105 insertions, 67 deletions
diff --git a/configuration.nix b/configuration.nix
index 96e06f5..59329f5 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -10,15 +10,25 @@
./hardware-configuration.nix
];
- # Use the GRUB 2 boot loader.
- boot.loader.grub.enable = true;
- boot.loader.grub.version = 2;
- boot.tmpOnTmpfs = true;
+ boot = {
+ # Use the GRUB 2 boot loader.
+ loader.grub = {
+ enable = true;
+ version = 2;
+
+ # Define on which hard drive you want to install Grub.
+ device = "/dev/sda";
+ };
+ tmpOnTmpfs = true;
+ };
- # Define on which hard drive you want to install Grub.
- boot.loader.grub.device = "/dev/sda";
+ hardware = {
+ opengl.enable = true;
+ enableRedistributableFirmware = true;
- hardware.opengl.enable = true;
+ # Thinkpad stuff
+ acpilight.enable = true;
+ };
networking = {
# Hostname and wireless enabled
@@ -32,7 +42,7 @@
interfaces.wlp3s0.useDHCP = true;
# Firewall configuration
- firewall.enable = true;
+ # firewall.enable = true; yeah who needs that
networkmanager = {
enable = true;
@@ -57,78 +67,88 @@
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
- # Enable CUPS to print documents.
- services.printing.enable = true;
-
# Enable sound.
sound.enable = true;
hardware.pulseaudio.enable = true;
# Stupid but need it to control sound from acpid
# hardware.pulseaudio.systemWide = true;
- # Turn down sound when inserting headphones
- services.acpid.handlers = {
- headphone = {
- action =
- ''
- vals=($1)
- case ''${vals[2]} in
- plug)
- whoami >> /tmp/acpi.log
- amixer set Master 10%
- ;;
- esac
- '';
- event = "jack/headphone.*";
- };
- };
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
pinentryFlavor = "gtk2";
};
+ programs.dconf.enable = true;
# Enable the X11 windowing system.
- services.xserver = {
- enable = true;
- layout = "us";
- xkbVariant = "altgr-intl";
- exportConfiguration = true;
-
- windowManager.i3 = {
+ services = {
+ xserver = {
enable = true;
- package = pkgs.i3-gaps;
+ layout = "us";
+ xkbVariant = "altgr-intl";
+ exportConfiguration = true;
+
+ windowManager = {
+ i3 = {
+ enable = false;
+ package = pkgs.i3-gaps;
+ };
+ qtile.enable = true;
+ };
+
+ displayManager = {
+ defaultSession = "none+qtile";
+ };
+
+ desktopManager = {
+ xterm.enable = false;
+ };
+
+ # Touchpad studd
+ libinput.enable = true;
+
+ # Start dbus?
+ startDbusSession = true;
};
+ # Auto mounting
+ gvfs.enable = true;
- displayManager = {
- defaultSession = "none+i3";
- };
+ # Yubikey
+ pcscd.enable = true;
- desktopManager = {
- xterm.enable = false;
+ # Thinkpad
+ acpid = {
+ enable = true;
+ # Turn down sound when inserting headphones
+ handlers = {
+ headphone = {
+ action =
+ ''
+ vals=($1)
+ case ''${vals[2]} in
+ plug)
+ whoami >> /tmp/acpi.log
+ amixer set Master 10%
+ ;;
+ esac
+ '';
+ event = "jack/headphone.*";
+ };
+ };
};
+ tlp.enable = true;
- # Touchpad studd
- libinput.enable = true;
+ # Evolution
+ gnome3 = {
+ gnome-keyring.enable = true;
+ evolution-data-server.enable = true;
+ };
- # Start dbus?
- startDbusSession = true;
+ # Enable CUPS to print documents.
+ printing.enable = true;
};
- services.gvfs.enable = true;
-
- # Yubikey
- services.pcscd.enable = true;
-
- # Thinkpad stuff
- hardware.acpilight.enable = true;
- services.acpid.enable = true;
- services.tlp.enable = true;
-
- # Passwords
- services.gnome3.gnome-keyring.enable = true;
-
# Define a user account. Don't forget to set a password with ‘passwd’.
users.users.julian = {
isNormalUser = true;
@@ -136,42 +156,60 @@
extraGroups = [ "wheel" "video" ];
};
+ virtualisation.docker = {
+ enable = true;
+ };
+
# This value determines the NixOS release with which your system is to be
# compatible, in order to avoid breaking some software such as database
# servers. You should change this only after NixOS release notes say you
# should.
- system.stateVersion = "20.03"; # Did you read the comment?
+ system.stateVersion = "20.09"; # Did you read the comment?
fonts.fonts = with pkgs; [
- noto-fonts noto-fonts-emoji liberation_ttf ubuntu_font_family
+ noto-fonts noto-fonts-emoji liberation_ttf ubuntu_font_family cozette
];
# List packages installed in system profile. To search, run:
# $ nix search wget
nixpkgs.config.allowUnfree = true;
environment = {
+ etc = {
+ "docker/daemon.json".text = ''
+ { "dns": [ "1.1.1.1", "9.9.9.9" ] }
+ '';
+ };
systemPackages = with pkgs; [
# General stuff
- wget vim neovim git htop zsh stow pass python tree python3 dnsutils
- gnupg zip unzip gopass tig file imagemagick gcc binutils whois
- nmap go
+ wget vim neovim git htop zsh stow pass tree dnsutils gnupg zip
+ unzip gopass tig file imagemagick whois nmap usbutils lshw gnumake
+ aspell aspellDicts.da pv acpi jq killall netcat-gnu perl gopass
+ cowsay
+
+ # Landuage support
+ rustup gcc binutils python3 python go clang-tools
# Network stuff
networkmanagerapplet networkmanager-openconnect networkmanager-l2tp
+ iw batctl wirelesstools
# X stuff
- feh xscreensaver dmenu rofi xorg.xmodmap xss-lock
+ feh xscreensaver dmenu rofi xorg.xmodmap xss-lock xclip
acpilight xdotool dunst xcompmgr scrot libnotify
# Gui applications
- firefox gnome3.evolution pavucontrol okular leafpad inkscape gimp meld
- pinentry gnome3.gnome-system-monitor gnome3.dconf pcmanfm termite
- quasselClient nomacs wireshark spotify
- # (st.override { conf = builtins.readFile ./st-config.h; })
+ firefox pavucontrol okular leafpad inkscape gimp
+ meld pinentry gnome3.gnome-system-monitor gnome3.dconf pcmanfm
+ termite quasselClient nomacs wireshark spotify pavucontrol fractal
+ gnome3.file-roller geogebra gnome3.gnome-calculator
+ gnome3.simple-scan vlc xorg.xev gnome3.evolution
+ evolution-data-server
+ (mumble.override { pulseSupport = true; })
# Other stuff
# texlive.combined.scheme-full biber
+ aldo
# Hardware stuff. X230
linuxPackages.acpi_call