commit 68fc9939536ede6dd366ccedd1334e628b9b4f02 Author: inexcode Date: Wed Dec 25 14:19:09 2019 +0300 init diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..5a8e332 --- /dev/null +++ b/LICENSE @@ -0,0 +1,14 @@ + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. + diff --git a/Laptop/configuration.nix b/Laptop/configuration.nix new file mode 100644 index 0000000..6038806 --- /dev/null +++ b/Laptop/configuration.nix @@ -0,0 +1,121 @@ +# 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 + ./software.nix + ./modules/gnome.nix + ./modules/zsh.nix + ]; + + nixpkgs.config.allowUnfree = true; + + # Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + # Networking + + networking = { + hostName = "inex-hp-envy"; + networkmanager.enable = true; + useDHCP = false; + interfaces = { + enp7s0 = { + useDHCP = true; + }; + wlp8s0 = { + useDHCP = true; + }; + }; + firewall = { + allowedTCPPorts = [ 1716 ]; + allowedUDPPorts = [ 1716 ]; + }; + }; + + # BLuetooth and audio + sound.enable = true; + + hardware = { + bluetooth = { + enable = true; + package = pkgs.bluezFull; + }; + pulseaudio = { + enable = true; + package = pkgs.pulseaudioFull; + extraModules = [ pkgs.pulseaudio-modules-bt ]; + }; + }; + + # Select internationalisation properties. + # i18n = { + # consoleFont = "Lat2-Terminus16"; + # consoleKeyMap = "us"; + # defaultLocale = "en_US.UTF-8"; + # }; + + # Set your time zone. + time.timeZone = "Europe/Moscow"; + + # List services that you want to enable: + + # Enable CUPS to print documents. + services.printing.enable = true; + + # Enable the X11 windowing system. + services.xserver = { + enable = true; + layout = "us"; + videoDrivers = [ "intel" "nv" ]; + libinput.enable = true; + exportConfiguration = true; + wacom.enable = true; + #xkbOptions = "eurosign:e"; + #displayManager.startx.enable = true; + }; + + # Video driver + hardware = { + bumblebee = { + enable = true; + driver = "nouveau"; + }; + opengl = { + enable = true; + driSupport32Bit = true; + }; /* + nvidia = { + modesetting.enable = true; + optimus_prime = { + enable = true; + allowExternalGpu = true; + nvidiaBusId = "PCI:1:0:0"; + intelBusId = "PCI:0:2:0"; + }; + }; */ + }; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.inex = { + isNormalUser = true; + home = "/home/inex"; + description = "Inex Code"; + extraGroups = [ "wheel" "networkmanager" "jackaudio" "audio" ]; # Enable ‘sudo’ for the user. + }; + + # 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.09"; # Did you read the comment?} + + +} + diff --git a/Laptop/jacked.nix b/Laptop/jacked.nix new file mode 100644 index 0000000..5d824bc --- /dev/null +++ b/Laptop/jacked.nix @@ -0,0 +1,26 @@ +{ config, pkgs, ... }: + +{ + imports = + [ + ./configuration.nix + ]; + + services.jack = { + alsa = { + enable = true; + support32Bit = true; + }; + jackd = { + enable = true; + }; + }; + + environment.systemPackages = [ + pkgs.ardour + # pkgs.cadence + pkgs.qjackctl + ]; + +} + diff --git a/Laptop/modules/gnome.nix b/Laptop/modules/gnome.nix new file mode 100644 index 0000000..2c8b5d1 --- /dev/null +++ b/Laptop/modules/gnome.nix @@ -0,0 +1,27 @@ +{ config, pkgs, ... }: + +{ + # Enable the GNOME Desktop Environment. + services.xserver = { + displayManager = { + gdm = { + enable = true; + wayland = true; + }; + }; + desktopManager = { + gnome3.enable = true; + }; + }; + + + qt5.platformTheme = "gnome"; + + environment.systemPackages = with pkgs; [ + gnome3.pomodoro + gnome3.gnome-tweaks + gnome3.networkmanager-openvpn + gnomeExtensions.gsconnect + paper-icon-theme + ]; +} diff --git a/Laptop/modules/zsh.nix b/Laptop/modules/zsh.nix new file mode 100644 index 0000000..37f44cd --- /dev/null +++ b/Laptop/modules/zsh.nix @@ -0,0 +1,42 @@ +{ config, pkgs, ... }: + +{ + users.defaultUserShell = pkgs.zsh; + programs.zsh = { + enable = true; + #interactiveShellInit = "ponysay -q"; + autosuggestions = { + enable = true; + }; + syntaxHighlighting = { + enable = true; + }; + ohMyZsh = { + enable = true; + plugins = [ + "git" + "python" + "man" + "z" + "catimg" + "copyfile" + "encode64" + "extract" + "lol" + "npm" + "pip" + ]; + theme = "spaceship"; + customPkgs = with pkgs; [ + pkgs.nix-zsh-completions + pkgs.spaceship-prompt + pkgs.zsh-autosuggestions + pkgs.zsh-syntax-highlighting + ]; + }; + }; + environment.systemPackages = with pkgs; [ + zsh-autosuggestions + zsh-syntax-highlighting + ]; +} diff --git a/Laptop/software.nix b/Laptop/software.nix new file mode 100644 index 0000000..63b8ccb --- /dev/null +++ b/Laptop/software.nix @@ -0,0 +1,58 @@ +{ config, pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + # Utils + cool-retro-term + tmux + ponysay + neovim + neofetch + pciutils + openvpn + git + + # Encrypted folders + encfs + gencfsm + + # Browsers + firefox + + # Messangers + tdesktop + discord + riot-desktop + + # Games + steam + openttd + lutris-unwrapped + + # Development + vscode + ansible + octaveFull + texlive.combined.scheme-full + gcc-unwrapped + python3Full + + # Screen recording + obs-studio + peek + + # Graphics + krita + gmic_krita_qt + + # Audio + audacity + lmms + picard + + # Documents + anki + libreoffice + ]; +} + diff --git a/nixos-inex.png b/nixos-inex.png new file mode 100644 index 0000000..a739d2d Binary files /dev/null and b/nixos-inex.png differ diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..4a08df4 --- /dev/null +++ b/readme.md @@ -0,0 +1,18 @@ +# Inex Code's NixOS config + +![Logo](nixos-inex.png) + +## Profiles + +### default + +Defined in configuration.nix + +### jacked + +Extends default profile with JACK and Ardour + +## Modules + +- gnome +- zsh