summaryrefslogtreecommitdiff
path: root/configuration.nix
diff options
context:
space:
mode:
Diffstat (limited to 'configuration.nix')
-rw-r--r--configuration.nix194
1 files changed, 27 insertions, 167 deletions
diff --git a/configuration.nix b/configuration.nix
index c55e8af..e410470 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -5,24 +5,20 @@
{ config, pkgs, ... }:
{
- imports =
- [ # Include the results of the hardware scan.
- ./hardware-configuration.nix
- # ./pc_t14.nix
- ];
-
- boot = {
- # Use the GRUB 2 boot loader.
- loader.grub = {
- enable = true;
- version = 2;
- };
- tmpOnTmpfs = true;
- supportedFilesystems = [ "ntfs" ];
- kernel.sysctl = {
+ imports =
+ [ # Include the results of the hardware scan.
+ ./hardware-configuration.nix
+ ./pc_t14.nix
+ ./desktop.nix
+ ];
+
+ boot = {
+ tmpOnTmpfs = true;
+ supportedFilesystems = [ "ntfs" ];
+ kernel.sysctl = {
"kernel.sysrq"=1;
};
- };
+ };
# Enable sound.
sound.enable = true;
@@ -31,33 +27,10 @@
opengl.enable = true;
enableRedistributableFirmware = true;
- # Thinkpad stuff
- acpilight.enable = true;
-
bluetooth.enable = false;
-
- pulseaudio = {
- enable = true;
- # Stupid but need it to control sound from acpid
- # systemWide = true;
-
- # Enable bluetooth audio
- package = pkgs.pulseaudioFull;
- };
};
networking = {
- # Hostname and wireless enabled
- # set in device specific file
-
- # wireless.enable = true;
-
- # The global useDHCP flag is deprecated, therefore explicitly set to false here.
- # Per-interface useDHCP will be mandatory in the future, so this generated config
- # replicates the default behaviour.
- interfaces.enp0s25.useDHCP = true;
- interfaces.wlp3s0.useDHCP = true;
-
# Firewall configuration
# firewall.enable = true; yeah who needs that shit
@@ -84,165 +57,52 @@
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
- programs.gnupg.agent = {
- enable = true;
- enableSSHSupport = true;
- pinentryFlavor = "gtk2";
+ programs = {
+ ssh.startAgent = false;
+ 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 = {
- enable = false;
- package = pkgs.i3-gaps;
- };
- qtile.enable = false;
- };
-
- displayManager = {
- defaultSession = "none+script";
- session = [{
- name = "script";
- manage = "window";
- start =
- ''
- /home/julian/.nixxstart
- '';
- }];
- };
-
- desktopManager = {
- xterm.enable = false;
- };
-
- # Touchpad studd
- libinput.enable = true;
-
- # Start dbus?
- startDbusSession = true;
- };
- # Auto mounting
- gvfs.enable = true;
-
- # Yubikey
- pcscd.enable = true;
-
- # 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;
-
- # Evolution
- gnome3 = {
- gnome-keyring.enable = true;
- evolution-data-server.enable = true;
- };
-
- # Enable CUPS to print documents.
- printing.enable = true;
-
- # blueman.enable = true;
-
- postgresql = {
- enable = false;
- initialScript = pkgs.writeText "backend-initScript" ''
- CREATE ROLE julian WITH LOGIN PASSWORD 'hejmeddig' CREATEDB;
- CREATE DATABASE julian;
- GRANT ALL PRIVILEGES ON DATABASE julian TO julian;
- '';
- };
+ udev.packages = [ pkgs.yubikey-personalization ];
};
# Define a user account. Don't forget to set a password with ‘passwd’.
users.users.julian = {
isNormalUser = true;
shell = pkgs.zsh;
- extraGroups = [ "wheel" "video" ];
- };
-
- virtualisation.docker = {
- enable = false;
+ extraGroups = [ "wheel" "video" "vboxusers" "cdrom" ];
};
+ virtualisation.docker.enable = false;
# 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.09"; # Did you read the comment?
-
- fonts.fonts = with pkgs; [
- noto-fonts noto-fonts-emoji liberation_ttf ubuntu_font_family cozette
- ];
+ system.stateVersion = "21.05"; # Did you read the comment?
# 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 tree dnsutils gnupg zip
- unzip gopass tig file imagemagick whois nmap usbutils lshw gnumake
+ unzip tig file imagemagick whois nmap usbutils lshw gnumake
aspell aspellDicts.da aspellDicts.en pv acpi jq killall netcat-gnu perl gopass
- cowsay gdb man-pages sox
+ cowsay gdb man-pages sox gcc binutils python3 python
- # Landuage support
- rustup gcc binutils python3 python go clang-tools
+ # Nixos stuff
+ nox
# Network stuff
networkmanagerapplet networkmanager-openconnect iw batctl
wirelesstools
-
- # X stuff
- feh xscreensaver dmenu rofi xorg.xmodmap xss-lock xclip
- acpilight xdotool dunst xcompmgr scrot libnotify i3lock
-
- # Gui applications
- firefox pavucontrol okular leafpad inkscape gimp
- meld pinentry gnome3.gnome-system-monitor gnome3.dconf
- termite quasselClient wireshark spotify
- gnome3.file-roller gnome3.gnome-calculator
- gnome3.simple-scan vlc mpv xorg.xev gnome3.evolution
- evolution-data-server vimHugeX tor-browser-bundle-bin
- (mumble.override { pulseSupport = true; })
- libreoffice-fresh liferea qutebrowser
-
- # Other stuff
- # texlive.combined.scheme-full biber
- youtube-dl sshpass
-
- # Hardware stuff. X230 and T14
- linuxPackages.acpi_call
];
};
}