Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 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, ... }:
- let
- unstableTarball =
- fetchTarball
- https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz;
- in
- {
- imports =
- [ # Include the results of the hardware scan.
- ./hardware-configuration.nix
- ];
- # Use the systemd-boot EFI boot loader.
- boot.loader.systemd-boot.enable = true;
- boot.loader.efi.canTouchEfiVariables = true;
- boot.kernelPackages = pkgs.linuxPackages_latest;
- hardware.cpu.amd.updateMicrocode = true;
- hardware.bluetooth.enable = true;
- hardware.bluetooth.package = pkgs.bluezFull;
- hardware.opengl.driSupport32Bit = true;
- hardware.pulseaudio.support32Bit = true;
- fileSystems."/void" = {
- device = "10.0.5.10:/void";
- fsType = "nfs";
- options = ["x-systemd.automount" "noauto"];
- };
- networking.hostName = "inanna"; # Define your hostname.
- #networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
- # Configure network proxy if necessary
- # networking.proxy.default = "http://user:password@proxy:port/";
- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
- # nixpkgs.config = {
- # packageOverrides = pkgs: {
- # unstable = import unstableTarball {
- # config = config.nixpkgs.config;
- # };
- # };
- # };
- # nixpkgs.config.packageOverrides.airsonic = unstable.airsonic;
- nixpkgs.config.allowUnfree = true;
- nixpkgs.config.retroarch = {
- enableDolphin = true;
- enableMGBA = true;
- enableMAME = true;
- enableHiganSFC = true;
- };
- # Select internationalisation properties.
- i18n = {
- consoleFont = "Lat2-Terminus16";
- consoleKeyMap = "us";
- defaultLocale = "en_US.UTF-8";
- };
- # Set your time zone.
- time.timeZone = "US/Eastern";
- # List packages installed in system profile. To search, run:
- # $ nix search wget
- environment.systemPackages = with pkgs; [
- binutils
- nmap
- smartmontools
- alsaLib
- alsaTools
- alsaUtils
- apg
- aspell
- dvdplusrwtools
- aspellDicts.en
- atop
- audacity
- bind
- darktable
- dcm2niix
- digikam
- electrum
- gcc9
- gdb
- hlint
- html-tidy
- gitAndTools.git-hub
- imagemagick
- imapsync
- jasper
- jq
- k3b
- libinput
- libstrophe
- lsb-release
- man-pages
- mtr
- nix-index
- nmap
- nmon
- openssl
- p7zip
- profanity
- pstree
- redis
- retroarchBare
- ruby
- rustup
- SDL
- SDL2
- SDL2_mixer
- socat
- spotify
- sshfs-fuse
- stunnel
- telegraf
- enlightenment.terminology
- ttyplot
- unrar
- whois
- wrk
- xclip
- xorg.xeyes
- yq
- zandronum-server
- zip
- zlib
- airsonic
- apacheKafka
- apcupsd
- bitcoin
- chrony
- claws-mail
- cmus
- dep
- dmidecode
- dnsutils
- elinks
- emacs
- ffmpeg-full
- gimp
- imagemagick
- file
- filezilla
- firefox
- fluidsynth
- geeqie
- ghc
- gitAndTools.gitFull
- glxinfo
- gnumake
- gnupg
- go
- gzdoom
- haskellPackages.xmonad
- haskellPackages.xmonad-contrib
- haskellPackages.xmonad-extras
- haskellPackages.xmonad-utils
- haskellPackages.xmonad-wallpaper
- haskellPackages.yeganesh
- hddtemp
- hdparm
- htop
- hugo
- inxi
- iotop
- ispell
- iw
- kdeApplications.okular
- kodi
- kubectl
- kubernetes
- kubernetes-helm
- lm_sensors
- mplayer
- pass
- pandoc
- pciutils
- pidgin
- redis
- redshift
- ripgrep
- sshguard
- stack
- steam
- superTuxKart
- tmux
- tree
- unzip
- usbutils
- vim
- virtualboxWithExtpack
- lsof
- wget
- wirelesstools
- xmobar
- xorg.xdpyinfo
- xscreensaver
- zandronum
- dhewm3
- wine
- yquake2
- yquake2-all-games
- zsh
- zsh-autosuggestions
- wireshark
- (texlive.combine {
- inherit (texlive)
- bera
- cabin
- collection-basic
- collection-bibtexextra
- collection-binextra
- collection-context
- collection-fontsrecommended
- collection-fontutils
- collection-formatsextra
- collection-langenglish
- collection-latex
- collection-latexextra
- collection-latexrecommended
- collection-luatex
- collection-mathscience
- collection-metapost
- collection-pictures
- collection-plaingeneric
- collection-pstricks
- collection-xetex
- eulervm
- expex
- fbb
- fontawesome
- framed
- gb4e
- hyperref
- ifxetex
- inconsolata
- kantlipsum
- koma-script
- latexmk
- libertine
- libertinus
- linguex
- ly1
- mnsymbol
- mweights
- newpx
- newtx
- qtree
- scheme-full
- tex-gyre
- tex-gyre-math
- tree-dvips
- url
- xcolor
- ;
- })
- ];
- # Some programs need SUID wrappers, can be configured further or are
- # started in user sessions.
- # programs.mtr.enable = true;
- programs.mtr.enable = true;
- # programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
- # List services that you want to enable:
- # Enable the OpenSSH daemon.
- services.openssh.enable = true;
- # programs.ssh.forwardX11 = true;
- services.openssh.forwardX11 = true;
- services.openssh.ports = [ 22 2222 ];
- services.openssh.passwordAuthentication = false;
- services.openssh.permitRootLogin = "no";
- # Open ports in the firewall.
- networking.firewall.enable = true;
- networking.firewall.allowedTCPPorts = [ 22 2222 4040 8333 ];
- # networking.firewall.allowedUDPPorts = [ ... ];
- networking.firewall.allowPing = true;
- # Enable CUPS to print documents.
- services.printing.enable = true;
- # Enable sound.
- sound.enable = true;
- # sound.extraConfig = ''
- # pcm.!default {
- # type hw
- # card 0
- # device 5
- # }
- #
- # ctl.!default {
- # type hw
- # card 0
- # device 5
- # }
- # '';
- # hardware.pulseaudio.enable = true;
- services.upower.enable = true;
- systemd.services.upower.enable = true;
- services.logind.extraConfig = ''
- HandlePowerKey=ignore
- '';
- # Enable the X11 windowing system.
- services.xserver.enable = true;
- services.xserver.layout = "us";
- services.xserver.xkbOptions = "ctrl:nocaps";
- # Enable touchpad support.
- # services.xserver.libinput.enable = true;
- # Enable the KDE Desktop Environment.
- # services.xserver.displayManager.sddm.enable = true;
- services.xserver.desktopManager.plasma5.enable = true;
- services.xserver.windowManager.xmonad.enable = true;
- services.xserver.windowManager.xmonad.enableContribAndExtras = true;
- services.redshift.enable = false;
- services.redshift.latitude = "42.39";
- services.redshift.longitude = "71.04";
- # services.kubernetes = {
- # roles = ["master" "node"];
- # masterAddress = "inanna.sumeria";
- # };
- # Define a user account. Don't forget to set a password with ‘passwd’.
- users.users.adam = {
- description = "Adam";
- isNormalUser = true;
- extraGroups = [
- "wheel"
- "networkmanager"
- "vboxusers"
- "docker"
- "cdrom"
- "video"
- "systemd-journal"
- "lp"
- "disk"
- "audio"
- "users"
- ];
- shell = pkgs.zsh;
- };
- security.pam.loginLimits = [
- { domain = "adam"; item = "nofile"; type = "hard"; value = "65536"; }
- ];
- security.sudo.configFile = ''
- adam an = (root) NOPASSWD: ${pkgs.inxi}/bin/inxi
- '';
- programs.zsh.enable = true;
- programs.zsh.autosuggestions.enable = true;
- virtualisation.docker.enable = true;
- virtualisation.virtualbox.host.enable = true;
- virtualisation.virtualbox.host.enableExtensionPack = true;
- services.airsonic = {
- enable = true;
- maxMemory = 2000;
- listenAddress = "0.0.0.0";
- };
- services.zookeeper.enable = true;
- services.apache-kafka = {
- enable = true;
- extraProperties = ''
- offsets.topic.replication.factor=1
- delete.topic.enable=true
- '';
- };
- services.apcupsd.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 = "19.03"; # Did you read the comment?
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement