diff --git a/README.org b/README.org index 10eb660..1d0a9cc 100644 --- a/README.org +++ b/README.org @@ -4,6 +4,12 @@ * Welcome This repository contains all of my dotfiles to the many programs I like to use on Linux. This is primarily built with NixOS and Emacs. This is done through literate programming. So basically this README file has all the source code for the entire system. (or at least it will once I get it all finished) +As is common in org-mode literate programming, I'm using a feature of org-mode to bring in config that exists elsewhere called org-babel tangle and noweb. The syntax =<>= brings in the named blocks that are above. Meaning that through this single document I can consolidate configuration. This may not work for you, but I prefer it. + +You will see the blocks to be brought into the bracket syntax by a named section like #+NAME: ... + +This creates files that have everything in them, making them bigger and maybe filled with more things, but makes this document much easier to read and easier for me to handle things. Again, if this doesn't work for you, sorry it's just the way that I like to do it. + * NixOS The biggest part of this is through NixOS. NixOS is a declarative way of building an OS for Linux and allows an immutable and reproducible system. I really like that last part. I enjoy my config to be the same no matter how many machines I place it on. I'd also one day like this to be modular so that I'll have some switches that can turn on and off certain features. @@ -69,23 +75,206 @@ Both include the home-manager module. Primarily I chose that route so that I cou } #+end_src +** General +All my machines have these settings. + +Every machine has it's own hardware config/ +#+NAME: hardware +#+begin_src nix +imports = + [ + ./hardware-configuration.nix + ]; +#+end_src + +Let's make sure all the machines have their pkgs setup to be unstable and using the flake system. + +#+NAME: experimental-features +#+begin_src nix +nix = { + extraOptions = "experimental-features = nix-command flakes"; + package = pkgs.nixFlakes; +}; +#+end_src + +I use plasma and awesome mostly as my desktop. +#+NAME: desktop +#+begin_src nix +services.xserver = { + enable = true; + windowManager.awesome = { + enable = true; + package = pkgs.myAwesome; + }; + displayManager.sddm.enable = true; + desktopManager.plasma5.enable = true; +}; +#+end_src + +To use pipewire there are some specific setup pieces that I like to have. +#+NAME: pipewire +#+begin_src nix +# Enable sound. +security.rtkit.enable = true; +services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + wireplumber.enable = true; +}; + +# Needed for some pipewire progs +programs.dconf.enable = true; +#+end_src + +Here are a list of packages that I like to have on all machines. +#+NAME: general-packages +#+begin_src nix +vim +wget +killall +discover +lightly-qt +pinentry +pinentry-qt +unzip +unrar +p7zip +zip +gzip +usbutils +binutils +hunspell +hunspellDicts.en_US +git +openssh +samba +ark +dash +kget +krename +kwallet-pam +plasma5Packages.kwallet +libimobiledevice +sddm-kcm +ydotool +bottles +exa +mpv +yt-dlp +rofi-emoji +nerdfonts +latte-dock +bat +alacritty +libsForQt5.bismuth +libnotify +rofi-wayland +ripgrep +fd +plocate +bc +sysstat +procs +pandoc +papirus-icon-theme +phinger-cursors +plasma-hud +kde-cli-tools +gzip +htop +btop +firefox +kate +kdialog +openlp +libreoffice-fresh +vlc +neochat +haskellPackages.greenclip +pulsemixer +any-nix-shell +wtype +xdotool +unclutter-xfixes +qt5ct +lxappearance +spotdl +kdenlive +ffmpeg +wlroots +#+end_src + +Here are some dev tools that I often have on a few devices. +#+NAME: dev-tools +#+begin_src nix +nix-index +meson +ninja +gnumake +gcc +gdb +clang +cmake +extra-cmake-modules +pkg-config +# LIBRARIES FOR DEV +qt5.qtbase +qt5.qtquickcontrols2 +qt5.qtx11extras +libsForQt5.kirigami2 +libsForQt5.ki18n +libsForQt5.kcoreaddons +fennel +#+end_src + +Here are the two main overlays I like to use. One for Emacs and another for the AwesomeWM. +#+NAME: overlays +#+begin_src nix +nixpkgs.overlays = [ + + (import (builtins.fetchTarball { + url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz; + sha256 = "1pd14gigm5bznzd8k88dq9scicw1zqknm87bnqmd0z556g9ir60f"; + })) + + (self: super: + { + myAwesome = super.awesome.overrideAttrs (old: rec { + pname = "myAwesome"; + version = "git-20220508-c539e0e"; + src = super.fetchFromGitHub { + owner = "awesomeWM"; + repo = "awesome"; + rev = "c539e0e4350a42f813952fc28dd8490f42d934b3"; + sha256 = "EDAL7NnLF2BiVI8DAlEciiZtDmwXOzCPypGTrlN/OoQ="; + }; + }); + } + ) +]; +#+end_src + +Emacs service +#+NAME: emacs +#+begin_src nix +services.emacs = { + enable = true; + package = with pkgs; ((emacsPackagesFor emacsPgtkNativeComp).emacsWithPackages (epkgs: [ epkgs.vterm epkgs.magit epkgs.pdf-tools ])); +}; +#+end_src + ** Syl Syl is my laptop and has some configuration unique to that. In particular, it's a Framework Laptop. Honestly a great piece of tech. Love it. Notice how I am including all of my software here. It may be a big file, but having all of it in one place means I can easily grok through it and remove something. -#+begin_src nix :tangle system/syl/configuration.nix +#+begin_src nix :tangle system/syl/configuration.nix :noweb yes { config, pkgs, callPackage, ... }: { - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; - - nix = { - extraOptions = "experimental-features = nix-command flakes"; - package = pkgs.nixFlakes; - }; + <> + <> # Use the systemd-boot EFI boot loader. boot.kernelPackages = pkgs.linuxPackages_zen; @@ -112,6 +301,7 @@ Notice how I am including all of my software here. It may be a big file, but hav i18n.defaultLocale = "en_US.UTF-8"; # Set default shell to be dash for speed + # Apparently this is bad because a lot of nix relies on bash # environment.binsh = "${pkgs.dash}/bin/dash"; environment.variables = { EDITOR = "emacsclient -t"; @@ -133,18 +323,8 @@ Notice how I am including all of my software here. It may be a big file, but hav libvdpau-va-gl ]; }; - # Enable the X11 windowing system. - services.xserver = { - enable = true; - windowManager.awesome = { - enable = true; - package = pkgs.myAwesome; - }; - }; - # Enable the Plasma 5 Desktop Environment. - services.xserver.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; + <> # Configure keymap in X11 services.xserver.layout = "us"; @@ -154,21 +334,10 @@ Notice how I am including all of my software here. It may be a big file, but hav services.printing.enable = true; services.printing.drivers = [ pkgs.gutenprint pkgs.gutenprintBin pkgs.hplipWithPlugin ]; - # Enabel fingerprint + # Enable fingerprint services.fprintd.enable = true; - # Enable sound. - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - wireplumber.enable = true; - }; - - # Needed for some pipewire progs - programs.dconf.enable = true; + <> # Turn on flatpak services.flatpak.enable = true; @@ -218,122 +387,25 @@ Notice how I am including all of my software here. It may be a big file, but hav # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ - vim - wget - killall - discover - lightly-qt - pinentry - pinentry-qt - unzip - unrar - p7zip - zip - gzip - usbutils - binutils - hunspell - hunspellDicts.en_US - git - openssh - samba - ark - dash - kget - krename - kwallet-pam - plasma5Packages.kwallet - libimobiledevice - sddm-kcm - ydotool - bottles - exa - mpv - yt-dlp - rofi-emoji - nerdfonts - latte-dock - bat - libsForQt5.bismuth - libnotify - rofi-wayland - ripgrep - fd - plocate - bc - sysstat - procs - pandoc - papirus-icon-theme - phinger-cursors - plasma-hud - kde-cli-tools - macchina - gzip - htop - btop - firefox - kate - kdialog - openlp - libreoffice-fresh - vlc - neochat - haskellPackages.greenclip - pulsemixer - any-nix-shell - wtype - spotdl - kdenlive - ffmpeg + <> neofetch - xdotool + afetch + uwufetch + screenfetch + yafetch + freshfetch + disfetch + bunnyfetch + pfetch + fet-sh + macchina # Dev tools - nix-index - meson - ninja - gnumake - gcc - gdb - clang - cmake - extra-cmake-modules - pkg-config - # Libraries - qt5.qtbase - qt5.qtquickcontrols2 - qt5.qtx11extras - libsForQt5.kirigami2 - libsForQt5.ki18n - libsForQt5.kcoreaddons - fennel + <> ]; - # EMACS - services.emacs.package = with pkgs; ((emacsPackagesFor emacsPgtkNativeComp).emacsWithPackages (epkgs: [ epkgs.vterm epkgs.magit epkgs.pdf-tools ])); - nixpkgs.overlays = [ + <> - (import (builtins.fetchTarball { - url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz; - sha256 = "1pd14gigm5bznzd8k88dq9scicw1zqknm87bnqmd0z556g9ir60f"; - })) - - (self: super: - { - myAwesome = super.awesome.overrideAttrs (old: rec { - pname = "myAwesome"; - version = "git-20220508-c539e0e"; - src = super.fetchFromGitHub { - owner = "awesomeWM"; - repo = "awesome"; - rev = "c539e0e4350a42f813952fc28dd8490f42d934b3"; - sha256 = "EDAL7NnLF2BiVI8DAlEciiZtDmwXOzCPypGTrlN/OoQ="; - }; - }); - } - ) - ]; - services.emacs.enable = true; + <> # Some programs need SUID wrappers, can be configured further or are # started in user sessions. @@ -425,19 +497,12 @@ Now in the =hardware-configuration.nix= file, I didn't change much because I wan ** Kaladin Kaladin is my desktop machine. A powerhouse for the most part with a recent i7 and 64gb of memory and an Nvidia 1080. Basically I use this for video editing, animation, and some other things. Here is it's configuration. -#+begin_src nix :tangle system/kaladin/configuration.nix +#+begin_src nix :tangle system/kaladin/configuration.nix :noweb yes { config, pkgs, ... }: { - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; - - nix = { - extraOptions = "experimental-features = nix-command flakes"; - package = pkgs.nixFlakes; - }; + <> + <> # Use the systemd-boot EFI boot loader. boot.kernelPackages = pkgs.linuxPackages_zen; @@ -473,12 +538,7 @@ Kaladin is my desktop machine. A powerhouse for the most part with a recent i7 a services.xserver.videoDrivers = [ "nvidia" ]; hardware.opengl.enable = true; - # Enable the X11 windowing system. - services.xserver.enable = true; - - # Enable the Plasma 5 Desktop Environment. - services.xserver.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; + <> # Configure keymap in X11 services.xserver.layout = "us"; @@ -488,32 +548,15 @@ Kaladin is my desktop machine. A powerhouse for the most part with a recent i7 a services.printing.enable = true; services.printing.drivers = [ pkgs.gutenprint pkgs.gutenprintBin pkgs.hplipWithPlugin ]; - # Enabel fingerprint - services.fprintd.enable = true; - - # Enable sound. - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - wireplumber.enable = true; - }; - - # Needed for some pipewire progs - programs.dconf.enable = true; - + <> + # Turn on flatpak services.flatpak.enable = true; services.usbmuxd.enable = true; services.fstrim.enable = true; - # Enable touchpad support (enabled default in most desktopManager). - services.xserver.libinput.enable = true; - - #programs.fish.enable = true; + programs.fish.enable = true; programs.zsh.enable = true; # Define a user account. Don't forget to set a password with ‘passwd’. users.users.chris = { @@ -535,123 +578,16 @@ Kaladin is my desktop machine. A powerhouse for the most part with a recent i7 a # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ - vim - wget - killall - discover - lightly-qt - pinentry - pinentry-qt - unzip - unrar - p7zip - zip - gzip - usbutils - binutils - hunspell - hunspellDicts.en_US - git - openssh - samba - ark - dash - kget - krename - kwallet-pam - plasma5Packages.kwallet - libimobiledevice - sddm-kcm - ydotool - bottles - exa - mpv - yt-dlp - rofi-emoji - nerdfonts - latte-dock - bat - libsForQt5.bismuth - libnotify - rofi-wayland - ripgrep - fd - plocate - bc - sysstat - procs - pandoc - papirus-icon-theme - phinger-cursors - plasma-hud - kde-cli-tools - macchina - gzip - htop - btop - firefox - kate - kdialog - openlp - libreoffice-fresh - vlc - neochat - haskellPackages.greenclip - pulsemixer - any-nix-shell - wtype - spotdl - kdenlive + <> blender - ffmpeg neofetch - xdotool # Dev tools - nix-index - meson - ninja - gnumake - gcc - gdb - clang - cmake - extra-cmake-modules - pkg-config - # Libraries - qt5.qtbase - qt5.qtquickcontrols2 - qt5.qtx11extras - libsForQt5.kirigami2 - libsForQt5.ki18n - libsForQt5.kcoreaddons - fennel + <> ]; - # EMACS - services.emacs.package = with pkgs; ((emacsPackagesFor emacsPgtkNativeComp).emacsWithPackages (epkgs: [ epkgs.vterm epkgs.magit epkgs.pdf-tools ])); - nixpkgs.overlays = [ + <> - (import (builtins.fetchTarball { - url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz; - sha256 = "1pd14gigm5bznzd8k88dq9scicw1zqknm87bnqmd0z556g9ir60f"; - })) - - (self: super: - { - myAwesome = super.awesome.overrideAttrs (old: rec { - pname = "myAwesome"; - version = "git-20220508-c539e0e"; - src = super.fetchFromGitHub { - owner = "awesomeWM"; - repo = "awesome"; - rev = "c539e0e4350a42f813952fc28dd8490f42d934b3"; - sha256 = "EDAL7NnLF2BiVI8DAlEciiZtDmwXOzCPypGTrlN/OoQ="; - }; - }); - } - ) - ]; - services.emacs.enable = true; + <> # Some programs need SUID wrappers, can be configured further or are # started in user sessions. @@ -722,6 +658,7 @@ And here is it's hardware config. #+end_src Kaladin is still not fullly setup, so I'll be working on that more and more as time goes. + * Thanks! * EXTRA diff --git a/flake.lock b/flake.lock index 54e49c3..906ef5d 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1651886851, - "narHash": "sha256-kbXOJSf1uho0/7P54nZkJdJY3oAelIjyc6tfiRhaXJI=", + "lastModified": 1652452043, + "narHash": "sha256-nh3mdVB/Kk5ag1uRMAlKo8r+ssN3HNxwbLsqRG4xZkw=", "owner": "nix-community", "repo": "home-manager", - "rev": "882bd8118bdbff3a6e53e5ced393932b351ce2f6", + "rev": "273598f53e04f0111dca5724b37640e3907edaaf", "type": "github" }, "original": { @@ -23,11 +23,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1651726670, - "narHash": "sha256-dSGdzB49SEvdOJvrQWfQYkAefewXraHIV08Vz6iDXWQ=", + "lastModified": 1652467128, + "narHash": "sha256-1wuQ7QgPQ3tugYcoVMJ3pUzl4wVdBzKZr9qtJAgA4VI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c777cdf5c564015d5f63b09cc93bef4178b19b01", + "rev": "fb222e008681fce4608e94f2d1dfdf3d03a364c4", "type": "github" }, "original": { diff --git a/rofi/config.rasi b/rofi/config.rasi index fbf402b..dc05d0b 100644 --- a/rofi/config.rasi +++ b/rofi/config.rasi @@ -4,9 +4,9 @@ configuration { icon-theme: "Papirus"; - terminal: "alacritty"; + terminal: "konsole"; sidebar-mode: true; - /* run-command: "fish -c {cmd}"; */ + run-command: "bash -c {cmd}"; run-list-command: "fish -c functions"; display-drun: " "; display-run: " "; @@ -15,14 +15,14 @@ configuration { threads: 0; scroll-method: 0; disable-history: false; - kb-accept-entry: "Return"; - kb-remove-to-eol: "Control-D"; - kb-remove-char-back: "BackSpace"; - kb-mode-complete: "Control-M"; + kb-accept-entry: "Return"; + kb-remove-to-eol: "Control-D"; + kb-remove-char-back: "BackSpace"; + kb-mode-complete: "Control-M"; kb-row-down: "Control-j"; kb-row-up: "Control-k"; - kb-row-left: "Control-h"; - kb-row-right: "Control-l"; + kb-row-left: "Control-h"; + kb-row-right: "Control-l"; timeout { delay: 15; action: "kb-cancel"; @@ -60,7 +60,7 @@ configuration { window { background-color: @base00; text-color: @base05; - /* transparency: "real"; */ + /* transparency: "real"; */ border-radius: 20px; border: 0px; width: 60%; @@ -74,14 +74,14 @@ window { mainbox { border-radius: 16; - /* background-color: @transparent; */ + /* background-color: @transparent; */ background-color: @base00; text-color: @base05; transparency: "real"; } inputbar { - /* background-color: @transparent; */ + /* background-color: @transparent; */ background-color: @base00; text-color: @base05; expand: false; @@ -94,7 +94,7 @@ inputbar { prompt { enabled: true; padding: 0px 6px 0px 5px; - /* background-color: @transparent; */ + /* background-color: @transparent; */ background-color: @base00; text-color: @base05; border: 0px; @@ -102,7 +102,7 @@ prompt { } entry { - /* background-color: @transparent; */ + /* background-color: @transparent; */ background-color: @base00; placeholder-color: @base05; text-color: @base05; @@ -127,7 +127,7 @@ sidebar { } mainbox { - /* background-color: @base00t; */ + /* background-color: @base00t; */ background-color: @base00; text-color: @transparent; children: [ inputbar, listview, message ]; diff --git a/rofi/rofi.rasi b/rofi/rofi.rasi index db6ac9d..74dbaac 100644 --- a/rofi/rofi.rasi +++ b/rofi/rofi.rasi @@ -5,7 +5,7 @@ configuration { show-icons: true; icon-theme: "Papirus"; - terminal: "alacritty"; + terminal: "konsole"; sidebar-mode: true; run-command: "bash -c {cmd}"; run-list-command: "fish -c functions"; diff --git a/system/kaladin/configuration.nix b/system/kaladin/configuration.nix index d69fb3a..3c1f056 100644 --- a/system/kaladin/configuration.nix +++ b/system/kaladin/configuration.nix @@ -2,10 +2,9 @@ { imports = - [ # Include the results of the hardware scan. + [ ./hardware-configuration.nix ]; - nix = { extraOptions = "experimental-features = nix-command flakes"; package = pkgs.nixFlakes; @@ -45,12 +44,15 @@ services.xserver.videoDrivers = [ "nvidia" ]; hardware.opengl.enable = true; - # Enable the X11 windowing system. - services.xserver.enable = true; - - # Enable the Plasma 5 Desktop Environment. - services.xserver.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; + services.xserver = { + enable = true; + windowManager.awesome = { + enable = true; + package = pkgs.myAwesome; + }; + displayManager.sddm.enable = true; + desktopManager.plasma5.enable = true; + }; # Configure keymap in X11 services.xserver.layout = "us"; @@ -60,9 +62,6 @@ services.printing.enable = true; services.printing.drivers = [ pkgs.gutenprint pkgs.gutenprintBin pkgs.hplipWithPlugin ]; - # Enabel fingerprint - services.fprintd.enable = true; - # Enable sound. security.rtkit.enable = true; services.pipewire = { @@ -72,20 +71,17 @@ pulse.enable = true; wireplumber.enable = true; }; - + # Needed for some pipewire progs programs.dconf.enable = true; - + # Turn on flatpak services.flatpak.enable = true; services.usbmuxd.enable = true; services.fstrim.enable = true; - # Enable touchpad support (enabled default in most desktopManager). - services.xserver.libinput.enable = true; - - #programs.fish.enable = true; + programs.fish.enable = true; programs.zsh.enable = true; # Define a user account. Don't forget to set a password with ‘passwd’. users.users.chris = { @@ -143,6 +139,7 @@ nerdfonts latte-dock bat + alacritty libsForQt5.bismuth libnotify rofi-wayland @@ -157,7 +154,6 @@ phinger-cursors plasma-hud kde-cli-tools - macchina gzip htop btop @@ -172,12 +168,15 @@ pulsemixer any-nix-shell wtype + xdotool + qt5ct + lxappearance spotdl kdenlive - blender ffmpeg + wlroots + blender neofetch - xdotool # Dev tools nix-index meson @@ -189,7 +188,7 @@ cmake extra-cmake-modules pkg-config - # Libraries + # LIBRARIES FOR DEV qt5.qtbase qt5.qtquickcontrols2 qt5.qtx11extras @@ -199,15 +198,13 @@ fennel ]; - # EMACS - services.emacs.package = with pkgs; ((emacsPackagesFor emacsPgtkNativeComp).emacsWithPackages (epkgs: [ epkgs.vterm epkgs.magit epkgs.pdf-tools ])); nixpkgs.overlays = [ - + (import (builtins.fetchTarball { url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz; sha256 = "1pd14gigm5bznzd8k88dq9scicw1zqknm87bnqmd0z556g9ir60f"; })) - + (self: super: { myAwesome = super.awesome.overrideAttrs (old: rec { @@ -223,7 +220,11 @@ } ) ]; - services.emacs.enable = true; + + services.emacs = { + enable = true; + package = with pkgs; ((emacsPackagesFor emacsPgtkNativeComp).emacsWithPackages (epkgs: [ epkgs.vterm epkgs.magit epkgs.pdf-tools ])); + }; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. diff --git a/system/syl/configuration.nix b/system/syl/configuration.nix index 16cd331..4c13ee4 100644 --- a/system/syl/configuration.nix +++ b/system/syl/configuration.nix @@ -2,10 +2,9 @@ { imports = - [ # Include the results of the hardware scan. + [ ./hardware-configuration.nix ]; - nix = { extraOptions = "experimental-features = nix-command flakes"; package = pkgs.nixFlakes; @@ -36,6 +35,7 @@ i18n.defaultLocale = "en_US.UTF-8"; # Set default shell to be dash for speed + # Apparently this is bad because a lot of nix relies on bash # environment.binsh = "${pkgs.dash}/bin/dash"; environment.variables = { EDITOR = "emacsclient -t"; @@ -57,18 +57,16 @@ libvdpau-va-gl ]; }; - # Enable the X11 windowing system. + services.xserver = { enable = true; windowManager.awesome = { enable = true; package = pkgs.myAwesome; }; + displayManager.sddm.enable = true; + desktopManager.plasma5.enable = true; }; - - # Enable the Plasma 5 Desktop Environment. - services.xserver.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; # Configure keymap in X11 services.xserver.layout = "us"; @@ -78,7 +76,7 @@ services.printing.enable = true; services.printing.drivers = [ pkgs.gutenprint pkgs.gutenprintBin pkgs.hplipWithPlugin ]; - # Enabel fingerprint + # Enable fingerprint services.fprintd.enable = true; # Enable sound. @@ -90,7 +88,7 @@ pulse.enable = true; wireplumber.enable = true; }; - + # Needed for some pipewire progs programs.dconf.enable = true; @@ -178,6 +176,7 @@ nerdfonts latte-dock bat + alacritty libsForQt5.bismuth libnotify rofi-wayland @@ -192,7 +191,6 @@ phinger-cursors plasma-hud kde-cli-tools - macchina gzip htop btop @@ -207,11 +205,24 @@ pulsemixer any-nix-shell wtype + xdotool + qt5ct + lxappearance spotdl kdenlive ffmpeg + wlroots neofetch - xdotool + afetch + uwufetch + screenfetch + yafetch + freshfetch + disfetch + bunnyfetch + pfetch + fet-sh + macchina # Dev tools nix-index meson @@ -223,7 +234,7 @@ cmake extra-cmake-modules pkg-config - # Libraries + # LIBRARIES FOR DEV qt5.qtbase qt5.qtquickcontrols2 qt5.qtx11extras @@ -233,15 +244,13 @@ fennel ]; - # EMACS - services.emacs.package = with pkgs; ((emacsPackagesFor emacsPgtkNativeComp).emacsWithPackages (epkgs: [ epkgs.vterm epkgs.magit epkgs.pdf-tools ])); nixpkgs.overlays = [ - + (import (builtins.fetchTarball { url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz; sha256 = "1pd14gigm5bznzd8k88dq9scicw1zqknm87bnqmd0z556g9ir60f"; })) - + (self: super: { myAwesome = super.awesome.overrideAttrs (old: rec { @@ -257,7 +266,11 @@ } ) ]; - services.emacs.enable = true; + + services.emacs = { + enable = true; + package = with pkgs; ((emacsPackagesFor emacsPgtkNativeComp).emacsWithPackages (epkgs: [ epkgs.vterm epkgs.magit epkgs.pdf-tools ])); + }; # Some programs need SUID wrappers, can be configured further or are # started in user sessions.