diff --git a/profiles/environment/common-software.nix b/profiles/environment/common-software.nix index 5d67865..b73b4b3 100644 --- a/profiles/environment/common-software.nix +++ b/profiles/environment/common-software.nix @@ -4,7 +4,7 @@ packages: {config, ...}: { nixpkgs.electrum # Browsers - nixpkgs.chromium + unstable.chromium nixpkgs.firefox nixpkgs.w3m @@ -23,20 +23,36 @@ packages: {config, ...}: { unstable.atom nixpkgs.geany nixpkgs.sqlitebrowser + unstable.pgadmin nixpkgs.gitAndTools.gitFull nixpkgs.meld nixpkgs.radare2 nixpkgs.wxhexeditor - nixpkgs.gdb + (nixpkgs.gdb.override { + python = nixpkgs.python; + }) + + # Embedded + nixpkgs.arduino + unstable.platformio + unstable.openocd + unstable.gcc-arm-embedded + + # Python + nixpkgs.python3 + nixpkgs.python3Packages.pip # Node.js - nixpkgs.nodejs-6_x + nixpkgs.nodejs-8_x unstable.electron nixpkgs.nodePackages_6_x.node2nix + nixpkgs.flow # Rust - nixpkgs.rustChannels.nightly.rust - nixpkgs.rustChannels.nightly.rust-src + /* nixpkgs.rustChannels.nightly.rust + nixpkgs.rustChannels.nightly.rust-src */ + (nixpkgs.rustChannelOf { date = "2018-04-30"; channel = "nightly"; }).rust + (nixpkgs.rustChannelOf { date = "2018-04-30"; channel = "nightly"; }).rust-src # Downloaders and filesharing (unstable.python35Packages.youtube-dl.override { @@ -48,7 +64,10 @@ packages: {config, ...}: { nixpkgs.filezilla # Emulation - nixpkgs.wineUnstable + /*(nixpkgs.wineUnstable.override { wineBuild = "wineWow"; }) <- CORRECT ONE!*/ + /*(nixpkgs.wineUnstable.override { wineBuild = "wine64"; })*/ + /*nixpkgs.wineUnstable <- latest*/ + nixpkgs.winetricks nixpkgs.dosbox nixpkgs.playonlinux @@ -56,6 +75,9 @@ packages: {config, ...}: { nixpkgs.simutrans unstable.openttd unstable.voxelands + (nixpkgs.dwarf-fortress.override { + theme = nixpkgs.dwarf-fortress-packages.phoebus-theme; + }) # File and archive management nixpkgs.p7zip @@ -69,19 +91,20 @@ packages: {config, ...}: { nixpkgs.konversation # Productivity - nixpkgs.libreoffice + nixpkgs.libreoffice-fresh nixpkgs.gimp nixpkgs.inkscape nixpkgs.audacity nixpkgs.shutter nixpkgs.jekyll + nixpkgs.asciinema # Multimedia # Video nixpkgs.mplayer nixpkgs.mpv nixpkgs.vlc - nixpkgs.kodi + #nixpkgs.kodi # Audio nixpkgs.tomahawk @@ -95,6 +118,11 @@ packages: {config, ...}: { # Images nixpkgs.gqview + nixpkgs.gwenview + nixpkgs.kdeApplications.okular + + # 3D Modelling + unstable.blender # Utilities nixpkgs.mediainfo @@ -126,6 +154,7 @@ packages: {config, ...}: { # Peripherals nixpkgs.pciutils nixpkgs.usbutils + nixpkgs.lm_sensors # Graphics nixpkgs.glxinfo @@ -134,12 +163,12 @@ packages: {config, ...}: { nixpkgs.config = { firefox = { enableGoogleTalkPlugin = true; - enableAdobeFlash = true; + #enableAdobeFlash = true; jre = true; }; chromium = { - enablePepperFlash = true; + #enablePepperFlash = true; enablePepperPDF = true; jre = true; }; @@ -150,6 +179,7 @@ packages: {config, ...}: { enable = true; package = packages.nixpkgs.postgresql95; authentication = '' + local hydra all ident map=hydra-users local all all ident host all all 127.0.0.1/32 md5 ''; diff --git a/profiles/environment/graphical-environment.nix b/profiles/environment/graphical-environment.nix index 3ec4312..5440dea 100644 --- a/profiles/environment/graphical-environment.nix +++ b/profiles/environment/graphical-environment.nix @@ -24,6 +24,10 @@ packages: {config, ...}: { nixpkgs.vistafonts nixpkgs.unifont nixpkgs.freefont_ttf + nixpkgs.fira + nixpkgs.fira-code + nixpkgs.fira-mono + nixpkgs.hack-font ]; }; diff --git a/profiles/environment/plasma5.nix b/profiles/environment/plasma5.nix index bc5b614..75ed148 100644 --- a/profiles/environment/plasma5.nix +++ b/profiles/environment/plasma5.nix @@ -10,4 +10,9 @@ packages: {config, ...}: { }; }; }; + + environment.systemPackages = with packages; [ + nixpkgs.kate + nixpkgs.ark + ]; } diff --git a/profiles/environment/xfce4.nix b/profiles/environment/xfce4.nix index 7bb57b6..7514902 100644 --- a/profiles/environment/xfce4.nix +++ b/profiles/environment/xfce4.nix @@ -29,6 +29,9 @@ packages: {config, ...}: { nixpkgs.gnome3.dconf nixpkgs.gnome3.dconf-editor nixpkgs.polkit_gnome + + # Third-party tools that are only needed under XFCE + nixpkgs.blueman ]; services = { diff --git a/profiles/software/games.nix b/profiles/software/games.nix index a9b2f33..e6afc27 100644 --- a/profiles/software/games.nix +++ b/profiles/software/games.nix @@ -1,9 +1,16 @@ packages: {config, ...}: { environment.systemPackages = with packages; [ - nixpkgs.multimc - myNixpkgs.xonotic + unstable.multimc + nixpkgs.morepkgs.xonotic + /*myNixpkgs.dungeons-3*/ myNixpkgs.stardew-valley myNixpkgs.starbound + myNixpkgs.prison-architect + myNixpkgs.rimworld + myNixpkgs.epic-pinball + myNixpkgs.technic-launcher + myNixpkgs.ftb-launcher + myNixpkgs.atlauncher #(unstable.stdenv.lib.overrideDerivation unstable.factorio (oldAttrs: { # version = "0.4.2.1"; # name = "factorio-alpha-0.4.2.1"; diff --git a/profiles/system/amd.nix b/profiles/system/amd.nix index cc7e506..284056f 100644 --- a/profiles/system/amd.nix +++ b/profiles/system/amd.nix @@ -1,9 +1,11 @@ packages: {config, ...}: { environment.systemPackages = with packages; [ - nixpkgs.amdappsdk # For OpenCL support, at least theoretically... + #nixpkgs.amdappsdk # For OpenCL support, at least theoretically... ]; services.xserver = { - videoDrivers = ["ati_unfree"]; + videoDrivers = [/*"amdgpu-pro"*/ /*"amdgpu"*/ "ati" /*"ati_unfree"*/]; }; + + boot.blacklistedKernelModules = [ "amdgpu" ]; } diff --git a/profiles/system/base.nix b/profiles/system/base.nix index 9757649..cf151fd 100644 --- a/profiles/system/base.nix +++ b/profiles/system/base.nix @@ -53,7 +53,7 @@ packages: {config, ...}: { time.timeZone = "Europe/Amsterdam"; - boot = { + /*boot = { plymouth.enable = true; - }; + };*/ } diff --git a/profiles/system/bluetooth.nix b/profiles/system/bluetooth.nix new file mode 100644 index 0000000..11493c5 --- /dev/null +++ b/profiles/system/bluetooth.nix @@ -0,0 +1,3 @@ +packages: {config, ...}: { + hardware.bluetooth.enable = true; +} diff --git a/profiles/system/printing.nix b/profiles/system/printing.nix index 404644e..4febe66 100644 --- a/profiles/system/printing.nix +++ b/profiles/system/printing.nix @@ -3,6 +3,7 @@ packages: {config, ...}: { printing = with packages; { enable = true; drivers = [ nixpkgs.gutenprint ]; + gutenprint = true; # See NixOS/nixpkgs#28273 }; }; } diff --git a/profiles/system/pulseaudio.nix b/profiles/system/pulseaudio.nix index dfa4d44..9ca9d6a 100644 --- a/profiles/system/pulseaudio.nix +++ b/profiles/system/pulseaudio.nix @@ -1,4 +1,6 @@ packages: {config, ...}: { + sound.enable = true; + environment.systemPackages = with packages; [ nixpkgs.pavucontrol nixpkgs.xfce.xfce4_pulseaudio_plugin # FIXME: Only enable when running XFCE diff --git a/profiles/system/service-accounting.nix b/profiles/system/service-accounting.nix new file mode 100644 index 0000000..f841757 --- /dev/null +++ b/profiles/system/service-accounting.nix @@ -0,0 +1,10 @@ +packages: {config, ...}: { + /* FIXME: Switch to using systemd.enableCgroupAccounting in NixOS 18.09; ref https://github.com/NixOS/nixpkgs/pull/36772 */ + systemd.extraConfig = '' + DefaultCPUAccounting=yes + DefaultIOAccounting=yes + DefaultBlockIOAccounting=yes + DefaultMemoryAccounting=yes + DefaultTasksAccounting=yes + ''; +} diff --git a/profiles/system/wpa-cli.nix b/profiles/system/wpa-cli.nix new file mode 100644 index 0000000..4033119 --- /dev/null +++ b/profiles/system/wpa-cli.nix @@ -0,0 +1,13 @@ +packages: {config, pkgs, ...}: { + /* The following enables wpa_cli usage, and disables declarative network specification */ + networking = { + wireless = { + enable = true; + userControlled.enable = true; + }; + + networkmanager.enable = pkgs.lib.mkForce false; + }; + + environment.etc."wpa_supplicant.conf".text = "ctrl_interface=/run/wpa_supplicant"; +}