diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ad9ce90 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +flake.lock +hardware-configuration.nix diff --git a/configuration.nix b/configuration.nix index 636bc1a..8cf728e 100644 --- a/configuration.nix +++ b/configuration.nix @@ -1 +1,65 @@ -# intentionally empty +{ config, pkgs, lib, ... }: +{ + system.stateVersion = "22.11"; + boot.kernelPackages = pkgs.linuxPackages_latest; + environment = { + defaultPackages = []; + binsh = "${pkgs.dash}/bin/dash"; + variables = { + EDITOR = "nvim"; + }; + }; + nix = { + package = pkgs.nixFlakes; + settings.auto-optimise-store = true; + extraOptions = '' + experimental-features = nix-command flakes + ''; + }; + networking = { + firewall.enable = true; + firewall.allowPing = true; + useDHCP = lib.mkDefault true; + networkmanager.enable = true; + }; + qt5 = { + enable = true; + style = "gtk2"; + platformTheme = "gtk2"; + }; + programs.dconf.enable = true; + time.timeZone = "America/New_York"; + services = { + timesyncd = { + enable = true; + servers = [ + "time.google.com" + "time2.google.com" + ]; + }; + }; + # Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; + console = { + font = "Lat2-Terminus16"; + useXkbConfig = true; + }; + + # Enable sound. + security.rtkit.enable = true; + hardware.pulseaudio = { + enable = true; + support32Bit = true; + package = pkgs.pulseaudioFull; + }; + + #enable ssh + programs = { + mtr.enable = true; + gnupg.agent = { + enable = true; + enableSSHSupport = true; + }; + }; + services.openssh.enable = true; +} diff --git a/flake.nix b/flake.nix index 7b82eaa..0738dac 100644 --- a/flake.nix +++ b/flake.nix @@ -13,13 +13,14 @@ inherit system; config = { allowUnfree = true; + pulseaudio = true; packageOverrides = super: let self = super.pkgs; in { #more overrides can go here polkit_fix = self.polkit_gnome.overrideAttrs ( oldAttrs: rec { postInstall = '' mkdir $out/bin - ln -s $out/libexec/polkit-gnome-authentication-agent-1 $out/bin/polkit-gnome-authentication-agent-1 + ln -s $out/libexec/polkit-gnome-authentication-agent-1 $out/bin/polkit-gnome ''; }); nerdfonts-overpass = self.nerdfonts.override { @@ -42,6 +43,7 @@ gerg-laptop = lib.nixosSystem { inherit system pkgs; modules = [ + ./configuration.nix ./hardware-configuration.nix ./systems/laptop.nix ]; @@ -49,6 +51,7 @@ gerg-desktop = lib.nixosSystem { inherit system pkgs; modules = [ + ./configuration.nix ./hardware-configuration.nix ./systems/desktop.nix ]; diff --git a/home-manager/bspwm.nix b/home-manager/bspwm.nix index 9b675d8..955b5b1 100755 --- a/home-manager/bspwm.nix +++ b/home-manager/bspwm.nix @@ -10,7 +10,7 @@ "xsetroot -cursor_name left_ptr" "xsetroot -solid \"#000000\"" "flashfocus" - "polkit-gnome-authentication-agent-1" + "polkit-gnome" ]; settings = { border_width = 0; @@ -25,7 +25,7 @@ }; monitors = { HDMI-0 = [ "I" "II" "III" "IV" "V" ]; -# eDP-1 = [ "VI" "VII" "VIII" "IX" "X" ]; + eDP-1 = [ "VI" "VII" "VIII" "IX" "X" ]; }; }; } diff --git a/home-manager/config/polybar/scripts/tray b/home-manager/config/polybar/scripts/tray deleted file mode 100755 index 8cd6d1f..0000000 --- a/home-manager/config/polybar/scripts/tray +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash -u=$(xprop -name "Polybar tray window" _NET_WM_PID | awk '{print $3}') -if [ $u -Z ] -then polybar tray & -else kill $u -fi diff --git a/home-manager/git.nix b/home-manager/git.nix index 54ec211..9b2e76d 100644 --- a/home-manager/git.nix +++ b/home-manager/git.nix @@ -1,6 +1,8 @@ +{ pkgs, ... }: { programs.git = { enable = true; + package = pkgs.gitFull; userName = "ISnortPennies"; userEmail = "ISnortPennies@protonmail.com"; }; diff --git a/home-manager/home-manager.nix b/home-manager/home-manager.nix index 3fd3503..1ee845d 100755 --- a/home-manager/home-manager.nix +++ b/home-manager/home-manager.nix @@ -1,7 +1,6 @@ {config, pkgs, home-manager, ...}: { imports = [ - ./zsh.nix ./firefox.nix ./bspwm.nix ./sxhkd.nix @@ -12,6 +11,7 @@ ./theme.nix ./picom.nix ./git.nix + ./neovim.nix ]; xsession.numlock.enable = true; programs.home-manager.enable = true; diff --git a/home-manager/neovim.nix b/home-manager/neovim.nix new file mode 100644 index 0000000..c6ec8ca --- /dev/null +++ b/home-manager/neovim.nix @@ -0,0 +1,34 @@ +{ pkgs, ... }: +{ + programs.neovim = { + enable = true; + viAlias = true; + vimAlias = true; + withNodeJs = true; + withPython3 = true; + withRuby = true; + coc = { + enable = true; + package = pkgs.vimPlugins.coc-nvim; + }; + plugins = with pkgs.vimPlugins; [ + vim-nix + vim-polyglot + vim-smoothie + tokyonight-nvim + rainbow + indentLine + undotree + ]; + extraConfig = '' + set tabstop=2 + set expandtab + set shiftwidth=2 + set ignorecase + set incsearch + set number + set noswapfile + let mapleader = "'" + ''; + }; +} diff --git a/home-manager/polybar.nix b/home-manager/polybar.nix index 774f8e6..015cc11 100755 --- a/home-manager/polybar.nix +++ b/home-manager/polybar.nix @@ -199,7 +199,7 @@ "module/tray" = { type = "custom/text"; content = " "; - click.left = "\$HOME/.config/polybar/scripts/tray"; + click.left = "polybar-tray"; label = { padding = 3; background = "\${colors.background}"; diff --git a/modules/boot.nix b/modules/boot.nix index 09d18cc..6333cc9 100755 --- a/modules/boot.nix +++ b/modules/boot.nix @@ -1,7 +1,5 @@ -{pkgs, config, lib, modulesPath, ...}: { boot = { - kernelPackages = pkgs.linuxPackages_latest; blacklistedKernelModules = [ "nouveau" "lbm-nouveau" "pcspkr" ]; kernelParams = [ "fbcon=nodefer" "bgrt_disable" "quiet" "splash" ]; plymouth = { diff --git a/modules/misc.nix b/modules/misc.nix deleted file mode 100644 index d3fb199..0000000 --- a/modules/misc.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - nix.settings.auto-optimise-store = true; - networking = { - firewall.enable = true; - firewall.allowPing = true; - useDHCP = lib.mkDefault true; - networkmanager.enable = true; - }; - qt5 = { - enable = true; - style = "gtk2"; - platformTheme = "gtk2"; - }; - programs = { - zsh.enable = true; - dconf.enable = true; - }; - time.timeZone = "America/New_York"; - services = { - gvfs.enable = true; - timesyncd = { - enable = true; - servers = [ - "time.google.com" - "time2.google.com" - ]; - }; - }; - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; - console = { - font = "Lat2-Terminus16"; - useXkbConfig = true; - }; - - # Enable sound. - security.rtkit.enable = true; - hardware.pulseaudio = { - enable = true; - support32Bit = true; - package = pkgs.pulseaudioFull; - }; - nixpkgs.config.pulseaudio = true; - - #enable ssh - programs.mtr.enable = true; - programs.gnupg.agent = { - enable = true; - enableSSHSupport = true; - }; - services.openssh.enable = true; -} diff --git a/modules/nvidia.nix b/modules/nvidia.nix index 1399148..604b7fe 100644 --- a/modules/nvidia.nix +++ b/modules/nvidia.nix @@ -1,9 +1,8 @@ { config, ... }: - { hardware = { nvidia = { - nvidiaPersistenced = true; + nvidiaPersistenced = false; nvidiaSettings = true; package = config.boot.kernelPackages.nvidiaPackages.stable; modesetting.enable = true; @@ -12,7 +11,7 @@ enable = true; driSupport = true; driSupport32Bit = true; - }; + }; }; } diff --git a/modules/packages.nix b/modules/packages.nix index 66fa5ec..3665187 100755 --- a/modules/packages.nix +++ b/modules/packages.nix @@ -1,7 +1,6 @@ { config, pkgs, callPackage, ... }: { environment.systemPackages = with pkgs; [ - nano #editor wget htop #view tasks efibootmgr #efi editor @@ -12,7 +11,6 @@ environment.systemPackages = with pkgs; [ lightdm-mini-greeter #needed utils mesa #3d acceleration - git #git duh pciutils binutils alsa-utils diff --git a/modules/refreshrate.nix b/modules/refreshrate.nix index 3f4f0e6..7446cef 100644 --- a/modules/refreshrate.nix +++ b/modules/refreshrate.nix @@ -4,6 +4,9 @@ { output = "HDMI-0"; primary = true; + monitorConfig = '' + Option "DPMS" "false" + ''; } ]; screenSection = '' diff --git a/modules/scripts.nix b/modules/scripts.nix index 1ed6f75..5a25d8c 100644 --- a/modules/scripts.nix +++ b/modules/scripts.nix @@ -25,6 +25,15 @@ let #!${pkgs.stdenv.shell} nixos-rebuild switch --flake /etc/nixos/# ''; + + polybar-tray = pkgs.writeScriptBin "polybar-tray" '' + #!${pkgs.stdenv.shell} + u=$(xprop -name "Polybar tray window" _NET_WM_PID | awk '{print $3}') + if [ $u -Z ] + then polybar tray & + else kill $u + fi + ''; in { - environment.systemPackages = [ update-system clean-store apply-users apply-system ]; + environment.systemPackages = [ update-system clean-store apply-users apply-system polybar-tray ]; } diff --git a/modules/thunar.nix b/modules/thunar.nix index 7a28403..70d70cd 100644 --- a/modules/thunar.nix +++ b/modules/thunar.nix @@ -1,5 +1,6 @@ {pkgs, ...}: { + services.gvfs.enable = true; programs.thunar = { enable = true; plugins = with pkgs.xfce; [ thunar-volman thunar-archive-plugin thunar-media-tags-plugin]; diff --git a/modules/xserver.nix b/modules/xserver.nix index aa83d45..52e0d01 100755 --- a/modules/xserver.nix +++ b/modules/xserver.nix @@ -8,13 +8,14 @@ else [ "nvidia" ]; layout = "us"; libinput.enable = true; + xautolock.enable = false; desktopManager = { xterm.enable = false; }; windowManager.bspwm = { enable = true; }; - displayManager = { + displayManager = { defaultSession = "none+bspwm"; lightdm = { enable = true; diff --git a/home-manager/zsh.nix b/modules/zsh.nix similarity index 73% rename from home-manager/zsh.nix rename to modules/zsh.nix index c0febc6..72c2c98 100755 --- a/home-manager/zsh.nix +++ b/modules/zsh.nix @@ -1,14 +1,17 @@ { - programs = { + programs = { zsh = { - enable = true; - enableAutosuggestions = true; - enableSyntaxHighlighting = true; - completionInit = "neofetch"; + enable = true; + autosuggestions = { + enable = true; + }; + syntaxHighlighting = { + enable = true; + }; + interactiveShellInit = "neofetch"; }; starship = { enable = true; - enableZshIntegration = true; settings = { add_newline = false; format="$sudo \n $directory$git_branch$character"; diff --git a/systems/desktop.nix b/systems/desktop.nix index 38f7f1d..51ac463 100755 --- a/systems/desktop.nix +++ b/systems/desktop.nix @@ -9,32 +9,25 @@ ../modules/fonts.nix ../modules/thunar.nix ../modules/scripts.nix - ../modules/misc.nix ../modules/vfio.nix ../modules/refreshrate.nix ../modules/xserver.nix ../modules/smb.nix + ../modules/zsh.nix ]; networking.hostName = "gerg-desktop"; - nix = { - package = pkgs.nixFlakes; - extraOptions = '' - experimental-features = nix-command flakes - ''; - }; - system.stateVersion = "22.11"; + hardware.cpu.amd.updateMicrocode = true; - # end important stuff +#end important stuff environment.systemPackages = with pkgs; [ android-tools openjdk ]; -# user managment +#user managment users = { - defaultUserShell = pkgs.dash; + defaultUserShell = pkgs.zsh; users.gerg = { isNormalUser = true; - shell = pkgs.zsh; extraGroups = [ "wheel" "audio" "networkmanager" "kvm" "libvirtd" ]; }; }; diff --git a/systems/laptop.nix b/systems/laptop.nix index 3f7eee7..53d6480 100755 --- a/systems/laptop.nix +++ b/systems/laptop.nix @@ -10,29 +10,22 @@ ../modules/fonts.nix ../modules/thunar.nix ../modules/scripts.nix - ../modules/misc.nix ../modules/xserver.nix + ../modules/zsh.nix ]; networking.hostName = "gerg-laptop"; - nix = { - package = pkgs.nixFlakes; - extraOptions = '' - experimental-features = nix-command flakes - ''; - }; - system.stateVersion = "22.11"; + hardware.cpu.amd.updateMicrocode = true; + # end important stuff environment.systemPackages = with pkgs; [ xorg.xf86videoamdgpu ]; - # user managment users = { - defaultUserShell = pkgs.dash; + defaultUserShell = pkgs.zsh; users.gerg = { isNormalUser = true; - shell = pkgs.zsh; extraGroups = [ "wheel" "audio" "networkmanager"]; }; };