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, ... }:
- {
- 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;
- networking.hostName = "skykaninNixOS"; # Define your hostname.
- # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
- networking.networkmanager.enable = true;
- hardware.brightnessctl.enable = true;
- hardware.bluetooth.enable = true;
- # Configure network proxy if necessary
- # networking.proxy.default = "http://user:password@proxy:port/";
- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
- # Select internationalisation properties.
- # i18n = {
- # consoleFont = "Lat2-Terminus16";
- # consoleKeyMap = "us";
- # defaultLocale = "en_US.UTF-8";
- # };
- # Set your time zone.
- time.timeZone = "Europe/Oslo";
- # List packages installed in system profile. To search, run:
- # $ nix search wget
- environment.systemPackages = with pkgs; [
- arc-icon-theme
- arc-theme
- ant-theme
- clojure
- curl
- discord
- docker
- (import /home/skykanin/Documents/emacs.nix { inherit pkgs; }) # Emacs with my pkgs
- firefox
- font-awesome_4
- ghc
- gnome3.networkmanagerapplet
- git
- kitty
- my-idea-ultimate
- my-leiningen
- lxappearance-gtk3
- neofetch
- nitrogen
- oh-my-zsh
- pamixer
- pywal
- rofi
- wget
- xorg.xbacklight
- zsh
- ];
- # Some programs need SUID wrappers, can be configured further or are
- # started in user sessions.
- # 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;
- # Open ports in the firewall.
- # networking.firewall.allowedTCPPorts = [ ... ];
- # networking.firewall.allowedUDPPorts = [ ... ];
- # Or disable the firewall altogether.
- # networking.firewall.enable = false;
- # Enable CUPS to print documents.
- # services.printing.enable = true;
- # Enable sound.
- sound.enable = true;
- hardware.pulseaudio = {
- enable = true;
- # Only the full build has Bluetooth support, so it must be selected here.
- package = pkgs.pulseaudioFull;
- };
- # Nixpkgs overlays
- nixpkgs.overlays = [
- (self: super: {
- my-polybar = super.polybar.override {
- i3Support = true;
- pulseSupport = true;
- };
- })
- (self: super: {
- my-jbr = super.jetbrains.jdk.override {
- url = "https://jetbrains.bintray.com/intellij-jdk/jbr-11_0_2-linux-x64-b164.tar.gz";
- };
- })
- (self: super: {
- my-leiningen = super.leiningen.override {
- jdk = pkgs.openjdk11;
- };
- })
- (self: super: {
- my-idea-ultimate = super.jetbrains.idea-ultimate.override {
- jdk = pkgs.jetbrains.jdk;
- };
- })
- ];
- # Enable the X11 windowing system.
- # services.xserver.enable = true;
- # services.xserver.layout = "us";
- # services.xserver.xkbOptions = "eurosign:e";
- services.xserver = {
- enable = true;
- layout = "no";
- libinput = {
- enable = true;
- naturalScrolling = true;
- };
- autorun = true;
- windowManager.default = "i3";
- windowManager.i3 = {
- enable = true;
- configFile = /home/skykanin/.config/i3/config;
- package = pkgs.i3-gaps;
- extraPackages = with pkgs; [
- rofi
- my-polybar
- betterlockscreen
- ];
- };
- desktopManager = {
- default = "none";
- xterm.enable = false;
- };
- displayManager = {
- lightdm = {
- enable = true;
- autoLogin = {
- enable = true;
- user = "skykanin";
- };
- # background = "/home/skykanin/Pictures/hyperbeast.jpg";
- greeter.enable = false;
- greeters.gtk.indicators = [ "~host" "~spacer" "~clock" "~spacer" "~a11y" "~session" "~power" ];
- };
- };
- };
- services.redshift = {
- enable = true;
- latitude = "63.430515";
- longitude = "10.395053";
- temperature = {
- day = 6500;
- night = 3000;
- };
- };
- # Define systemd service for betterlockscreen to run on suspend/sleep
- # A bit janky cause I had to manually cache it the first time for root cache
- systemd.services.betterlockscreen = {
- enable = true;
- aliases = [ "betterlockscreen@skykanin.service" ];
- description = "Locks screen when going to sleep/suspend";
- environment = { DISPLAY = ":0"; };
- serviceConfig = {
- User = "skykanin";
- Type = "simple";
- ExecStart = ''${pkgs.betterlockscreen}/bin/betterlockscreen -l dim'';
- TimeoutSec = "infinity";
- };
- wantedBy = [ "sleep.target" "suspend.target" ];
- };
- # Define a user account. Don't forget to set a password with ‘passwd’.
- users.users.skykanin = {
- isNormalUser = true;
- description= "Skykanin";
- extraGroups = ["wheel" "audio" "video" "networkmanager" "postgres"]; # Enable ‘sudo’ for the user.
- initialPassword = "skykanin";
- shell = pkgs.zsh;
- };
- programs.light.enable = true;
- programs.java = {
- enable = true;
- package = pkgs.openjdk11;
- };
- programs.zsh = {
- ohMyZsh = {
- enable = true;
- theme = "robbyrussell";
- plugins = [ "git" "lein" "mvn" "npm"];
- customPkgs = with pkgs; [ nix-zsh-completions zsh-completions ];
- };
- syntaxHighlighting.enable = true;
- };
- nixpkgs.config.allowUnfree = true;
- fonts.enableDefaultFonts = true;
- # 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