From 5e51bed2e787ded903be61ad1227dca208f80e6b Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Thu, 14 Jul 2016 20:20:05 -0400 Subject: Refactor nix config. --- configuration.nix | 156 ------------------------------------------------ nixos/aji.nix | 49 +++++++++++++++ nixos/configuration.nix | 108 +++++++++++++++++++++++++++++++++ 3 files changed, 157 insertions(+), 156 deletions(-) delete mode 100644 configuration.nix create mode 100644 nixos/aji.nix create mode 100644 nixos/configuration.nix diff --git a/configuration.nix b/configuration.nix deleted file mode 100644 index 2b56615..0000000 --- a/configuration.nix +++ /dev/null @@ -1,156 +0,0 @@ -{ config, pkgs, hardware, hostname, ... }: - -{ - hardware.bluetooth.enable = true; - hardware.pulseaudio.enable = true; - hardware.pulseaudio.package = pkgs.pulseaudioFull; - hardware.enableAllFirmware = true; - - # Use the gummiboot efi boot loader. - boot.loader.systemd-boot.enable = true; - boot.loader.timeout = 0; - boot.loader.efi.canTouchEfiVariables = true; - boot.initrd.luks.devices = [ - { - device = "/dev/sda2"; - name = "crypt"; - preLVM = true; - allowDiscards = true; - } - ]; - boot.kernelModules = ["tp_smapi" "thinkpad_acpi" "fbcon" "i915"]; - boot.kernelParams = ["quiet" "acpi_osi=\"!Windows 2012\""]; - boot.extraModulePackages = [config.boot.kernelPackages.tp_smapi]; - boot.extraModprobeConfig = '' - options i915 enable_rc6=1 - ''; - boot.cleanTmpDir = true; - - networking.hostName = "aji"; - networking.wireless.enable = true; - networking.firewall.enable = true; - - programs.zsh.enable = true; - programs.fish.enable = true; - - # Select internationalisation properties. - # i18n = { - # consoleFont = "Lat2-Terminus16"; - # consoleKeyMap = "us"; - # defaultLocale = "en_US.UTF-8"; - # }; - - fileSystems."/" = { - mountPoint = "/"; - device = "/dev/mapper/cryptvg-root"; - fsType = "btrfs"; - options = ["subvol=aji-root" "discard" "compress=lzo"]; - }; - swapDevices = - [ { device = "/dev/mapper/cryptvg-swap"; } - ]; - - # Set your time zone. - time.timeZone = "America/New_York"; - - nixpkgs.config.allowUnfree = true; - - # List packages installed in system profile. To search by name, run: - # $ nix-env -qaP | grep wget - environment.systemPackages = with pkgs; - let - myArduino = pkgs.stdenv.lib.overrideDerivation pkgs.arduino (o: { - withGUI = true; - }); - in [ - neovim - rustc - fish - git - dmenu2 i3blocks i3status - rsync - chromium firefox - xscreensaver xss-lock xorg.xev - which htop tree - myArduino - termite - nix-repl - nfs-utils - nox - pasystray - pavucontrol - powertop - kde4.digikam - emacs25pre - sshfsFuse - xorg.xbacklight - rtorrent - hdparm - bwm_ng - geeqie - inkscape - silver-searcher - termite - rofi - wireshark - - haskellPackages.xmonad - haskellPackages.xmonad-contrib - haskellPackages.xmobar - ]; - - # List services that you want to enable: - # Enable the OpenSSH daemon. - # services.openssh.enable = true; - services.avahi.enable = true; - - services.redshift = { - enable = true; - latitude = "40"; - longitude = "-74"; - extraOptions = ["-r"]; - }; - - services.tlp.enable = true; - services.tlp.extraConfig = '' - SATA_LINKPWR_ON_BAT=max_performance - ''; - - # Enable the X11 windowing system. - services.xserver.enable = true; - services.xserver.windowManager.xmonad.enable = true; - services.xserver.windowManager.xmonad.enableContribAndExtras = true; - #services.xserver.windowManager.xmonad.extraPackages = - #haskellPackages: [ - # haskellPackages.xmonad-contrib]; - # services.xserver.windowManager.awesome.enable = true; - # services.xserver.windowManager.i3.enable = true; - # services.xserver.displayManager.slim = { - # enable = true; - # autoLogin = true; - # defaultUser = "orbekk"; - # }; - - services.xserver.layout = "us"; - services.xserver.xkbVariant = "dvorak"; - services.xserver.xkbModel = "thinkpad60"; - - users = { - defaultUserShell = "/run/current-system/sw/bin/fish"; - extraUsers.orbekk = { - isNormalUser = true; - home = "/home/orbekk"; - uid = 1000; - description = "KJ"; - extraGroups = ["wheel" "networkmanager" "dialout" "uucp"]; - shell = "/run/current-system/sw/bin/fish"; - }; - }; - - # The NixOS release to be compatible with for stateful data such as databases. - system.stateVersion = "16.03"; - - nix.maxJobs = 4; - nix.buildCores = 4; - nix.useSandbox = true; -} diff --git a/nixos/aji.nix b/nixos/aji.nix new file mode 100644 index 0000000..abda9f8 --- /dev/null +++ b/nixos/aji.nix @@ -0,0 +1,49 @@ +{ config, pkgs, hardware, ... }: + +{ + imports = [ + ./configuration.nix + ]; + + # Use the gummiboot efi boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.timeout = 0; + boot.loader.efi.canTouchEfiVariables = true; + boot.initrd.luks.devices = [ + { + device = "/dev/sda2"; + name = "crypt"; + preLVM = true; + allowDiscards = true; + } + ]; + boot.kernelModules = ["tp_smapi" "thinkpad_acpi" "fbcon" "i915"]; + boot.kernelParams = ["quiet" "acpi_osi=\"!Windows 2012\""]; + boot.extraModulePackages = [config.boot.kernelPackages.tp_smapi]; + boot.extraModprobeConfig = '' + options i915 enable_rc6=1 + ''; + + networking.hostName = "aji"; + + fileSystems."/" = { + mountPoint = "/"; + device = "/dev/mapper/cryptvg-root"; + fsType = "btrfs"; + options = ["subvol=aji-root" "discard" "compress=lzo"]; + }; + swapDevices = + [ { device = "/dev/mapper/cryptvg-swap"; } + ]; + + services.tlp.enable = true; + services.tlp.extraConfig = '' + # Needed for either SSD or btrfs. + SATA_LINKPWR_ON_BAT=max_performance + ''; + + services.xserver.xkbModel = "thinkpad60"; + + # The NixOS release to be compatible with for stateful data such as databases. + system.stateVersion = "16.03"; +} diff --git a/nixos/configuration.nix b/nixos/configuration.nix new file mode 100644 index 0000000..c25f009 --- /dev/null +++ b/nixos/configuration.nix @@ -0,0 +1,108 @@ +{ config, pkgs, hardware, hostname, ... }: + +{ + hardware.bluetooth.enable = true; + hardware.pulseaudio.enable = true; + hardware.pulseaudio.package = pkgs.pulseaudioFull; + hardware.enableAllFirmware = true; + + boot.cleanTmpDir = true; + + networking.wireless.enable = true; + networking.firewall.enable = true; + + programs.zsh.enable = true; + programs.fish.enable = true; + + # Select internationalisation properties. + # i18n = { + # consoleFont = "Lat2-Terminus16"; + # consoleKeyMap = "us"; + # defaultLocale = "en_US.UTF-8"; + # }; + + # Set your time zone. + time.timeZone = "America/New_York"; + + nixpkgs.config.allowUnfree = true; + + # List packages installed in system profile. To search by name, run: + # $ nix-env -qaP | grep wget + environment.systemPackages = with pkgs; + let + myArduino = pkgs.stdenv.lib.overrideDerivation pkgs.arduino (o: { + withGUI = true; + }); + in [ + neovim + rustc + fish + git + dmenu2 i3blocks i3status + rsync + chromium firefox + xscreensaver xss-lock xorg.xev + which htop tree + myArduino + termite + nix-repl + nfs-utils + nox + pasystray + pavucontrol + powertop + kde4.digikam + emacs25pre + sshfsFuse + xorg.xbacklight + rtorrent + hdparm + bwm_ng + geeqie + inkscape + silver-searcher + termite + rofi + wireshark + + haskellPackages.xmonad + haskellPackages.xmonad-contrib + haskellPackages.xmobar + ]; + + # List services that you want to enable: + # Enable the OpenSSH daemon. + # services.openssh.enable = true; + services.avahi.enable = true; + + services.redshift = { + enable = true; + latitude = "40"; + longitude = "-74"; + extraOptions = ["-r"]; + }; + + # Enable the X11 windowing system. + services.xserver.enable = true; + services.xserver.windowManager.xmonad.enable = true; + services.xserver.windowManager.xmonad.enableContribAndExtras = true; + + services.xserver.layout = "us"; + services.xserver.xkbVariant = "dvorak"; + + users = { + defaultUserShell = "/run/current-system/sw/bin/fish"; + extraUsers.orbekk = { + isNormalUser = true; + home = "/home/orbekk"; + uid = 1000; + description = "KJ"; + extraGroups = ["wheel" "networkmanager" "dialout" "uucp"]; + shell = "/run/current-system/sw/bin/fish"; + }; + }; + + nix.maxJobs = 4; + nix.buildCores = 4; + nix.useSandbox = true; +} -- cgit v1.2.3