diff --git a/SwarselSystems.org b/SwarselSystems.org
index c7100d9..54f46d5 100644
--- a/SwarselSystems.org
+++ b/SwarselSystems.org
@@ -507,9 +507,23 @@ Lastly I define some common module lists that I can simply load depending on the
"x86_64-darwin"
];
+ # pkgs for home-manager builds
+ homepkgs = import nixpkgs { system = "x86_64-linux";
+ overlays = [ emacs-overlay.overlay
+ nur.overlay
+ nixgl.overlay
+ (final: _prev: {
+ stable = import nixpkgs-stable {
+ inherit (final) system config;
+ };
+ })
+ ];
+ config.allowUnfree = true;
+ };
+
# NixOS modules that can only be used on NixOS systems
nixModules = [
- ({ ... }: { nix.extraOptions = "experimental-features = nix-command flakes"; })
+ (_: { nix.extraOptions = "experimental-features = nix-command flakes"; })
({ inputs, config, ... }: {
nixpkgs = {
overlays = [
@@ -717,9 +731,10 @@ In contrast, this defines home-manager systems, which I only have one of.
#+begin_src nix :tangle no :noweb-ref flakehomeconf
- "leons@PCisLee" = inputs.home-manager.lib.homeManagerConfiguration {
+ "swarsel@home-manager" = inputs.home-manager.lib.homeManagerConfiguration {
+ pkgs = homepkgs;
modules = homeModules ++ mixedModules ++ [
- ./profiles/surface/home.nix
+ ./profiles/home-manager/home.nix
];
};
@@ -1789,6 +1804,126 @@ in
}
#+end_src
+
+**** Home-manager only
+***** Home manager
+:PROPERTIES:
+:CUSTOM_ID: h:483a26b5-5a40-4417-9ffb-67cc2cf07161
+:END:
+
+Special things to note here: We are running xcape to allow =CAPS= to act as =CTRL= and =ESC=. Also we are using =nixGL= in most places.
+
+#+begin_src nix :noweb yes :tangle profiles/home-manager/home.nix
+
+ { config, pkgs, lib, fetchFromGitHub, ... }:
+
+ {
+ programs.home-manager.enable = true;
+ home.username = "swarsel";
+ home.homeDirectory = "/home/swarsel";
+
+ home.stateVersion = "23.05"; # Please read the comment before changing.
+
+ stylix.image = ../../wallpaper/surfacewp.png;
+ <
-This file has 41470 words spanning 11046 lines and was last revised on 2024-07-21 15:56:32 +0200.
+This file has 41828 words spanning 11181 lines and was last revised on 2024-07-21 17:55:27 +0200.
@@ -446,7 +446,7 @@ Table of Contents
-Table of Contents
Table of Contents
Table of Contents
Table of Contents
1
-My emacs is built using the emacs-overlay nix flake, which builds a bleeding edge emacs on wayland (pgtk) with utilities like treesitter support. By executing the below source block, the current build setting can be updated at any time, and you can see my most up-to-date build options (last updated: 2024-07-21 15:56:32 +0200) +My emacs is built using the emacs-overlay nix flake, which builds a bleeding edge emacs on wayland (pgtk) with utilities like treesitter support. By executing the below source block, the current build setting can be updated at any time, and you can see my most up-to-date build options (last updated: 2024-07-21 17:55:27 +0200)
@@ -1021,9 +1021,23 @@@@ -1240,9 +1254,10 @@2
+-"leons@PCisLee" = inputs.home-manager.lib.homeManagerConfiguration { +"swarsel@home-manager" = inputs.home-manager.lib.homeManagerConfiguration { + pkgs = homepkgs; modules = homeModules ++ mixedModules ++ [ - ./profiles/surface/home.nix + ./profiles/home-manager/home.nix ]; }; @@ -2440,6 +2455,175 @@+3 }; } +
+Special things to note here: We are running xcape to allow CAPS
to act as CTRL
and ESC
. Also we are using nixGL
in most places.
+
+{ config, pkgs, lib, fetchFromGitHub, ... }: + +{ + programs.home-manager.enable = true; + home.username = "swarsel"; + home.homeDirectory = "/home/swarsel"; + + home.stateVersion = "23.05"; # Please read the comment before changing. + + stylix.image = ../../wallpaper/surfacewp.png; + + stylix = { + enable = true; + base16Scheme = ../../wallpaper/swarsel.yaml; + # base16Scheme = "${pkgs.base16-schemes}/share/themes/shapeshifter.yaml"; + polarity = "dark"; + opacity.popups = 0.5; + cursor = { + package = pkgs.capitaine-cursors; + name = "capitaine-cursors"; + size = 16; + }; + fonts = { + sizes = { + terminal = 10; + applications = 11; + }; + serif = { + # package = (pkgs.nerdfonts.override { fonts = [ "FiraMono" "FiraCode"]; }); + package = pkgs.cantarell-fonts; + # package = pkgs.montserrat; + name = "Cantarell"; + # name = "FiraCode Nerd Font Propo"; + # name = "Montserrat"; + }; + + sansSerif = { + # package = (pkgs.nerdfonts.override { fonts = [ "FiraMono" "FiraCode"]; }); + package = pkgs.cantarell-fonts; + # package = pkgs.montserrat; + name = "Cantarell"; + # name = "FiraCode Nerd Font Propo"; + # name = "Montserrat"; + }; + + monospace = { + package = pkgs.nerdfonts.override { fonts = [ "FiraCode" ]; }; + name = "FiraCode Nerd Font Mono"; + }; + + emoji = { + package = pkgs.noto-fonts-emoji; + name = "Noto Color Emoji"; + }; + }; + }; + + + nixpkgs = { + config = { + allowUnfree = true; + allowUnfreePredicate = _: true; + }; + }; + services.xcape = { + enable = true; + mapExpression = { + Control_L = "Escape"; + }; + }; + #keyboard config + home.keyboard.layout = "us"; + + sops.age.sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/sops" ]; + + # waybar config + programs.waybar.settings.mainBar.cpu.format = "{icon0} {icon1} {icon2} {icon3}"; + + programs.waybar.settings.mainBar.temperature.hwmon-path = "/sys/devices/platform/coretemp.0/hwmon/hwmon3/temp3_input"; + programs.waybar.settings.mainBar.modules-right = ["custom/outer-left-arrow-dark" "mpris" "custom/left-arrow-light" + "network" + "custom/left-arrow-dark" + "pulseaudio" + "custom/left-arrow-light" + "battery" + "custom/left-arrow-dark" + "temperature" + "custom/left-arrow-light" + "disk" + "custom/left-arrow-dark" + "memory" + "custom/left-arrow-light" + "cpu" + "custom/left-arrow-dark" + "tray" + "custom/left-arrow-light" + "clock#2" + "custom/left-arrow-dark" + "clock#1" ]; + services.blueman-applet.enable = true; + home.packages = with pkgs; [ + # nixgl.auto.nixGLDefault + evince + # nodejs_20 + + # messaging + # we use gomuks for RAM preservation, but keep schildi around for files and images + ]; + + programs.zsh.initExtra = " +export GPG_TTY=\"$(tty)\" +export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) +gpgconf --launch gpg-agent + "; + + # sway config + wayland.windowManager.sway= { + config = rec { + input = { + "*" = { + xkb_layout = "us"; + xkb_options = "ctrl:nocaps,grp:win_space_toggle"; + xkb_variant = "altgr-intl"; + }; + "type:touchpad" = { + dwt = "enabled"; + tap = "enabled"; + natural_scroll = "enabled"; + middle_emulation = "enabled"; + }; + }; + + output = { + eDP-1 = { + mode = "2160x1440@59.955Hz"; + scale = "1"; + bg = "~/.dotfiles/wallpaper/surfacewp.png fill"; + }; + }; + + keybindings = let + inherit (config.wayland.windowManager.sway.config) modifier; + in { + }; + + startup = [ + ]; + + }; + + }; +} +
In this section I define packages that I manually want to nixpkgs. This can be useful for packages that are currently awaiting a PR or public packages that I do not want to maintain. @@ -5431,19 +5615,19 @@
-{ ... }: { } +_ : { }
@@ -7087,8 +7271,8 @@3
nix-index provides a way to find out which packages are provided by which derivations. By default it also comes with a replacement for command-not-found.sh
, however, the implementation is based on a channel based setup. I like consistency, so I replace the command with one that provides a flakes-based output.
@@ -8548,9 +8732,23 @@
This function searches for common delimiters in region and removes them, summarizing all captured lines by it. @@ -9474,7 +9673,7 @@
This formats the org code block at point
in accordance to the nixpkgs-fmt
formatter
@@ -11047,8 +11246,8 @@
Adds functions for formatting nix code. @@ -13063,7 +13262,7 @@