From b4d37aee366b39b4c6fc7e307e3aca00c7a6ee7e Mon Sep 17 00:00:00 2001 From: Ivan Dimitrov Date: Sat, 1 Jul 2023 22:15:54 +0300 Subject: [PATCH] initial commit --- .gitignore | 1 + configuration.nix | 152 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 153 insertions(+) create mode 100644 .gitignore create mode 100644 configuration.nix diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..577b0a0 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +hardware-configuration.nix diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000..129d2a6 --- /dev/null +++ b/configuration.nix @@ -0,0 +1,152 @@ +{ config, pkgs, ... }: + +{ + imports = + [ + ./hardware-configuration.nix + + ]; + + system.stateVersion = "23.05"; + + hardware = { + pulseaudio.enable = true; + opengl = { + enable = true; + driSupport = true; + driSupport32Bit = true; + }; + nvidia = { + modesetting.enable = true; + open = true; + nvidiaSettings = true; + }; + }; + + boot = { + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + }; + + security = { + polkit.enable = true; + }; + + time.timeZone = "Europe/Sofia"; + + environment = { + systemPackages = with pkgs; [ + libgccjit + binutils + glibc + vim + wget + git + cmatrix + zbar + gnome.cheese + gimp + libmtp + jmtpfs + pinentry-qt + gnumake + nodejs_20 + zip + unzip + mlocate + ]; + variables = { + }; + shells = with pkgs; [ zsh ]; + }; + + programs = { + gnupg.agent = { + enable = true; + enableSSHSupport = true; + }; + sway.enable = true; + zsh.enable = true; + }; + + + users = { + defaultUserShell = pkgs.zsh; + users.ivand = { + isNormalUser = true; + extraGroups = [ "wheel" "audio" "mlocate" ]; + }; + extraGroups = { + mlocate = {}; + }; + }; + + home-manager.users.ivand = { + home = { + stateVersion = "23.05"; + pointerCursor = + let + getFrom = url: hash: name: { + gtk.enable = true; + x11.enable = true; + name = name; + size = 48; + package = + pkgs.runCommand "moveUp" {} '' + mkdir -p $out/share/icons + ln -s ${pkgs.fetchzip { + url = url; + hash = hash; + }} $out/share/icons/${name} + ''; + }; + in + getFrom + "https://github.com/ful1e5/Bibata_Cursor/releases/download/v2.0.3/Bibata-Modern-Classic.tar.gz" + "sha256-vn+91iKXWo++4bi3m9cmdRAXFMeAqLij+SXaSChedow=" + "Bibata_Modern_Classic"; + }; + programs = { + home-manager = { + enable = true; + }; + kitty = { + enable = true; + settings = { + enable_tab_bar = false; + background_opacity = "0.9"; + }; + }; + neovim = { + enable = true; + }; + zsh = { + enable = true; + zplug = { + enable = true; + plugins = [ + { name = "jeffreytse/zsh-vi-mode"; } + { name = "romkatv/powerlevel10k"; tags = [ as:theme depth:1 ]; } + { name = "zsh-users/zsh-autosuggestions"; } + { name = "zsh-users/zsh-syntax-highlighting"; tags = [ defer:2 ]; } + ]; + }; + initExtra = '' + source ./.p10k.zsh + ''; + }; + }; + home.packages = with pkgs; [ + brave + bemenu + gopass + gopass-jsonapi + pavucontrol + vimPlugins.nvchad + ]; + }; + +} +