Martin Klimeš 4 years ago
parent
commit
0672c4adf5
8 changed files with 0 additions and 570 deletions
  1. +0
    -140
      nix/configuration.nix
  2. +0
    -32
      nix/desktop-hardware-configuration.nix
  3. +0
    -139
      nix/desktop.nix
  4. +0
    -26
      nix/hardware-configuration.nix
  5. +0
    -1
      nix/home.nix
  6. +0
    -6
      nix/machines/G560.nix
  7. +0
    -71
      nix/machines/desktop.nix
  8. +0
    -155
      nix/user.nix

+ 0
- 140
nix/configuration.nix View File

@ -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?
}

+ 0
- 32
nix/desktop-hardware-configuration.nix View File

@ -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";
}

+ 0
- 139
nix/desktop.nix View File

@ -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?
}

+ 0
- 26
nix/hardware-configuration.nix View File

@ -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;
}

+ 0
- 1
nix/home.nix View File

@ -1 +0,0 @@
# home.nix

+ 0
- 6
nix/machines/G560.nix View File

@ -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
}

+ 0
- 71
nix/machines/desktop.nix View File

@ -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.
}

+ 0
- 155
nix/user.nix View File

@ -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";
#};
};
};
}

Loading…
Cancel
Save