From 908339bccd81a1c1f14212408a087ddfbe981cb3 Mon Sep 17 00:00:00 2001 From: Martin Klimes Date: Thu, 12 Dec 2019 21:54:46 +0100 Subject: [PATCH] changes --- nix/desktop.nix | 139 +++++++++++++++++++++++++++++++++++++++ nix/machines/desktop.nix | 71 ++++++++++++++++++++ 2 files changed, 210 insertions(+) create mode 100644 nix/desktop.nix create mode 100644 nix/machines/desktop.nix diff --git a/nix/desktop.nix b/nix/desktop.nix new file mode 100644 index 0000000..c531ebf --- /dev/null +++ b/nix/desktop.nix @@ -0,0 +1,139 @@ +# 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š "; + 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" + # + ./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? + +} diff --git a/nix/machines/desktop.nix b/nix/machines/desktop.nix new file mode 100644 index 0000000..eda85ab --- /dev/null +++ b/nix/machines/desktop.nix @@ -0,0 +1,71 @@ +# 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. + +} +