diff options
| author | spl3g <spleefer6@yandex.ru> | 2023-08-21 09:14:28 +0000 |
|---|---|---|
| committer | spl3g <spleefer6@yandex.ru> | 2023-08-21 09:14:28 +0000 |
| commit | 72e82deb5536a88b6438a708b3e825029f621d14 (patch) | |
| tree | 992c1075e68b9488960e24961ef941696b8cac61 | |
| parent | 952b45648dbda12157bdbb1a841c3167ef712adf (diff) | |
damn
| -rw-r--r-- | flake.lock | 70 | ||||
| -rw-r--r-- | flake.nix | 14 | ||||
| -rw-r--r-- | home-manager/home.nix (renamed from home-manager/home/home.nix) | 46 | ||||
| -rw-r--r-- | home-manager/home/services/default.nix | 16 | ||||
| -rwxr-xr-x | home-manager/homeold.nix (renamed from home-manager/home/homeold.nix) | 0 | ||||
| -rw-r--r-- | home-manager/programs/default.nix | 22 | ||||
| -rw-r--r-- | home-manager/programs/default.nix~ (renamed from home-manager/home/programs/default.nix) | 4 | ||||
| -rw-r--r-- | home-manager/programs/emacs/default.nix | 29 | ||||
| -rw-r--r-- | home-manager/programs/emacs/early-init.el (renamed from home-manager/home/programs/emacs/early-init.el) | 0 | ||||
| -rw-r--r-- | home-manager/programs/emacs/init.el (renamed from home-manager/home/programs/emacs/init.el) | 68 | ||||
| -rw-r--r-- | home-manager/programs/firefox/default.nix (renamed from home-manager/home/programs/firefox/default.nix) | 0 | ||||
| -rw-r--r-- | home-manager/programs/firefox/user.js (renamed from home-manager/home/programs/firefox/user.js) | 0 | ||||
| -rw-r--r-- | home-manager/programs/fish/default.nix (renamed from home-manager/home/programs/fish/default.nix) | 0 | ||||
| -rw-r--r-- | home-manager/programs/ranger/commands.py (renamed from home-manager/home/programs/ranger/commands.py) | 0 | ||||
| -rw-r--r-- | home-manager/programs/ranger/default.nix | 16 | ||||
| -rw-r--r-- | home-manager/programs/ranger/plugins/__init__.py (renamed from home-manager/home/programs/ranger/plugins/__init__.py) | 0 | ||||
| -rw-r--r-- | home-manager/programs/ranger/plugins/__pycache__/__init__.cpython-310.pyc (renamed from home-manager/home/programs/ranger/plugins/__pycache__/__init__.cpython-310.pyc) | bin | 139 -> 139 bytes | |||
| -rw-r--r-- | home-manager/programs/ranger/plugins/__pycache__/__init__.cpython-311.pyc (renamed from home-manager/home/programs/ranger/plugins/__pycache__/__init__.cpython-311.pyc) | bin | 155 -> 155 bytes | |||
| -rw-r--r-- | home-manager/programs/ranger/plugins/__pycache__/fd.cpython-311.pyc (renamed from home-manager/home/programs/ranger/plugins/__pycache__/fd.cpython-311.pyc) | bin | 6322 -> 6322 bytes | |||
| -rw-r--r-- | home-manager/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-310.pyc (renamed from home-manager/home/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-310.pyc) | bin | 1682 -> 1682 bytes | |||
| -rw-r--r-- | home-manager/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-311.pyc (renamed from home-manager/home/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-311.pyc) | bin | 3030 -> 3030 bytes | |||
| -rw-r--r-- | home-manager/programs/ranger/plugins/quit_cd_wd.py (renamed from home-manager/home/programs/ranger/plugins/quit_cd_wd.py) | 0 | ||||
| -rw-r--r-- | home-manager/programs/ranger/plugins/ranger_fzf_filter/.gitignore (renamed from home-manager/home/programs/ranger/plugins/ranger_fzf_filter/.gitignore) | 0 | ||||
| -rw-r--r-- | home-manager/programs/ranger/plugins/ranger_fzf_filter/LICENSE (renamed from home-manager/home/programs/ranger/plugins/ranger_fzf_filter/LICENSE) | 0 | ||||
| -rw-r--r-- | home-manager/programs/ranger/plugins/ranger_fzf_filter/README.md (renamed from home-manager/home/programs/ranger/plugins/ranger_fzf_filter/README.md) | 0 | ||||
| -rw-r--r-- | home-manager/programs/ranger/plugins/ranger_fzf_filter/__init__.py (renamed from home-manager/home/programs/ranger/plugins/ranger_fzf_filter/__init__.py) | 0 | ||||
| -rw-r--r-- | home-manager/programs/ranger/plugins/ranger_fzf_filter/command.py (renamed from home-manager/home/programs/ranger/plugins/ranger_fzf_filter/command.py) | 0 | ||||
| -rw-r--r-- | home-manager/programs/ranger/plugins/ranger_fzf_filter/filter.py (renamed from home-manager/home/programs/ranger/plugins/ranger_fzf_filter/filter.py) | 0 | ||||
| -rw-r--r-- | home-manager/programs/ranger/rc.conf (renamed from home-manager/home/programs/ranger/rc.conf) | 0 | ||||
| -rw-r--r-- | home-manager/programs/ranger/rifle.conf (renamed from home-manager/home/programs/ranger/rifle.conf) | 0 | ||||
| -rwxr-xr-x | home-manager/programs/ranger/scope.sh (renamed from home-manager/home/programs/ranger/scope.sh) | 0 | ||||
| -rw-r--r-- | home-manager/programs/rofi/default.nix (renamed from home-manager/home/programs/rofi/default.nix) | 0 | ||||
| -rw-r--r-- | home-manager/programs/rofi/squared-material-pine.rasi (renamed from home-manager/home/programs/rofi/squared-material-pine.rasi) | 0 | ||||
| -rw-r--r-- | home-manager/services/default.nix | 24 | ||||
| -rw-r--r-- | home-manager/services/dunst/default.nix | 23 | ||||
| -rw-r--r-- | home-manager/services/dunst/default.nix~ | 14 | ||||
| -rw-r--r-- | home-manager/services/picom/default.nix (renamed from home-manager/home/services/picom/default.nix) | 16 | ||||
| -rwxr-xr-x | home-manager/services/polybar/hide.fish | 10 | ||||
| -rw-r--r-- | home-manager/services/polybar/hide.fish~ | 1 | ||||
| -rw-r--r-- | home-manager/services/polybar/hide~ | 1 | ||||
| -rw-r--r-- | home-manager/services/sxhkd/default.nix (renamed from home-manager/home/services/sxhkd/default.nix) | 1 | ||||
| -rw-r--r-- | home-manager/wm/bspwm/default.nix (renamed from home-manager/home/wm/bspwm/default.nix) | 1 | ||||
| -rw-r--r-- | home-manager/wm/default.nix (renamed from home-manager/home/wm/default.nix) | 0 | ||||
| -rw-r--r-- | nixos/configuration.nix | 278 | ||||
| -rw-r--r-- | nixos/hardware-configuration.nix | 2 | ||||
| -rw-r--r-- | pkgs/default.nix | 9 | ||||
| -rw-r--r-- | pkgs/minicava/default.nix | 41 | ||||
| -rw-r--r-- | pkgs/sddm-sugar-dark-theme/default.nix (renamed from pkgs/sddm-sugar-dark/default.nix) | 0 |
48 files changed, 417 insertions, 289 deletions
@@ -1,20 +1,5 @@ { "nodes": { - "flake-utils": { - "locked": { - "lastModified": 1629284811, - "narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c5d161cc0af116a2e17f54316f0bf43f0819785c", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -22,11 +7,11 @@ ] }, "locked": { - "lastModified": 1685599623, - "narHash": "sha256-Tob4CMOVHue0D3RzguDBCtUmX5ji2PsdbQDbIOIKvsc=", + "lastModified": 1692099905, + "narHash": "sha256-/pSusGhmIdSdAaywQRFA5dVbfdIzlWQTecM+E46+cJ0=", "owner": "nix-community", "repo": "home-manager", - "rev": "93db05480c0c0f30382d3e80779e8386dcb4f9dd", + "rev": "2a6679aa9cc3872c29ba2a57fe1b71b3e3c5649f", "type": "github" }, "original": { @@ -38,11 +23,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1691186842, - "narHash": "sha256-wxBVCvZUwq+XS4N4t9NqsHV4E64cPVqQ2fdDISpjcw0=", + "lastModified": 1692447944, + "narHash": "sha256-fkJGNjEmTPvqBs215EQU4r9ivecV5Qge5cF/QDLVn3U=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "18036c0be90f4e308ae3ebcab0e14aae0336fe42", + "rev": "d680ded26da5cf104dd2735a51e88d2d8f487b4d", "type": "github" }, "original": { @@ -53,12 +38,11 @@ }, "nur": { "locked": { - "lastModified": 1691228774, - "narHash": "sha256-QDue4f9gTqrvIBYZ+cDZpLpQSOogyq+9fD6fGxNQ2ak=", - "owner": "nix-community", - "repo": "NUR", - "rev": "57a4d34b44b8bf536a6e8f4b575ac0691df71653", - "type": "github" + "lastModified": 1692104222, + "narHash": "sha256-l83U8kOwBz4TzTjvcP4SK/dwpMtQFIMHF2Hm0/gwQ8E=", + "path": "/nix/store/fk5a7zfpx2k5h71ypvaczjg7ccx24a3r-source", + "rev": "0fe703eb360c0b8ddf11d5019097f4d83f1bccd1", + "type": "path" }, "original": { "id": "nur", @@ -67,11 +51,11 @@ }, "nurpkgs": { "locked": { - "lastModified": 1691228774, - "narHash": "sha256-QDue4f9gTqrvIBYZ+cDZpLpQSOogyq+9fD6fGxNQ2ak=", + "lastModified": 1692546305, + "narHash": "sha256-wkh3AW5dMoZzpoois0EjUa+4iLjDIapCnMHNj5RPSWM=", "owner": "nix-community", "repo": "NUR", - "rev": "57a4d34b44b8bf536a6e8f4b575ac0691df71653", + "rev": "3ab8a848ef9af7c63a4740b3f1906704bb1677cc", "type": "github" }, "original": { @@ -85,31 +69,7 @@ "home-manager": "home-manager", "nixpkgs": "nixpkgs", "nur": "nur", - "nurpkgs": "nurpkgs", - "rycee-nurpkgs": "rycee-nurpkgs" - } - }, - "rycee-nurpkgs": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "dir": "pkgs/firefox-addons", - "lastModified": 1691140962, - "narHash": "sha256-12PpVF3Gz1BWnqMPlMnXQoCEtzm2QDI04x0nJG7cx70=", - "owner": "rycee", - "repo": "nur-expressions", - "rev": "7ae92e3497e1f1805fb849510120e2ee393018cd", - "type": "gitlab" - }, - "original": { - "dir": "pkgs/firefox-addons", - "owner": "rycee", - "repo": "nur-expressions", - "type": "gitlab" + "nurpkgs": "nurpkgs" } } }, @@ -9,15 +9,15 @@ # Also see the 'unstable-packages' overlay at 'overlays/default.nix'. # Home manager - home-manager.url = "github:nix-community/home-manager/release-23.05"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; - - rycee-nurpkgs = { - url = gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons; + home-manager = { + url = "github:nix-community/home-manager/release-23.05"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + nurpkgs = { + url = github:/nix-community/NUR; inputs.nixpkgs.follows = "nixpkgs"; }; - - nurpkgs.url = github:/nix-community/NUR; # TODO: Add any other flake you might need # hardware.url = "github:nixos/nixos-hardware"; diff --git a/home-manager/home/home.nix b/home-manager/home.nix index 1a1f3fa..8bf7006 100644 --- a/home-manager/home/home.nix +++ b/home-manager/home.nix @@ -4,25 +4,49 @@ let username = "jerpo"; homeDirectory = "/home/${username}"; configHome = "${homeDirectory}/.config"; - defaultPkgs = with pkgs; [ + sysPkgs = with pkgs; [ + ripgrep + fd + tldr + unzip + wget + htop + jq bat - emacs - nerdfonts + rustup + python3Full + silver-searcher + fzf + wineWowPackages.full + wineWowPackages.fonts + winetricks + pamixer + nix-prefetch-scripts + libtool + ]; + yeahGamingPkgs = with pkgs; [ + vkd3d + nvtop-nvidia + dxvk + lutris + steam + mangohud + gamemode + ]; + defaultPkgs = with pkgs; [ + firefox + minicava + droidcam + source-code-pro pokemon-colorscripts-mac kitty + libreoffice telegram-desktop feh - htop - ranger betterlockscreen - polybar xdragon obsidian xclip - lutris - steam - mangohud - gamemode vkdt transmission-gtk rubik @@ -43,7 +67,7 @@ in home = { inherit username homeDirectory; stateVersion = "23.05"; - packages = defaultPkgs ++ pythonPkgs; + packages = defaultPkgs ++ pythonPkgs ++ yeahGamingPkgs ++ sysPkgs; sessionVariables = { DISPLAY = ":0"; }; diff --git a/home-manager/home/services/default.nix b/home-manager/home/services/default.nix deleted file mode 100644 index b097260..0000000 --- a/home-manager/home/services/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -let - more = { - services = { - clipmenu.enable = true; - emacs = { - enable = true; - defaultEditor = true; - }; - }; - }; -in -[ - ./picom - ./sxhkd - more -] diff --git a/home-manager/home/homeold.nix b/home-manager/homeold.nix index 2e7a9bc..2e7a9bc 100755 --- a/home-manager/home/homeold.nix +++ b/home-manager/homeold.nix diff --git a/home-manager/programs/default.nix b/home-manager/programs/default.nix new file mode 100644 index 0000000..f819054 --- /dev/null +++ b/home-manager/programs/default.nix @@ -0,0 +1,22 @@ +let + more = { pkgs, ... }: { + programs = { + kitty = { + enable = true; + font.name = "Source Code Pro"; + font.size = 11.3; + theme = "Rosé Pine Moon"; + shellIntegration.enableFishIntegration = true; + extraConfig = "cursor_shape underline"; + }; + }; + }; +in +[ + ./fish + ./firefox + ./rofi + ./emacs + ./ranger + more +] diff --git a/home-manager/home/programs/default.nix b/home-manager/programs/default.nix~ index b519da2..c904e18 100644 --- a/home-manager/home/programs/default.nix +++ b/home-manager/programs/default.nix~ @@ -14,8 +14,8 @@ let progConfig = { config, ... }: "${config.home.homeDirectory}/.nixfiles/home-manager/home/programs/"; nonNixConfigs = { config, ... }: { xdg.configFile = { - "ranger".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.nixfiles/home-manager/programs/ranger"; - "emacs/init.el".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.nixfiles/home-manager/programs/emacs/init.el"; + "ranger".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.nixfiles/home-manager/home/programs/ranger"; + "emacs/init.el".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.nixfiles/home-manager/home/programs/emacs/init.el"; }; }; in diff --git a/home-manager/programs/emacs/default.nix b/home-manager/programs/emacs/default.nix new file mode 100644 index 0000000..d74c93a --- /dev/null +++ b/home-manager/programs/emacs/default.nix @@ -0,0 +1,29 @@ +{ pkgs, ... }: +let + service = { + client = { + enable = true; + arguments = [ "-c" "-a emacs" ]; + }; + defaultEditor = true; + startWithUserSession = "graphical"; + package = pkgs.emacs-gtk; + }; + configs = { + "emacs/init.el".text = builtins.readFile ./init.el; + "emacs/early-init.el".text = builtins.readFile ./init.el; + }; +in +{ + services.emacs = { + enable = true; + inherit (service); + }; + programs.emacs = { + enable = true; + inherit (service) package; + }; + xdg.configFile = { + inherit (configs); + }; +} diff --git a/home-manager/home/programs/emacs/early-init.el b/home-manager/programs/emacs/early-init.el index 00e3392..00e3392 100644 --- a/home-manager/home/programs/emacs/early-init.el +++ b/home-manager/programs/emacs/early-init.el diff --git a/home-manager/home/programs/emacs/init.el b/home-manager/programs/emacs/init.el index b291e5a..8e39bb2 100644 --- a/home-manager/home/programs/emacs/init.el +++ b/home-manager/programs/emacs/init.el @@ -396,11 +396,19 @@ (use-package lsp-mode :hook (python-mode . lsp) + (rust-mode . lsp) (lsp-mode . lsp-enable-which-key-integration) + (sh-mode . lsp) :commands lsp) (use-package lsp-pyright :ensure t) -(use-package lsp-ui) +(use-package lsp-ui + :hook (lsp-mode-hook . lsp-ui-mode) + :custom + (lsp-ui-peek-always-show t) + (lsp-ui-sideline-show-hover t) + (lsp-ui-doc-enable t)) + (use-package lsp-treemacs) ;; Flycheck @@ -460,22 +468,60 @@ ;; NixOS (use-package nix-mode - :mode ".nix") -(use-package nix-drv-mode :elpaca nil - :ensure nix-mode - :mode ".drv") -(use-package nix-shell :elpaca nil - :ensure nix-mode - :commands (nix-shell-unpack nix-shell-configure nix-shell-build)) -(use-package nix-repl :elpaca nil - :ensure nix-mode - :commands (nix-repl)) + :mode "(.nix)$") +;; (use-package nix-drv-mode :elpaca nil +;; :ensure nix-mode +;; :mode ".drv") +;; (use-package nix-shell :elpaca nil +;; :ensure nix-mode +;; :commands (nix-shell-unpack nix-shell-configure nix-shell-build)) +;; (use-package nix-repl :elpaca nil +;; :ensure nix-mode +;; :commands (nix-repl)) ;; Reload config (defun reload-init-file () (interactive) (load-file user-init-file) (load-file user-init-file)) +;; Magit +(use-package magit) + +;; Fish +(use-package fish-mode + :mode "(.fish)$") + +;; Rust +(use-package rustic + :ensure + :bind (:map rustic-mode-map + ("M-j" . lsp-ui-imenu) + ("M-?" . lsp-find-references) + ("C-c C-c l" . flycheck-list-errors) + ("C-c C-c a" . lsp-execute-code-action) + ("C-c C-c r" . lsp-rename) + ("C-c C-c q" . lsp-workspace-restart) + ("C-c C-c Q" . lsp-workspace-shutdown) + ("C-c C-c s" . lsp-rust-analyzer-status)) + :config + ;; uncomment for less flashiness + ;; (setq lsp-eldoc-hook nil) + ;; (setq lsp-enable-symbol-highlighting nil) + ;; (setq lsp-signature-auto-activate nil) + + ;; comment to disable rustfmt on save + (setq rustic-format-on-save t) + (add-hook 'rustic-mode-hook 'rk/rustic-mode-hook)) + +(defun rk/rustic-mode-hook () + ;; so that run C-c C-c C-r works without having to confirm, but don't try to + ;; save rust buffers that are not file visiting. Once + ;; https://github.com/brotzeit/rustic/issues/253 has been resolved this should + ;; no longer be necessary. + (when buffer-file-name + (setq-local buffer-save-without-query t)) + (add-hook 'before-save-hook 'lsp-format-buffer nil t)) + ;; GUI tweaks ;; Disable bars (no alcohol here.. maybe just a litle bit) (menu-bar-mode -1) diff --git a/home-manager/home/programs/firefox/default.nix b/home-manager/programs/firefox/default.nix index 58bd4c9..58bd4c9 100644 --- a/home-manager/home/programs/firefox/default.nix +++ b/home-manager/programs/firefox/default.nix diff --git a/home-manager/home/programs/firefox/user.js b/home-manager/programs/firefox/user.js index dac2158..dac2158 100644 --- a/home-manager/home/programs/firefox/user.js +++ b/home-manager/programs/firefox/user.js diff --git a/home-manager/home/programs/fish/default.nix b/home-manager/programs/fish/default.nix index f63fbc4..f63fbc4 100644 --- a/home-manager/home/programs/fish/default.nix +++ b/home-manager/programs/fish/default.nix diff --git a/home-manager/home/programs/ranger/commands.py b/home-manager/programs/ranger/commands.py index a41d42f..a41d42f 100644 --- a/home-manager/home/programs/ranger/commands.py +++ b/home-manager/programs/ranger/commands.py diff --git a/home-manager/programs/ranger/default.nix b/home-manager/programs/ranger/default.nix new file mode 100644 index 0000000..8e8ef1d --- /dev/null +++ b/home-manager/programs/ranger/default.nix @@ -0,0 +1,16 @@ +{ pkgs, ... }: +let + configFiles = { + "ranger/rc.conf".text = builtins.readFile ./rc.conf; + "ranger/rifle.conf".text = builtins.readFile ./rifle.conf; + "ranger/scope.sh".text = builtins.readFile ./scope.sh; + "ranger/commands.py".source = ./commands.py; + "ranger/plugins".source = ./plugins; + }; +in +{ + home.packages = [ pkgs.ranger ]; + xdg.configFile = { + inherit (configFiles); + }; +} diff --git a/home-manager/home/programs/ranger/plugins/__init__.py b/home-manager/programs/ranger/plugins/__init__.py index e69de29..e69de29 100644 --- a/home-manager/home/programs/ranger/plugins/__init__.py +++ b/home-manager/programs/ranger/plugins/__init__.py diff --git a/home-manager/home/programs/ranger/plugins/__pycache__/__init__.cpython-310.pyc b/home-manager/programs/ranger/plugins/__pycache__/__init__.cpython-310.pyc Binary files differindex 1a26aa3..1a26aa3 100644 --- a/home-manager/home/programs/ranger/plugins/__pycache__/__init__.cpython-310.pyc +++ b/home-manager/programs/ranger/plugins/__pycache__/__init__.cpython-310.pyc diff --git a/home-manager/home/programs/ranger/plugins/__pycache__/__init__.cpython-311.pyc b/home-manager/programs/ranger/plugins/__pycache__/__init__.cpython-311.pyc Binary files differindex 87b2e7f..87b2e7f 100644 --- a/home-manager/home/programs/ranger/plugins/__pycache__/__init__.cpython-311.pyc +++ b/home-manager/programs/ranger/plugins/__pycache__/__init__.cpython-311.pyc diff --git a/home-manager/home/programs/ranger/plugins/__pycache__/fd.cpython-311.pyc b/home-manager/programs/ranger/plugins/__pycache__/fd.cpython-311.pyc Binary files differindex 146af23..146af23 100644 --- a/home-manager/home/programs/ranger/plugins/__pycache__/fd.cpython-311.pyc +++ b/home-manager/programs/ranger/plugins/__pycache__/fd.cpython-311.pyc diff --git a/home-manager/home/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-310.pyc b/home-manager/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-310.pyc Binary files differindex 49d1db9..49d1db9 100644 --- a/home-manager/home/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-310.pyc +++ b/home-manager/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-310.pyc diff --git a/home-manager/home/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-311.pyc b/home-manager/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-311.pyc Binary files differindex 7b3ac1c..7b3ac1c 100644 --- a/home-manager/home/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-311.pyc +++ b/home-manager/programs/ranger/plugins/__pycache__/quit_cd_wd.cpython-311.pyc diff --git a/home-manager/home/programs/ranger/plugins/quit_cd_wd.py b/home-manager/programs/ranger/plugins/quit_cd_wd.py index e47837f..e47837f 100644 --- a/home-manager/home/programs/ranger/plugins/quit_cd_wd.py +++ b/home-manager/programs/ranger/plugins/quit_cd_wd.py diff --git a/home-manager/home/programs/ranger/plugins/ranger_fzf_filter/.gitignore b/home-manager/programs/ranger/plugins/ranger_fzf_filter/.gitignore index 846dc44..846dc44 100644 --- a/home-manager/home/programs/ranger/plugins/ranger_fzf_filter/.gitignore +++ b/home-manager/programs/ranger/plugins/ranger_fzf_filter/.gitignore diff --git a/home-manager/home/programs/ranger/plugins/ranger_fzf_filter/LICENSE b/home-manager/programs/ranger/plugins/ranger_fzf_filter/LICENSE index bd840f1..bd840f1 100644 --- a/home-manager/home/programs/ranger/plugins/ranger_fzf_filter/LICENSE +++ b/home-manager/programs/ranger/plugins/ranger_fzf_filter/LICENSE diff --git a/home-manager/home/programs/ranger/plugins/ranger_fzf_filter/README.md b/home-manager/programs/ranger/plugins/ranger_fzf_filter/README.md index 6a65e17..6a65e17 100644 --- a/home-manager/home/programs/ranger/plugins/ranger_fzf_filter/README.md +++ b/home-manager/programs/ranger/plugins/ranger_fzf_filter/README.md diff --git a/home-manager/home/programs/ranger/plugins/ranger_fzf_filter/__init__.py b/home-manager/programs/ranger/plugins/ranger_fzf_filter/__init__.py index b5d5b46..b5d5b46 100644 --- a/home-manager/home/programs/ranger/plugins/ranger_fzf_filter/__init__.py +++ b/home-manager/programs/ranger/plugins/ranger_fzf_filter/__init__.py diff --git a/home-manager/home/programs/ranger/plugins/ranger_fzf_filter/command.py b/home-manager/programs/ranger/plugins/ranger_fzf_filter/command.py index 92aee83..92aee83 100644 --- a/home-manager/home/programs/ranger/plugins/ranger_fzf_filter/command.py +++ b/home-manager/programs/ranger/plugins/ranger_fzf_filter/command.py diff --git a/home-manager/home/programs/ranger/plugins/ranger_fzf_filter/filter.py b/home-manager/programs/ranger/plugins/ranger_fzf_filter/filter.py index 3d12756..3d12756 100644 --- a/home-manager/home/programs/ranger/plugins/ranger_fzf_filter/filter.py +++ b/home-manager/programs/ranger/plugins/ranger_fzf_filter/filter.py diff --git a/home-manager/home/programs/ranger/rc.conf b/home-manager/programs/ranger/rc.conf index 271d239..271d239 100644 --- a/home-manager/home/programs/ranger/rc.conf +++ b/home-manager/programs/ranger/rc.conf diff --git a/home-manager/home/programs/ranger/rifle.conf b/home-manager/programs/ranger/rifle.conf index 3b565af..3b565af 100644 --- a/home-manager/home/programs/ranger/rifle.conf +++ b/home-manager/programs/ranger/rifle.conf diff --git a/home-manager/home/programs/ranger/scope.sh b/home-manager/programs/ranger/scope.sh index f9c7648..f9c7648 100755 --- a/home-manager/home/programs/ranger/scope.sh +++ b/home-manager/programs/ranger/scope.sh diff --git a/home-manager/home/programs/rofi/default.nix b/home-manager/programs/rofi/default.nix index 8d417ba..8d417ba 100644 --- a/home-manager/home/programs/rofi/default.nix +++ b/home-manager/programs/rofi/default.nix diff --git a/home-manager/home/programs/rofi/squared-material-pine.rasi b/home-manager/programs/rofi/squared-material-pine.rasi index 55434cf..55434cf 100644 --- a/home-manager/home/programs/rofi/squared-material-pine.rasi +++ b/home-manager/programs/rofi/squared-material-pine.rasi diff --git a/home-manager/services/default.nix b/home-manager/services/default.nix new file mode 100644 index 0000000..6c40af4 --- /dev/null +++ b/home-manager/services/default.nix @@ -0,0 +1,24 @@ +let + more = { pkgs, ... }: { + services = { + clipmenu.enable = true; + emacs = { + enable = true; + defaultEditor = true; + }; + polybar = { + enable = true; + package = pkgs.polybar.override { + pulseSupport = true; + }; + script = "polybar example &"; + }; + }; + }; +in +[ + ./picom + ./sxhkd + ./dunst + more +] diff --git a/home-manager/services/dunst/default.nix b/home-manager/services/dunst/default.nix new file mode 100644 index 0000000..1ed03f4 --- /dev/null +++ b/home-manager/services/dunst/default.nix @@ -0,0 +1,23 @@ +{ pkgs, ... }: +let + settings = { + global = { + origin = "bottom-right"; + frame_color = "#c4a7e7"; + notification_limit = 5; + progress_bar = true; + background = "#232136"; + foreground = "#e0def4"; + separator_color = "foreground"; + }; + }; + iconTheme = { + }; +in +{ + home.packages = [ pkgs.libnotify ]; + services.dunst = { + enable = true; + inherit settings; + }; +} diff --git a/home-manager/services/dunst/default.nix~ b/home-manager/services/dunst/default.nix~ new file mode 100644 index 0000000..e02ab35 --- /dev/null +++ b/home-manager/services/dunst/default.nix~ @@ -0,0 +1,14 @@ +let + settings = { + + }; + iconTheme = { + + }; +in +{ + services.dunst = { + enable = true; + inherit configFile iconTheme; + }; +} diff --git a/home-manager/home/services/picom/default.nix b/home-manager/services/picom/default.nix index 03e751d..1b02f49 100644 --- a/home-manager/home/services/picom/default.nix +++ b/home-manager/services/picom/default.nix @@ -3,15 +3,15 @@ let fading = true; fade-in-step = 0.05; fade-out-step = 0.05; - blur-background = true; + blur-background = false; corner-radius = 8; - blur = { - method = "dual_kawase"; - size = 12; - deviation = false; - strength = 2; - kern = "3x3box"; - }; + # blur = { + # method = "dual_kawase"; + # size = 12; + # deviation = false; + # strength = 2; + # kern = "3x3box"; + # }; backend = "glx"; vsync = true; mark = { diff --git a/home-manager/services/polybar/hide.fish b/home-manager/services/polybar/hide.fish new file mode 100755 index 0000000..f0a1a1b --- /dev/null +++ b/home-manager/services/polybar/hide.fish @@ -0,0 +1,10 @@ +if ls /tmp/polhide + polybar-msg cmd hide + sleep 0.1 + bspc config -m focused top_padding 3 + rm /tmp/polhide +else + polybar-msg cmd show + touch /tmp/polhide +end + diff --git a/home-manager/services/polybar/hide.fish~ b/home-manager/services/polybar/hide.fish~ new file mode 100644 index 0000000..31984e1 --- /dev/null +++ b/home-manager/services/polybar/hide.fish~ @@ -0,0 +1 @@ +#!/bin/env fish diff --git a/home-manager/services/polybar/hide~ b/home-manager/services/polybar/hide~ new file mode 100644 index 0000000..31984e1 --- /dev/null +++ b/home-manager/services/polybar/hide~ @@ -0,0 +1 @@ +#!/bin/env fish diff --git a/home-manager/home/services/sxhkd/default.nix b/home-manager/services/sxhkd/default.nix index 0f0d5e9..6b7878e 100644 --- a/home-manager/home/services/sxhkd/default.nix +++ b/home-manager/services/sxhkd/default.nix @@ -26,6 +26,7 @@ let "super + o" = "bspc node -m last -f"; # Send window to the last used monitor "super + ctrl + {1-9}" = "bspc node -o 0.{1-9}"; # Preselect the window ratio "super + ctrl + space" = "bspc node -p cancel"; # Cansel the preselected ratio + "super + n" = "fish ~/.nixfiles/home-manager/home/services/polybar/hide.fish"; }; keybindings = apps // bspwm; in diff --git a/home-manager/home/wm/bspwm/default.nix b/home-manager/wm/bspwm/default.nix index 1a8a863..8aab6d7 100644 --- a/home-manager/home/wm/bspwm/default.nix +++ b/home-manager/wm/bspwm/default.nix @@ -21,7 +21,6 @@ let }; startupPrograms = [ "picom -b" - "setxkbmap -option grp:alt_shift_toggle,grp:win_space_toggle us,ru" "emacs --daemon" "feh --bg-fill ~/dotfiles/cat.png" ]; diff --git a/home-manager/home/wm/default.nix b/home-manager/wm/default.nix index c604b9a..c604b9a 100644 --- a/home-manager/home/wm/default.nix +++ b/home-manager/wm/default.nix diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 7414d60..38e1cc2 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -1,201 +1,137 @@ -# 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’). +{ inputs, outputs, lib, config, pkgs, ... }: { + # You can import other NixOS modules here + imports = [ + # If you want to use modules your own flake exports (from modules/nixos): + # outputs.nixosModules.example + + # Or modules from other flakes (such as nixos-hardware): + # inputs.hardware.nixosModules.common-cpu-amd + # inputs.hardware.nixosModules.common-ssd + + ./hardware-configuration.nix + inputs.home-manager.nixosModules.home-manager + ]; -{ config, pkgs, inputs, outputs, ... }: + nixpkgs = { + overlays = [ + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.unstable-packages -{ - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - inputs.home-manager.nixosModules.home-manager + # You can also add overlays exported from other flakes: + # neovim-nightly-overlay.overlays.default ]; - - home-manager = { - extraSpecialArgs = { inherit inputs outputs; }; - useGlobalPkgs = true; - useUserPackages = true; - users.jerpo = import ../home-manager/home/home.nix; + config = { + allowUnfree = true; + }; }; - - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - networking.hostName = "ltrr"; # Define your hostname. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + nix = { + # This will add each flake input as a registry + # To make nix3 commands consistent with your flake + registry = lib.mapAttrs (_: value: { flake = value; }) inputs; - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + # This will additionally add your inputs to the system's legacy channels + # Making legacy nix commands consistent as well, awesome! + nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry; - # Enable networking - networking.networkmanager.enable = true; + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 1w"; + }; - # Set your time zone. - time.timeZone = "Asia/Yekaterinburg"; + settings = { + # Enable flakes and new 'nix' command + experimental-features = "nix-command flakes"; + # Deduplicate and optimize nix store + auto-optimise-store = true; + }; + }; - # Select internationalisation properties. - i18n.defaultLocale = "ru_RU.UTF-8"; - i18n.extraLocaleSettings = { - LC_ADDRESS = "ru_RU.UTF-8"; - LC_IDENTIFICATION = "ru_RU.UTF-8"; - LC_MEASUREMENT = "ru_RU.UTF-8"; - LC_MONETARY = "ru_RU.UTF-8"; - LC_NAME = "ru_RU.UTF-8"; - LC_NUMERIC = "ru_RU.UTF-8"; - LC_PAPER = "ru_RU.UTF-8"; - LC_TELEPHONE = "ru_RU.UTF-8"; - LC_TIME = "ru_RU.UTF-8"; + networking.hostName = "ltrr"; + + boot.loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; }; - # Enable the X11 windowing system. - services.xserver = { - enable = true; - displayManager.sddm = { + services = { + xserver = { enable = true; - theme = "sugar-dark"; + + # dm + displayManager = { + defaultSession = "none+bspwm"; + sddm = { + enable = true; + theme = "sugar-dark"; + }; + }; + + # wm + windowManager.bspwm.enable = true; + + # Layout + layout = "us,ru"; + xkbOptions = "grp:win_space_toggle,grp:alt_shift_toggle"; }; - # displayManager.startx.enable = true; - displayManager.defaultSession = "none+bspwm"; - desktopManager.gnome.enable = true; - windowManager.dwm.enable = true; - windowManager.bspwm.enable = true; - }; - # nixpkgs.overlays = [ - # (final: prev: { - # dwm = prev.dwm.overrideAttrs (oldAttrs: rec { - # patches = [ - # # Fibonacci for indle - # (prev.fetchpatch { - # url = "https://dwm.suckless.org/patches/fibonacci/dwm-fibonacci-6.2.diff"; - # sha256 = "12y4kknly5irwd6yhqj1zfr3h06hixi2p7ybjymhhhy0ixr7c49d"; - # }) - # # Dwmc for sxhkd - # (prev.fetchpatch { - # url = "https://dwm.suckless.org/patches/dwmc/dwm-dwmc-6.2.diff"; - # sha256 = "0k1cyjji7s4mwx7m9wk4kj0ax8yc1q9bpz3rjhkw45dz43r4vp4f"; - # }) - # # Attachaside - # (prev.fetchpatch { - # url = "https://dwm.suckless.org/patches/attachaside/dwm-attachaside-6.3.diff"; - # sha256 = "10kg93gvmpcjlx35624bhcvdpv8q8vkqpmckax2n0vr4bvrg4ipd"; - # }) - # ]; - # configFile = pkgs.writeText "config.def.h" (builtins.readFile ./dwm/config.h); - # postPatch = "${oldAttrs.postPatch}\n cp ${configFile} config.def.h"; - # }); - # }) - # ]; - - # Configure keymap in X11 - services.xserver = { - layout = "us,ru"; - xkbOptions = "grp:win_space_toggle"; - xkbVariant = ""; - }; - # Enable CUPS to print documents. - services.printing.enable = true; - - # Enable sound with pipewire. - sound.enable = true; - hardware.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - # If you want to use JACK applications, uncomment this - jack.enable = true; - - # use the example session manager (no others are packaged yet so this is enabled by default, - # no need to redefine it in your config for now) - #media-session.enable = true; - }; + # Printing + printing.enable = true; + printing.drivers = [ pkgs.hplipWithPlugin ]; + avahi = { + enable = true; + nssmdns = true; + openFirewall = true; + }; - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; + pipewire = { + enable = true; + alsa.enable = true; + pulse.enable = true; + jack.enable = true; + }; - # Define a user account. Don't forget to set a password with ‘passwd’. - programs.fish.enable = true; - users.defaultUserShell = pkgs.fish; - users.users.jerpo = { - isNormalUser = true; - description = "jerpo"; - extraGroups = [ "networkmanager" "wheel" ]; + v2raya.enable = true; }; - # Allow unfree packages - nixpkgs.config.allowUnfree = true; - nix.settings.auto-optimise-store = true; - - # List packages installed in system profile. To search, run: - # $ nix search wget environment.systemPackages = with pkgs; [ vim - wget - git - firefox - neovim - ripgrep - fd + git killall - fzf - silver-searcher - tldr - unzip - cmake - python3Full - nodejs_20 - xorg.xinit - gnumake - gcc btrfs-progs ntfs3g - libtool - jq - vkd3d - dxvk - wineWowPackages.full - wineWowPackages.fonts - winetricks - nvtop-nvidia - nix-prefetch-scripts - xkb-switch - pamixer - rustup + sddm-sugar-dark-theme ]; - services.v2raya.enable = true; - - # 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; + services.udisks2 = { + enable = true; + mountOnMedia = true; + }; + + i18n.defaultLocale = "ru_RU.UTF-8"; - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; + programs.fish.enable = true; + users.users = { + jerpo = { + isNormalUser = true; + shell = pkgs.fish; + openssh.authorizedKeys.keys = [ + # TODO: Add your SSH public key(s) here, if you plan on using SSH to connect + ]; + extraGroups = [ "networkmanager" "wheel" ]; + }; + }; - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "23.05"; # Did you read the comment? + home-manager = { + extraSpecialArgs = { inherit inputs outputs; }; + useGlobalPkgs = true; + useUserPackages = true; + users.jerpo = import ../home-manager/home.nix; + }; + # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion + system.stateVersion = "23.05"; } diff --git a/nixos/hardware-configuration.nix b/nixos/hardware-configuration.nix index 8d69197..e173cbd 100644 --- a/nixos/hardware-configuration.nix +++ b/nixos/hardware-configuration.nix @@ -10,7 +10,7 @@ boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ata_piix" "usb_storage" "usbhid" "sd_mod" ]; boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; + boot.kernelModules = [ "kvm-intel" "v4l2loopback" ]; boot.extraModulePackages = [ ]; fileSystems."/" = diff --git a/pkgs/default.nix b/pkgs/default.nix index 8580f6d..281bcf9 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,7 +1,4 @@ -# Custom packages, that can be defined similarly to ones from nixpkgs -# You can build them using 'nix build .#example' or (legacy) 'nix-build -A example' - -{ pkgs ? (import ../nixpkgs.nix) { } }: { - # example = pkgs.callPackage ./example { }; - sddm-sugar-dark-theme = pkgs.libsForQt5.callPackage ./sddm-sugar-dark { }; +{ pkgs ? import <nixpkgs> { } }: { + sddm-sugar-dark-theme = pkgs.libsForQt5.callPackage ./sddm-sugar-dark-theme { }; + minicava = pkgs.callPackage ./minicava { }; } diff --git a/pkgs/minicava/default.nix b/pkgs/minicava/default.nix new file mode 100644 index 0000000..800dab3 --- /dev/null +++ b/pkgs/minicava/default.nix @@ -0,0 +1,41 @@ +{ lib +, stdenv +, fetchFromGitHub +, makeWrapper +, cava +, gnused +}: + +with lib; + +stdenv.mkDerivation { + pname = "minicava"; + version = "0.1"; + src = fetchFromGitHub { + owner = "Misterio77"; + repo = "minicava"; + rev = "c24681fe7c91548e0fb4f55a1882b0145c48d097"; + sha256 = "sha256-t+NHZP2I7clDHrnCDdYMaLcua7inVKm2t3aYZ3uBAlk="; + }; + + dontBuild = true; + dontConfigure = true; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + install -Dm 0755 minicava.sh $out/bin/minicava + wrapProgram $out/bin/minicava --set PATH \ + "${makeBinPath [ + cava + gnused + ]}" + ''; + + meta = { + description = "A miniature cava sound visualizer"; + homepage = "https://github.com/Misterio77/minicava"; + license = licenses.mit; + platforms = platforms.all; + }; +} diff --git a/pkgs/sddm-sugar-dark/default.nix b/pkgs/sddm-sugar-dark-theme/default.nix index 6d06ac1..6d06ac1 100644 --- a/pkgs/sddm-sugar-dark/default.nix +++ b/pkgs/sddm-sugar-dark-theme/default.nix |
