nixos-config/systems/PC-Fixe/configuration.nix

169 lines
3.9 KiB
Nix
Raw Normal View History

2018-10-31 00:42:58 +01:00
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }:
{
imports =
[
./hardware-configuration.nix
../common.nix
];
nixpkgs.overlays = [
(import ../../overlays/ledger-udev-rules.nix)
];
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
2018-12-12 23:42:02 +01:00
# boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelParams = ["acpi_enforce_resources=lax"];
2018-10-31 00:42:58 +01:00
boot.tmpOnTmpfs = true;
# NVIDIA
services.xserver.videoDrivers = [ "nvidia" ];
# For Steam
hardware.opengl.driSupport32Bit = true;
hardware.pulseaudio.support32Bit = true;
hardware.steam-hardware.enable = true;
hardware.u2f.enable = true;
2019-01-24 18:58:13 +01:00
hardware.bluetooth.enable = true;
2018-10-31 00:42:58 +01:00
services.udev.packages = with pkgs; [
ledger-udev-rules
2018-12-12 23:42:02 +01:00
usb-modeswitch-data # Logitech G920
2018-10-31 00:42:58 +01:00
];
# Corsair K70
services.udev.extraRules = ''
SUBSYSTEM=="usb", ATTR{bInterfaceNumber}=="00", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="1b09", RUN+="${pkgs.bash}/bin/sh -c '${pkgs.coreutils}/bin/echo -n %k > /sys''${DEVPATH}/driver/unbind'"
'';
2018-10-31 00:42:58 +01:00
networking.hostName = "paul-fixe"; # Define your hostname.
networking.networkmanager.enable = true; # Enables wireless support via wpa_supplicant.
# Select internationalisation properties.
i18n = {
consoleKeyMap = "fr";
defaultLocale = "fr_FR.UTF-8";
};
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
filezilla
2019-01-16 23:35:32 +01:00
wineWowPackages.staging
2018-10-31 00:42:58 +01:00
winetricks
qbittorrent
transmission-remote-gtk
appimage-run
bat
2018-12-12 23:42:02 +01:00
usb_modeswitch
2018-10-31 00:42:58 +01:00
gopass
xclip
electrum
electron-cash
firefox
chromium
2019-01-24 18:58:27 +01:00
torbrowser
2018-10-31 00:42:58 +01:00
tdesktop
mumble
kleopatra
gnupg
kdeplasma-addons
ark
kate
kmail
kdeconnect
okular
yakuake
konversation
gwenview
kcalc
spectacle
kile
(texlive.combine {
inherit (texlive) scheme-small titling collection-langfrench cm-super;
})
imagemagick
gnome-breeze
arc-theme
materia-theme
libreoffice
gimp
vlc
kodiPlain
steam
sc-controller
steam-run
minecraft
glxinfo
i7z
2018-12-12 23:42:02 +01:00
lm_sensors
2018-10-31 00:42:58 +01:00
obs-studio
];
programs.wireshark.enable = true;
programs.wireshark.package = pkgs.wireshark;
programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
programs.browserpass.enable = true;
services.pcscd.enable = true;
services.pcscd.plugins = [
(pkgs.ccid.overrideAttrs (oldAttrs: rec {
preBuild = ''
echo "0x2C97:0x0001:Ledger Token" >> ./readers/supported_readers.txt
'';
})
)
];
networking.firewall.enable = false;
# Enable sound.
sound.enable = true;
hardware.pulseaudio.enable = true;
# Enable the X11 windowing system.
services.xserver.enable = true;
services.xserver.layout = "fr";
# Enable the KDE Desktop Environment.
services.xserver.displayManager.sddm.enable = true;
services.xserver.desktopManager.plasma5.enable = true;
# Define a user account. Don't forget to set a password with passwd.
users.users.paul = {
isNormalUser = true;
2018-12-12 23:42:02 +01:00
extraGroups = [ "wheel" "networkmanager" "wireshark" "input" ];
2018-10-31 00:42:58 +01:00
uid = 1000;
};
services.syncthing.enable = true;
services.syncthing.user = "paul";
services.syncthing.group = "users";
# 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 = "18.09"; # Did you read the comment?
}