summaryrefslogtreecommitdiff
path: root/users
diff options
context:
space:
mode:
authorandromeda <andromeda@lenovo>2025-12-30 00:21:26 +0100
committerandromeda <andromeda@lenovo>2025-12-30 00:21:26 +0100
commitabab971ba65b74ba4928c674c96244da8d9ef92b (patch)
tree17711dda6a5f6ca40acd5ca982b27b0425ec393c /users
modularise, combine
Diffstat (limited to 'users')
-rw-r--r--users/andromeda/home.nix270
-rw-r--r--users/andromeda/nix-wallpaper-gear.pngbin0 -> 7844869 bytes
-rw-r--r--users/andromeda/stylix.nix35
3 files changed, 305 insertions, 0 deletions
diff --git a/users/andromeda/home.nix b/users/andromeda/home.nix
new file mode 100644
index 0000000..86aea14
--- /dev/null
+++ b/users/andromeda/home.nix
@@ -0,0 +1,270 @@
+{
+ config,
+ lib,
+ machine,
+ pkgs,
+ ...
+}: let
+ background-path = ".config/sway/background.png";
+ sway_config = builtins.toFile "sway_config" ''
+ set $mod Mod4
+ set $left h
+ set $down j
+ set $up k
+ set $right l
+ set $term alacritty
+ set $menu wmenu-run
+ set $screenshot grim -g "$(slurp)"
+ floating_modifier $mod normal
+
+ workspace_layout stacking
+ output * bg ${config.home.homeDirectory}/${background-path} fill
+
+ # launch programs
+ bindsym $mod+Shift+Return exec $term
+ bindsym $mod+Shift+d exec $menu
+ bindsym $mod+Shift+a exec anki
+ bindsym $mod+Shift+q exec librewolf
+ bindsym $mod+Shift+s exec $screenshot
+
+ bindsym $mod+Shift+c kill
+
+ bindsym $mod+Shift+r reload
+
+ bindsym $mod+Shift+Alt+q exit
+
+ bindsym $mod+$left focus left
+ bindsym $mod+$down focus down
+ bindsym $mod+$up focus up
+ bindsym $mod+$right focus right
+
+ bindsym $mod+Shift+$left move left
+ bindsym $mod+Shift+$down move down
+ bindsym $mod+Shift+$up move up
+ bindsym $mod+Shift+$right move right
+
+ bindsym $mod+1 workspace number 1
+ bindsym $mod+2 workspace number 2
+ bindsym $mod+3 workspace number 3
+ bindsym $mod+4 workspace number 4
+ bindsym $mod+5 workspace number 5
+ bindsym $mod+6 workspace number 6
+ bindsym $mod+7 workspace number 7
+ bindsym $mod+8 workspace number 8
+ bindsym $mod+9 workspace number 9
+ bindsym $mod+0 workspace number 0
+
+ bindsym $mod+Shift+1 move container to workspace number 1
+ bindsym $mod+Shift+2 move container to workspace number 2
+ bindsym $mod+Shift+3 move container to workspace number 3
+ bindsym $mod+Shift+4 move container to workspace number 4
+ bindsym $mod+Shift+5 move container to workspace number 5
+ bindsym $mod+Shift+6 move container to workspace number 6
+ bindsym $mod+Shift+7 move container to workspace number 7
+ bindsym $mod+Shift+8 move container to workspace number 8
+ bindsym $mod+Shift+9 move container to workspace number 9
+ bindsym $mod+Shift+0 move container to workspace number 0
+
+ bindsym $mod+f fullscreen
+ bindsym $mod+Shift+space floating toggle
+ bindsym $mod+Shift+minus move scratchpad
+ bindsym $mod+minus scratchpad show
+
+ bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle
+ bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5%
+ bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5%
+ bindsym --locked XF86AudioMicMute exec pact set-source-mute \@DEFAULT_SOURCE@ toggle
+ bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
+ bindsym --locked XF86MonbrightnessUp exec brightnessctl set 5%+
+
+ default_border none
+ font pango:monospace 0.001
+ titlebar_border_thickness 0
+ titlebar_padding 0
+ '';
+in {
+ imports = [./stylix.nix];
+ xdg.configFile."shell".source = lib.getExe pkgs.brush;
+ xdg.configFile."sway/config".source = lib.mkForce sway_config;
+ # xdg.configFile.${background-path}.source = ./nix-wallpaper-gear.png;
+ wayland.windowManager.sway.enable = true;
+ home = {
+ username = "andromeda";
+ homeDirectory = "/home/${config.home.username}";
+ stateVersion = "26.05";
+ packages = [
+ pkgs.acpi
+ pkgs.alacritty
+ pkgs.anki
+ pkgs.brightnessctl
+ pkgs.brush
+ pkgs.dust
+ pkgs.fluffychat
+ pkgs.fzf
+ pkgs.glow
+ pkgs.grim
+ pkgs.jmtpfs
+ pkgs.nix-output-monitor
+ pkgs.ranger
+ pkgs.rip2
+ pkgs.ripgrep
+ pkgs.slurp
+ pkgs.tree
+ pkgs.zoxide
+ ];
+ file.${background-path}.source = ./nix-wallpaper-gear.png;
+ };
+ programs = {
+ alacritty.enable = true;
+ bash = {
+ enable = true;
+ shellAliases = {
+ neofetch = "fastfetch";
+ ls = lib.mkForce "lsd";
+ ll = lib.mkForce "lsd -l";
+ l = "lsd -la";
+ cd = "z";
+ gg = "git log --oneline --abbrev-commit --all --graph --decorate --color";
+ md = "glow";
+ };
+ bashrcExtra = ''
+ PS1="\u@\h:\w$"
+ eval "$(zoxide init bash)"
+ '';
+ };
+ btop = {
+ enable = true;
+ settings = {
+ theme_background = false;
+ vim_keys = true;
+ rounded_corners = false;
+ graph_symbol = "braille";
+ update_ms = 150;
+ proc_sorting = "cpu lazy";
+ proc_gradient = false;
+ proc_left = true;
+ cpu_single_graph = true;
+ cpu_bottom = true;
+ clock_format = "/user@/host:/uptime@%H:%M";
+ background_update = true;
+ mem_graphs = false;
+ mem_below_net = true;
+ show_swap = false;
+ only_physical = true;
+ show_io_stat = true;
+ io_mode = false;
+ io_graph_combined = false;
+ };
+ };
+ fastfetch.enable = true;
+ git = {
+ enable = true;
+ settings = {
+ user = {
+ name = config.home.username;
+ email = "${config.home.username}@${machine.hostname}";
+ };
+ init.defaultBranch = "master";
+ http.postBuffer = 524288000;
+ };
+ };
+ gh.enable = true;
+ home-manager.enable = true;
+ librewolf = {
+ enable = true;
+ package = pkgs.librewolf.override {
+ cfg.enableTridactylNative = true;
+ };
+ profiles.${config.home.username}.extensions.packages = [
+ pkgs.nur.repos.rycee.firefox-addons.tridactyl
+ ];
+ };
+ lsd.enable = true;
+ nvf = {
+ enable = true;
+ settings.vim = {
+ autocomplete.nvim-cmp.enable = false;
+ formatter.conform-nvim = {
+ enable = true;
+ setupOpts.format_on_save = {
+ lsp_format = "fallback";
+ timeout_ms = 5000;
+ };
+ };
+ lsp.otter-nvim.enable = true;
+ git.enable = true;
+ keymaps = [
+ {
+ key = "<Down>";
+ mode = ["i" "n" "v" "c"];
+ action = "<NOP>";
+ }
+ {
+ key = "<Up>";
+ mode = ["i" "n" "v" "c"];
+ action = "<NOP>";
+ }
+ {
+ key = "<Left>";
+ mode = ["i" "n" "v" "c"];
+ action = "<NOP>";
+ }
+ {
+ key = "<Right>";
+ mode = ["i" "n" "v" "c"];
+ action = "<NOP>";
+ }
+ {
+ key = "jj";
+ mode = ["i"];
+ action = "<Esc>";
+ }
+ {
+ key = "kk";
+ mode = ["i"];
+ action = "<Esc>";
+ }
+ {
+ key = "jk";
+ mode = ["i"];
+ action = "<Esc>";
+ }
+ {
+ key = "kj";
+ mode = ["i"];
+ action = "<Esc>";
+ }
+ {
+ key = "<Esc>";
+ mode = ["i"];
+ action = "<Nop>";
+ }
+ ];
+ languages = {
+ nix = {
+ enable = true;
+ format.enable = true;
+ lsp.enable = true;
+ };
+ haskell = {
+ enable = true;
+ lsp.enable = true;
+ };
+ };
+ lineNumberMode = "relative";
+ options = {
+ tabstop = 2;
+ shiftwidth = 2;
+ expandtab = true;
+ smarttab = true;
+ foldmethod = "indent";
+ number = true;
+ colorcolumn = "80";
+ };
+ statusline.lualine.enable = true;
+ syntaxHighlighting = true;
+ };
+ };
+ ssh.enable = true;
+ };
+}
diff --git a/users/andromeda/nix-wallpaper-gear.png b/users/andromeda/nix-wallpaper-gear.png
new file mode 100644
index 0000000..a04e524
--- /dev/null
+++ b/users/andromeda/nix-wallpaper-gear.png
Binary files differ
diff --git a/users/andromeda/stylix.nix b/users/andromeda/stylix.nix
new file mode 100644
index 0000000..208d2cc
--- /dev/null
+++ b/users/andromeda/stylix.nix
@@ -0,0 +1,35 @@
+{
+ pkgs,
+ config,
+ ...
+}: {
+ stylix = {
+ enable = true;
+ # rebecca has lavener bkg
+ # tube has dark gray bkg
+ # silk-light is light theme
+ base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-material-dark-hard.yaml";
+ polarity = "dark";
+ image = ./nix-wallpaper-gear.png;
+ fonts = {
+ monospace = {
+ package = pkgs.miracode;
+ name = "Miracode";
+ };
+ serif = config.stylix.fonts.sansSerif;
+ emoji = {
+ package = pkgs.noto-fonts-color-emoji;
+ name = "Noto Color Emoji";
+ };
+ sizes = {
+ applications = 12;
+ terminal = 10;
+ };
+ };
+ cursor = {
+ package = pkgs.hackneyed;
+ name = "Hackneyed";
+ size = 16;
+ };
+ };
+}