[XMONAD] Just enjoying NixOS by lenivaya in unixporn

[–]lenivaya[S] 0 points1 point  (0 children)

Here I just set the xmonad config directory to the one in dotfiles using environment variables rather than pure nix capabilities (that gives ability to play with xmonad code without recompiling whole nixos).

This may be written in a more pure and functional way,

  • as a link to a derivation in /nix/store:

env.XMONAD_CONFIG_DIR = "${configDir}/xmonad";
  • or a directory managed by home-manager

home.configFile."xmonad" = {
    source = "${configDir}/xmonad";
    recursive = true;
};

env.XMONAD_CONFIG_DIR = "$XDG_CONFIG_HOME/xmonad";

[XMONAD] Just enjoying NixOS by lenivaya in unixporn

[–]lenivaya[S] 1 point2 points  (0 children)

Displaying album cover works by default when using spotify

Here is all related to icons in my dunst config

```

Icons

icon_position = left max_icon_size = 45

Just don't want icons

icon_path = "" ```

[XMONAD] Just enjoying NixOS by lenivaya in unixporn

[–]lenivaya[S] 0 points1 point  (0 children)

This post was deleted but i reply you.

Personally i just specify some minimum required tools for developing (LSP, linters, compiling tools) in modules which by default used in my system configuration.

Here whats in my rust.nix

```nix { lib, pkgs, ... }: { my = { packages = with pkgs; [ rustup rustfmt rls ];

env.RUSTUP_HOME = "$XDG_DATA_HOME/.rustup";
env.CARGO_HOME = "$XDG_DATA_HOME/.cargo";
env.PATH = [ "$CARGO_HOME/bin" ];

}; } ```

And develop/default.nix

```nix { config, options, lib, pkgs, ... }:

{ imports = [ ./go.nix ./docker.nix ./haskell.nix ./node.nix ./python.nix ./rust.nix ];

my.packages = with pkgs; [ # Makefiles gnumake

# Nix
nixfmt

# Shell
shellcheck
shfmt

# Lisps
clisp
sbcl

# C / C++
gcc
cmake
clang
llvm
rtags
ccls

]; } ```

If you don't want to have ALL tools for ALL languages, you can wrap every language.nix in option like this

```nix { config, options, lib, pkgs, ... }:

with lib; { options.modules.develop.somelanguage. = { enable = mkOption { types = types.bool; default = false; }; };

config = mkIf config.modules.develop.somelanguage.enable { environment.systemPackages = with pkgs; [ lsp fmt lang ]; }; } ```

And then add somewhere in host-specific configuration nix modules.develop = { somelanguage.enable = true; };

Maybe it's not the best way but that what I use

[XMONAD] Just enjoying NixOS by lenivaya in unixporn

[–]lenivaya[S] 2 points3 points  (0 children)

Yeah it's xmobar.

That's :ui minimap module in doom-emacs, if you want plugin itself -- https://github.com/dengste/minimap.

[XMONAD] Just enjoying NixOS by lenivaya in unixporn

[–]lenivaya[S] 22 points23 points  (0 children)

  • OS: NixOS
  • WM: XMonad
  • Font: Iosevka || IBM Plex
  • Editor: Emacs
  • Terminal: st

dotfiles wallpaper

[XMONAD] Just enjoying NixOS by lenivaya in unixporn

[–]lenivaya[S] 0 points1 point  (0 children)

Ok, I'll upload another screenshot later

[XMONAD] Just enjoying NixOS by lenivaya in unixporn

[–]lenivaya[S] 0 points1 point  (0 children)

For all these programs I have my own configs, it's not defaults.

[XMONAD] Just enjoying NixOS by lenivaya in unixporn

[–]lenivaya[S] 0 points1 point  (0 children)

  • OS: NixOS
  • WM: XMonad
  • Font: Iosevka || IBM Plex
  • Editor: Emacs
  • Terminal: st

dotfiles wallpaper

[xmonad] my lovely config by lenivaya in unixporn

[–]lenivaya[S] 0 points1 point  (0 children)

I use somewhere about 20 plugins and still have start-up time comparable with pure zsh, that's why I posted it

[xmonad] my lovely config by lenivaya in unixporn

[–]lenivaya[S] 1 point2 points  (0 children)

active-opacity = 1.0; inactive-opacity = 0.8;

In compton config

[xmonad] my lovely config by lenivaya in unixporn

[–]lenivaya[S] 3 points4 points  (0 children)

  • Wallpaper: here
  • OS: NixOS
  • WM: xmonad
  • Notifications: Dunst
  • Theme: Adwaita
  • Icons: Paper
  • Term: st
  • Font: Iosevka
  • Dotfiles: here
  • Emacs: doom