| @ -1,140 +0,0 @@ | |||||
| # 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 | |||||
| userName = "klimi"; | |||||
| name = "Martin Klimeš <Klimi>"; | |||||
| email = "klimi@sitischu.com"; | |||||
| hostName = "nixos"; | |||||
| timeZone = "Europe/Prague"; | |||||
| dots = "/home/klimi/dotfiles/dotfiles/"; | |||||
| #home-manager = builtins.fetchGit { | |||||
| # url = "https://github.com/rycee/home-manager.git"; | |||||
| # rev = "dd94a849df69fe62fe2cb23a74c2b9330f1189ed"; # CHANGEME | |||||
| # ref = "release-18.09"; | |||||
| #}; | |||||
| in { | |||||
| imports = [ # Include the results of the hardware scan. | |||||
| ./hardware-configuration.nix | |||||
| #"${home-manager}/nixos" | |||||
| #<home-manager/nixos> | |||||
| ./user.nix | |||||
| ./machines/G560.nix | |||||
| ]; | |||||
| # Linux kernel Latest | |||||
| boot.kernelPackages = pkgs.linuxPackages_latest; | |||||
| # Use the GRUB 2 boot loader. | |||||
| # boot.loader.grub.efiSupport = true; | |||||
| # boot.loader.grub.efiInstallAsRemovable = true; | |||||
| # boot.loader.efi.efiSysMountPoint = "/boot/efi"; | |||||
| # Define on which hard drive you want to install Grub. | |||||
| networking = { | |||||
| hostName = hostName; | |||||
| networkmanager.enable = true; | |||||
| }; | |||||
| # 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"; | |||||
| # Select internationalisation properties. | |||||
| i18n = { | |||||
| consoleFont = "Lat2-Terminus16"; | |||||
| consoleKeyMap = "uk"; | |||||
| defaultLocale = "en_GB.UTF-8"; | |||||
| # consoleUseXkbConfig = true; WELL IDK | |||||
| }; | |||||
| # Set your time zone. | |||||
| time.timeZone = timeZone; | |||||
| # List packages installed in system profile. To search, run: # $ nix search wget | |||||
| environment.systemPackages = with pkgs; [ | |||||
| wget | |||||
| vim | |||||
| git | |||||
| killall | |||||
| acpi | |||||
| gnumake | |||||
| gcc | |||||
| xorg.libxcb.dev | |||||
| wirelesstools | |||||
| ]; | |||||
| # 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; | |||||
| nixpkgs.config = { | |||||
| allowUnfree = true; | |||||
| }; | |||||
| # Open ports in the firewall. | |||||
| networking.firewall.allowedTCPPorts = [ 22000 ]; | |||||
| # 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; | |||||
| # Enable the X11 windowing system. | |||||
| # services.xserver.enable = true; | |||||
| # services.xserver.layout = "us"; | |||||
| # services.xserver.xkbOptions = "eurosign:e"; | |||||
| services.xserver = { | |||||
| enable = true; | |||||
| layout = "gb"; | |||||
| xkbOptions = "compose:sclk,ctrl:nocaps"; | |||||
| displayManager.sddm.enable = true; | |||||
| windowManager.bspwm = { | |||||
| enable = true; | |||||
| #configFile = "${dots}bspwmrc"; | |||||
| #sxhkd.configFile = "${dots}sxhkdrc"; | |||||
| #sxhkd.configFile = "/home/klimi/dotfiles/dotfiles/sxhkdrc"; | |||||
| ########################################################### | |||||
| # this doesnt work so i will try to do it in home-manager # | |||||
| ########################################################### | |||||
| }; | |||||
| }; | |||||
| # 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; | |||||
| # Define a user account. Don't forget to set a password with ‘passwd’. | |||||
| # in user.nix | |||||
| # 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? | |||||
| } | |||||
| @ -1,32 +0,0 @@ | |||||
| # Do not modify this file! It was generated by ‘nixos-generate-config’ | |||||
| # and may be overwritten by future invocations. Please make changes | |||||
| # to /etc/nixos/configuration.nix instead. | |||||
| { config, lib, pkgs, ... }: | |||||
| { | |||||
| imports = | |||||
| [ <nixpkgs/nixos/modules/installer/scan/not-detected.nix> | |||||
| ]; | |||||
| boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" "sr_mod" ]; | |||||
| boot.initrd.kernelModules = [ ]; | |||||
| boot.kernelModules = [ "kvm-intel" ]; | |||||
| boot.extraModulePackages = [ ]; | |||||
| fileSystems."/" = | |||||
| { device = "/dev/disk/by-uuid/f0cc2b2c-8370-4319-81cd-dd66a2f15e42"; | |||||
| fsType = "ext4"; | |||||
| }; | |||||
| fileSystems."/boot" = | |||||
| { device = "/dev/disk/by-uuid/DAD9-70D3"; | |||||
| fsType = "vfat"; | |||||
| }; | |||||
| swapDevices = | |||||
| [ { device = "/dev/disk/by-uuid/c4e402ad-8efb-4b49-bc1d-9201a1b485aa"; } | |||||
| ]; | |||||
| nix.maxJobs = lib.mkDefault 12; | |||||
| powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; | |||||
| } | |||||
| @ -1,139 +0,0 @@ | |||||
| # 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 | |||||
| userName = "klimi"; | |||||
| name = "Martin Klimeš <Klimi>"; | |||||
| email = "klimi@sitischu.com"; | |||||
| hostName = "nixos"; | |||||
| timeZone = "Europe/Prague"; | |||||
| dots = "/home/klimi/dotfiles/dotfiles/"; | |||||
| #home-manager = builtins.fetchGit { | |||||
| # url = "https://github.com/rycee/home-manager.git"; | |||||
| # rev = "dd94a849df69fe62fe2cb23a74c2b9330f1189ed"; # CHANGEME | |||||
| # ref = "release-18.09"; | |||||
| #}; | |||||
| in { | |||||
| imports = [ # Include the results of the hardware scan. | |||||
| ./desktop-hardware-configuration.nix | |||||
| #"${home-manager}/nixos" | |||||
| #<home-manager/nixos> | |||||
| ./user.nix | |||||
| ./machines/desktop.nix | |||||
| ]; | |||||
| # Linux kernel Latest | |||||
| boot.kernelPackages = pkgs.linuxPackages_latest; | |||||
| # Use the GRUB 2 boot loader. | |||||
| # boot.loader.grub.efiSupport = true; | |||||
| # boot.loader.grub.efiInstallAsRemovable = true; | |||||
| # boot.loader.efi.efiSysMountPoint = "/boot/efi"; | |||||
| # Define on which hard drive you want to install Grub. | |||||
| networking = { | |||||
| networkmanager.enable = true; | |||||
| }; | |||||
| # 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"; | |||||
| # Select internationalisation properties. | |||||
| i18n = { | |||||
| consoleFont = "Lat2-Terminus16"; | |||||
| consoleKeyMap = "uk"; | |||||
| defaultLocale = "en_GB.UTF-8"; | |||||
| # consoleUseXkbConfig = true; WELL IDK | |||||
| }; | |||||
| # Set your time zone. | |||||
| time.timeZone = timeZone; | |||||
| # List packages installed in system profile. To search, run: # $ nix search wget | |||||
| environment.systemPackages = with pkgs; [ | |||||
| wget | |||||
| vim | |||||
| git | |||||
| killall | |||||
| acpi | |||||
| gnumake | |||||
| gcc | |||||
| xorg.libxcb.dev | |||||
| wirelesstools | |||||
| ]; | |||||
| # 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; | |||||
| nixpkgs.config = { | |||||
| allowUnfree = true; | |||||
| }; | |||||
| # Open ports in the firewall. | |||||
| networking.firewall.allowedTCPPorts = [ 22000 ]; | |||||
| # 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; | |||||
| # Enable the X11 windowing system. | |||||
| # services.xserver.enable = true; | |||||
| # services.xserver.layout = "us"; | |||||
| # services.xserver.xkbOptions = "eurosign:e"; | |||||
| services.xserver = { | |||||
| enable = true; | |||||
| layout = "gb"; | |||||
| xkbOptions = "compose:sclk,ctrl:nocaps"; | |||||
| displayManager.sddm.enable = true; | |||||
| windowManager.bspwm = { | |||||
| enable = true; | |||||
| #configFile = "${dots}bspwmrc"; | |||||
| #sxhkd.configFile = "${dots}sxhkdrc"; | |||||
| #sxhkd.configFile = "/home/klimi/dotfiles/dotfiles/sxhkdrc"; | |||||
| ########################################################### | |||||
| # this doesnt work so i will try to do it in home-manager # | |||||
| ########################################################### | |||||
| }; | |||||
| }; | |||||
| # 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; | |||||
| # Define a user account. Don't forget to set a password with ‘passwd’. | |||||
| # in user.nix | |||||
| # 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? | |||||
| } | |||||
| @ -1,26 +0,0 @@ | |||||
| # Do not modify this file! It was generated by ‘nixos-generate-config’ | |||||
| # and may be overwritten by future invocations. Please make changes | |||||
| # to /etc/nixos/configuration.nix instead. | |||||
| { config, lib, pkgs, ... }: | |||||
| { | |||||
| imports = | |||||
| [ <nixpkgs/nixos/modules/installer/scan/not-detected.nix> | |||||
| ]; | |||||
| boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "sd_mod" ]; | |||||
| boot.initrd.kernelModules = [ ]; | |||||
| boot.kernelModules = [ "kvm-intel" ]; | |||||
| boot.extraModulePackages = [ ]; | |||||
| fileSystems."/" = | |||||
| { device = "/dev/disk/by-uuid/da28e3d4-4534-4da1-8e29-aa4196189825"; | |||||
| fsType = "ext4"; | |||||
| }; | |||||
| swapDevices = | |||||
| [ { device = "/dev/disk/by-uuid/7972a0ef-66b7-4d1b-a248-be0ddf8b55fa"; } | |||||
| ]; | |||||
| nix.maxJobs = lib.mkDefault 4; | |||||
| } | |||||
| @ -1 +0,0 @@ | |||||
| # home.nix | |||||
| @ -1,6 +0,0 @@ | |||||
| { config, pkgs, ... }: | |||||
| { | |||||
| boot.loader.grub.enable = true; | |||||
| boot.loader.grub.version = 2; | |||||
| boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only | |||||
| } | |||||
| @ -1,71 +0,0 @@ | |||||
| # 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, ... }: | |||||
| { | |||||
| boot.loader.systemd-boot.enable = true; | |||||
| boot.loader.efi.canTouchEfiVariables = true; | |||||
| networking.hostName = "desktop"; # Define your hostname. | |||||
| # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. | |||||
| # The global useDHCP flag is deprecated, therefore explicitly set to false here. | |||||
| # Per-interface useDHCP will be mandatory in the future, so this generated config | |||||
| # replicates the default behaviour. | |||||
| networking.useDHCP = false; | |||||
| networking.interfaces.enp0s31f6.useDHCP = 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. | |||||
| # Set your time zone. | |||||
| # List packages installed in system profile. To search, run: | |||||
| # $ nix search wget | |||||
| # 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. | |||||
| # Enable the X11 windowing system. | |||||
| # services.xserver.enable = true; | |||||
| # services.xserver.layout = "us"; | |||||
| # services.xserver.xkbOptions = "eurosign:e"; | |||||
| # 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; | |||||
| # Define a user account. Don't forget to set a password with ‘passwd’. | |||||
| # 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. | |||||
| } | |||||
| @ -1,155 +0,0 @@ | |||||
| # user.nix | |||||
| { config, pkgs, ...}: | |||||
| let | |||||
| email = "klimi@sitischu.com"; | |||||
| in | |||||
| { | |||||
| imports = [<home-manager/nixos>]; | |||||
| home-manager.useUserPackages = true; | |||||
| # | |||||
| #accounts.email.accounts.klimi.address # TODO FIX | |||||
| users.users.klimi = { | |||||
| isNormalUser = true; | |||||
| extraGroups = [ "wheel" "networkmanager" "adbusers" ]; | |||||
| home = "/home/klimi"; | |||||
| description = "Martin Klimeš"; | |||||
| }; | |||||
| # services.xserver.videoDrivers = [ "nvidiaLegacy340" ]; | |||||
| programs.adb.enable = true; | |||||
| fonts.fonts = with pkgs; [ | |||||
| noto-fonts | |||||
| noto-fonts-cjk | |||||
| noto-fonts-emoji | |||||
| liberation_ttf | |||||
| fira-code | |||||
| fira-code-symbols | |||||
| mplus-outline-fonts | |||||
| dina-font | |||||
| proggyfonts | |||||
| siji | |||||
| inconsolata | |||||
| ]; | |||||
| ######## POWER MANAGMENT ###### | |||||
| powerManagement.enable = true; | |||||
| # powerManagement.powertop.enable = true; | |||||
| #powerManagement.cpuFreqGovernor = "powersave"; | |||||
| ## EXPERIMENTAL ## | |||||
| nix.buildCores = 4; | |||||
| # networking.networkmanager.wifi.powersave = true; | |||||
| # powerManagement.cpufreq.max = 933000; | |||||
| # compton -b --unredir-if-possible --backend xr_glx_hybrid --vsync --use-damage --glx-no-stencil | |||||
| programs.bash.shellAliases = { | |||||
| nrs = | |||||
| "sudo nixos-rebuild switch -I nixos-config=/home/klimi/dotfiles/nix/desktop.nix"; | |||||
| nrb = | |||||
| "sudo nixos-rebuild boot -I nixos-config=/home/klimi/dotfiles/nix/desktop.nix"; | |||||
| un = | |||||
| "NIXPKGS_ALLOW_UNFREE=1 "; | |||||
| }; | |||||
| hardware.opengl.driSupport32Bit = true; | |||||
| hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ]; | |||||
| hardware.pulseaudio.support32Bit = true; | |||||
| services.weechat.enable = true; | |||||
| programs.screen.screenrc = '' | |||||
| multiuser on | |||||
| acladd normal_user | |||||
| ''; | |||||
| services.printing.enable = true; | |||||
| services.printing.drivers = [ pkgs.brgenml1lpr pkgs.brgenml1cupswrapper ]; | |||||
| # TODO FIX | |||||
| home-manager.users.klimi = { pkgs, ... }: | |||||
| let | |||||
| unstable = import (fetchTarball | |||||
| "https://nixos.org/channels/nixos-unstable/nixexprs.tar.xz") { }; | |||||
| in { | |||||
| accounts.email.accounts.klimi.address = "klimi@sitischu.com"; | |||||
| accounts.email.accounts.klimi.primary = true; | |||||
| programs.alacritty.enable = true; | |||||
| home.keyboard = { | |||||
| layout = "gb"; | |||||
| options = ["compose:sclk" "ctrl:nocaps"]; | |||||
| }; | |||||
| ############# | |||||
| # syncthing # | |||||
| ############# | |||||
| services.syncthing.enable = true; | |||||
| ########## | |||||
| # xcape # | |||||
| ########## | |||||
| services.xcape.enable = true; | |||||
| # Do not map Control_L because it gets mapped too late | |||||
| # Mapping it co caps_lock suddenly works... america please explain | |||||
| services.xcape.mapExpression = { Caps_Lock="Multi_key";}; | |||||
| ########### | |||||
| # polybar # | |||||
| ########### | |||||
| #services.polybar.enable = true; | |||||
| #services.polybar.config = "${dots}/polybar.config"; | |||||
| #services.polybar.script = "polybar top &"; | |||||
| nixpkgs.config.allowUnfree = true; | |||||
| nixpkgs.config.allowBroken = true; | |||||
| programs.firefox.enable = true; | |||||
| home = { | |||||
| packages = [ | |||||
| pkgs.mumble | |||||
| pkgs.zathura # TODO FIX | |||||
| pkgs.libreoffice-fresh | |||||
| (pkgs.steam.override { extraPkgs = pkgs: [ pkgs.mono pkgs.gtk3 pkgs.gtk3-x11 pkgs.libgdiplus pkgs.zlib ];}) | |||||
| pkgs.youtube-dl | |||||
| pkgs.ffmpeg | |||||
| pkgs.mpv | |||||
| pkgs.paper-gtk-theme | |||||
| pkgs.paper-icon-theme | |||||
| pkgs.adapta-gtk-theme | |||||
| pkgs.moka-icon-theme | |||||
| pkgs.tango-icon-theme | |||||
| pkgs.lxappearance | |||||
| (pkgs.dunst.override {dunstify = true; }) | |||||
| pkgs.transmission-gtk | |||||
| pkgs.unzip | |||||
| pkgs.ncat | |||||
| pkgs.lm_sensors | |||||
| pkgs.libnotify | |||||
| pkgs.bc | |||||
| pkgs.ranger | |||||
| pkgs.htop | |||||
| pkgs.stow # just stow for a workaround... | |||||
| pkgs.neofetch | |||||
| pkgs.rofi | |||||
| pkgs.xclip | |||||
| pkgs.maim | |||||
| pkgs.file | |||||
| pkgs.feh | |||||
| unstable.riot-desktop | |||||
| unstable.tdesktop | |||||
| pkgs.ghc | |||||
| pkgs.zile | |||||
| pkgs.nethogs | |||||
| pkgs.xcape | |||||
| pkgs.lemonbar-xft | |||||
| pkgs.xdotool | |||||
| pkgs.ruby | |||||
| pkgs.zsh | |||||
| pkgs.iw | |||||
| pkgs.xdo | |||||
| pkgs.emacs | |||||
| pkgs.tree | |||||
| pkgs.gotop | |||||
| ]; | |||||
| #file = { | |||||
| # ".xinitrc".text = "exec bspwm"; | |||||
| #}; | |||||
| }; | |||||
| }; | |||||
| } | |||||