├── nixos-config ├── configuration.nix └── laptop.nix └── nixpkgs-config └── config.nix /nixos-config/configuration.nix: -------------------------------------------------------------------------------- 1 | { config, pkgs, ... }: 2 | 3 | { 4 | imports = 5 | [ # Include the results of the hardware scan. 6 | ./hardware-configuration.nix 7 | ]; 8 | 9 | boot = { 10 | blacklistedKernelModules = [ "snd_pcsp" ]; 11 | kernelPackages = pkgs.linuxPackages_latest; 12 | cleanTmpDir = true; 13 | 14 | loader = { 15 | systemd-boot.enable = true; 16 | efi.canTouchEfiVariables = true; 17 | }; 18 | 19 | supportedFilesystems = [ 20 | "exfat" 21 | ]; 22 | }; 23 | 24 | networking = { 25 | firewall = { 26 | enable = true; 27 | allowedTCPPorts = []; 28 | allowedUDPPorts = []; 29 | }; 30 | hostName = "aya"; 31 | networkmanager.enable = true; 32 | 33 | }; 34 | 35 | # Select internationalisation properties. 36 | i18n = { 37 | consoleKeyMap = "dvp"; 38 | defaultLocale = "en_US.UTF-8"; 39 | }; 40 | 41 | # nVidia driver 42 | hardware.opengl.driSupport32Bit = true; 43 | hardware.bluetooth.enable = true; 44 | hardware.pulseaudio = { 45 | enable = true; 46 | package = pkgs.pulseaudioFull; 47 | }; 48 | 49 | services = { 50 | 51 | openssh.enable = true; 52 | 53 | redshift = { 54 | enable = true; 55 | latitude = "35"; 56 | longitude = "139"; 57 | }; 58 | 59 | ntp.enable = true; 60 | nscd.enable = false; 61 | 62 | xserver = { 63 | videoDrivers = [ "nvidia" ]; 64 | enable = true; 65 | layout = "us"; 66 | 67 | xkbOptions = "compose:caps"; 68 | xkbVariant = "dvp"; 69 | 70 | synaptics.enable = true; 71 | 72 | windowManager.xmonad.enable = true; 73 | windowManager.xmonad.extraPackages = self: [ self.xmonad-contrib ]; 74 | windowManager.xmonad.haskellPackages = pkgs.haskell.packages.ghc822; 75 | windowManager.default = "xmonad"; 76 | desktopManager.default = "none"; 77 | 78 | displayManager.lightdm = { 79 | enable = true; 80 | extraSeatDefaults = '' 81 | greeter-show-manual-login=true 82 | greeter-hide-users=true 83 | allow-guest=false 84 | ''; 85 | }; 86 | 87 | displayManager.sessionCommands = '' 88 | ${pkgs.xlibs.xsetroot}/bin/xsetroot -cursor_name left_ptr 89 | ${pkgs.xscreensaver}/bin/xscreensaver -no-splash & 90 | ''; 91 | }; 92 | }; 93 | 94 | users.extraGroups.vboxusers.members = [ "shana" ]; 95 | 96 | programs.ssh.startAgent = true; 97 | programs.bash.enableCompletion = true; 98 | 99 | # Don't blind me 100 | systemd.services.redshift.restartIfChanged = false; 101 | 102 | time.timeZone = "Asia/Tokyo"; 103 | 104 | # Users 105 | users.extraUsers.shana = { 106 | createHome = true; 107 | home = "/home/shana"; 108 | description = "Mateusz Kowalczyk"; 109 | extraGroups = [ "wheel" "audio" "video" "networkmanager" "docker" ]; 110 | useDefaultShell = true; 111 | }; 112 | 113 | nixpkgs.system = "x86_64-linux"; 114 | nixpkgs.config = { 115 | virtualbox.enableExtensionPack = true; 116 | pulseaudio = true; 117 | allowUnfree = true; 118 | }; 119 | 120 | environment.systemPackages = with pkgs; 121 | [ cacert 122 | cloc 123 | elfutils 124 | emacs 125 | file 126 | firefox-devedition-bin 127 | git 128 | glib 129 | glxinfo 130 | gnupg 131 | gnutls 132 | # haskellPackages.apply-refact 133 | # haskellPackages.hasktags 134 | # haskellPackages.hlint 135 | htop 136 | jq 137 | mpv 138 | mupdf 139 | networkmanager 140 | nitrogen 141 | nmap 142 | openssl 143 | p7zip 144 | pavucontrol 145 | # pythonPackages.youtube-dl 146 | # rtorrent 147 | rxvt_unicode 148 | scrot 149 | sxiv 150 | unzip 151 | wget 152 | xlibs.xsetroot 153 | xscreensaver 154 | xsel 155 | zip 156 | ]; 157 | 158 | fonts = { 159 | fontconfig.enable = true; 160 | enableFontDir = true; 161 | enableGhostscriptFonts = true; 162 | fonts = with pkgs; [ 163 | corefonts 164 | dejavu_fonts 165 | inconsolata 166 | source-han-sans-japanese 167 | source-han-sans-korean 168 | source-han-sans-simplified-chinese 169 | source-han-sans-traditional-chinese 170 | ubuntu_font_family 171 | ]; 172 | }; 173 | 174 | security.sudo.enable = true; 175 | 176 | nix = { 177 | package = pkgs.nixUnstable; 178 | trustedBinaryCaches = [ 179 | "http://cache.nixos.org" 180 | ]; 181 | 182 | binaryCaches = [ 183 | "http://cache.nixos.org" 184 | ]; 185 | 186 | gc.automatic = false; 187 | maxJobs = pkgs.stdenv.lib.mkForce 6; 188 | }; 189 | } 190 | -------------------------------------------------------------------------------- /nixos-config/laptop.nix: -------------------------------------------------------------------------------- 1 | { config, pkgs, ... }: 2 | 3 | { 4 | imports = 5 | [ # Include the results of the hardware scan. 6 | ./hardware-configuration.nix 7 | ]; 8 | 9 | boot = { 10 | blacklistedKernelModules = [ "snd_pcsp" ]; 11 | kernelPackages = pkgs.linuxPackages_latest; 12 | cleanTmpDir = true; 13 | 14 | loader = { 15 | systemd-boot.enable = true; 16 | efi.canTouchEfiVariables = true; 17 | }; 18 | 19 | supportedFilesystems = [ 20 | "exfat" 21 | ]; 22 | }; 23 | 24 | swapDevices = [ 25 | { device = "/swapfile"; size = 32768; } 26 | ]; 27 | 28 | networking = { 29 | firewall = { 30 | enable = true; 31 | allowedTCPPorts = []; 32 | allowedUDPPorts = []; 33 | }; 34 | hostName = "kagami"; 35 | networkmanager.enable = true; 36 | }; 37 | 38 | # Select internationalisation properties. 39 | i18n = { 40 | consoleKeyMap = ./dvp-1_2_1.map.gz; 41 | defaultLocale = "en_US.UTF-8"; 42 | }; 43 | 44 | # nVidia driver 45 | hardware.opengl.driSupport32Bit = true; 46 | hardware.bluetooth.enable = true; 47 | hardware.pulseaudio = { 48 | enable = true; 49 | package = pkgs.pulseaudioFull; 50 | }; 51 | 52 | services = { 53 | 54 | openssh.enable = true; 55 | 56 | postgresql = { 57 | enable = false; 58 | package = pkgs.postgresql96; 59 | }; 60 | 61 | redshift = { 62 | enable = true; 63 | latitude = "51"; 64 | longitude = "-2"; 65 | }; 66 | 67 | ntp.enable = true; 68 | 69 | nscd.enable = false; 70 | 71 | clamav = { 72 | daemon.enable = true; 73 | updater.enable = true; 74 | }; 75 | 76 | xserver = { 77 | videoDrivers = [ "intel" ]; 78 | enable = true; 79 | layout = "us"; 80 | 81 | xkbOptions = "compose:caps"; 82 | xkbVariant = "dvp"; 83 | 84 | synaptics.enable = true; 85 | 86 | windowManager.xmonad.enable = true; 87 | windowManager.xmonad.extraPackages = self: [ self.xmonad-contrib ]; 88 | windowManager.xmonad.haskellPackages = pkgs.haskell.packages.ghc822; 89 | windowManager.default = "xmonad"; 90 | desktopManager.default = "none"; 91 | 92 | displayManager.lightdm = { 93 | enable = true; 94 | extraSeatDefaults = '' 95 | greeter-show-manual-login=true 96 | greeter-hide-users=true 97 | allow-guest=false 98 | ''; 99 | }; 100 | 101 | displayManager.sessionCommands = '' 102 | ${pkgs.xlibs.xsetroot}/bin/xsetroot -cursor_name left_ptr 103 | ${pkgs.xscreensaver}/bin/xscreensaver -no-splash & 104 | ''; 105 | }; 106 | }; 107 | 108 | users.extraGroups.vboxusers.members = [ "shana" ]; 109 | 110 | virtualisation.docker = { 111 | enable = true; 112 | }; 113 | 114 | programs.ssh.startAgent = false; 115 | 116 | programs.bash.enableCompletion = true; 117 | 118 | # Don't blind me 119 | systemd.services.redshift.restartIfChanged = false; 120 | 121 | time.timeZone = "Europe/London"; 122 | 123 | # Users 124 | users.extraUsers.shana = { 125 | createHome = true; 126 | home = "/home/shana"; 127 | description = "Mateusz Kowalczyk"; 128 | extraGroups = [ "wheel" "audio" "video" "networkmanager" "docker" ]; 129 | useDefaultShell = true; 130 | }; 131 | 132 | nixpkgs.system = "x86_64-linux"; 133 | nixpkgs.config = { 134 | virtualbox.enableExtensionPack = true; 135 | pulseaudio = true; 136 | allowUnfree = true; 137 | }; 138 | 139 | environment.systemPackages = with pkgs; 140 | [ cacert 141 | cloc 142 | elfutils 143 | emacs 144 | file 145 | firefox-devedition-bin 146 | git 147 | glib 148 | glxinfo 149 | gnupg 150 | gnutls 151 | haskellPackages.apply-refact 152 | haskellPackages.hasktags 153 | haskellPackages.hlint 154 | htop 155 | jq 156 | mpv 157 | mupdf 158 | networkmanager 159 | nitrogen 160 | nix-repl 161 | nmap 162 | openssl 163 | p7zip 164 | pavucontrol 165 | pinentry 166 | pythonPackages.youtube-dl 167 | rtorrent 168 | rxvt_unicode 169 | scrot 170 | sxiv 171 | thunderbird 172 | unzip 173 | wget 174 | xlibs.xsetroot 175 | xscreensaver 176 | xsel 177 | zip 178 | ]; 179 | 180 | fonts = { 181 | fontconfig.enable = true; 182 | enableFontDir = true; 183 | enableGhostscriptFonts = true; 184 | fonts = with pkgs; [ 185 | corefonts 186 | dejavu_fonts 187 | inconsolata 188 | source-han-sans-japanese 189 | source-han-sans-korean 190 | source-han-sans-simplified-chinese 191 | source-han-sans-traditional-chinese 192 | ubuntu_font_family 193 | ]; 194 | }; 195 | 196 | security.sudo.enable = true; 197 | 198 | nix = { 199 | package = pkgs.nixUnstable; 200 | trustedBinaryCaches = [ 201 | "http://cache.nixos.org" 202 | ]; 203 | 204 | binaryCaches = [ 205 | "http://cache.nixos.org" 206 | ]; 207 | 208 | gc.automatic = false; 209 | maxJobs = pkgs.stdenv.lib.mkForce 6; 210 | }; 211 | } 212 | -------------------------------------------------------------------------------- /nixpkgs-config/config.nix: -------------------------------------------------------------------------------- 1 | { pkgs }: 2 | 3 | with pkgs; 4 | 5 | { #ffmpeg.x11grab = true; 6 | allowUnfree = true; 7 | firefox.enableGoogleTalkPlugin = true; 8 | allowTexliveBuilds = true; 9 | 10 | packageOverrides = self: rec { 11 | }; # end of packageOverrides 12 | } 13 | --------------------------------------------------------------------------------