From 3cebee7f0fe335437f16368a1b15e841444c2f40 Mon Sep 17 00:00:00 2001 From: Jacob Janzen Date: Wed, 25 Sep 2024 21:22:19 -0500 Subject: update some things --- install | 44 ++- nixos/.flake/configuration.nix | 141 +++++++++ nixos/.flake/flake.lock | 61 ++++ nixos/.flake/flake.nix | 29 ++ nixos/.flake/hardware-configuration.nix | 41 +++ nixos/.flake/home.nix | 533 ++++++++++++++++++++++++++++++++ nixos/clang-format.org | 9 + nixos/flake/configuration.nix | 141 --------- nixos/flake/flake.lock | 61 ---- nixos/flake/flake.nix | 29 -- nixos/flake/hardware-configuration.nix | 41 --- nixos/flake/home.nix | 533 -------------------------------- 12 files changed, 835 insertions(+), 828 deletions(-) create mode 100644 nixos/.flake/configuration.nix create mode 100644 nixos/.flake/flake.lock create mode 100644 nixos/.flake/flake.nix create mode 100644 nixos/.flake/hardware-configuration.nix create mode 100644 nixos/.flake/home.nix create mode 100644 nixos/clang-format.org delete mode 100644 nixos/flake/configuration.nix delete mode 100644 nixos/flake/flake.lock delete mode 100644 nixos/flake/flake.nix delete mode 100644 nixos/flake/hardware-configuration.nix delete mode 100644 nixos/flake/home.nix diff --git a/install b/install index ddb9dc1..7940302 100755 --- a/install +++ b/install @@ -52,29 +52,27 @@ if [ "$(uname)" = 'Linux' ] && grep -q 'ID=nixos' /etc/os-release; then fi fonts_changed=false -if [ "$(uname)" = 'Darwin' ]; then - echo 'installing fonts...' - mkdir -p ~/.local/share/fonts - if ! test -d ~/.local/share/fonts/ComputerModern; then - echo ' Computer Modern font missing. Installing...' - tar xf .local/share/fonts/ComputerModern.tar.gz -C ~/.local/share/fonts >> ~/.update-home.log 2>&1 - fonts_changed=true - fi - if ! test -f ~/.local/share/fonts/NFM.ttf; then - echo ' Nerd Font Mono font missing. Installing...' - tar xf .local/share/fonts/NFM.tar.gz -C ~/.local/share/fonts >> ~/.update-home.log 2>&1 - fonts_changed=true - fi - if ! test -d ~/.local/share/fonts/SauceCodePro; then - echo ' Source Code Pro Nerd Font missing. Installing...' - tar xf .local/share/fonts/SauceCodePro.tar.gz -C ~/.local/share/fonts >> ~/.update-home.log 2>&1 - fonts_changed=true - fi - - if [ $fonts_changed = true ]; then - echo ' updating the font cache...' - fc-cache -f >> ~/.update-home.log - fi +echo 'installing fonts...' +mkdir -p ~/.local/share/fonts +if ! test -d ~/.local/share/fonts/ComputerModern; then + echo ' Computer Modern font missing. Installing...' + tar xf .local/share/fonts/ComputerModern.tar.gz -C ~/.local/share/fonts >> ~/.update-home.log 2>&1 + fonts_changed=true +fi +if ! test -f ~/.local/share/fonts/NFM.ttf; then + echo ' Nerd Font Mono font missing. Installing...' + tar xf .local/share/fonts/NFM.tar.gz -C ~/.local/share/fonts >> ~/.update-home.log 2>&1 + fonts_changed=true +fi +if ! test -d ~/.local/share/fonts/SauceCodePro; then + echo ' Source Code Pro Nerd Font missing. Installing...' + tar xf .local/share/fonts/SauceCodePro.tar.gz -C ~/.local/share/fonts >> ~/.update-home.log 2>&1 + fonts_changed=true +fi + +if [ $fonts_changed = true ]; then + echo ' updating the font cache...' + fc-cache -f >> ~/.update-home.log fi cd "$CWD" || exit diff --git a/nixos/.flake/configuration.nix b/nixos/.flake/configuration.nix new file mode 100644 index 0000000..0999475 --- /dev/null +++ b/nixos/.flake/configuration.nix @@ -0,0 +1,141 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page, on +# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). + +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + nixpkgs.config.allowUnfree = true; + + # Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos"; # Define your hostname. + networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. + hardware.bluetooth.enable = true; + hardware.bluetooth.powerOnBoot = true; + services.blueman.enable = true; + + security.pam.services.hyprlock = {}; + + services.flatpak.enable = true; + xdg.portal.enable = true; + + # Set your time zone. + time.timeZone = "America/Winnipeg"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_CA.UTF-8"; + + # Enable the X11 windowing system. + services.xserver.enable = true; + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --remember --remember-session --sessions ${pkgs.hyprland}/share/wayland-sessions --cmd \"dbus-run-session Hyprland\""; + user = "greeter"; + }; + }; + }; + systemd.services.greetd.serviceConfig = { + Type = "idle"; + StandardInput = "tty"; + StanardOutput = "tty"; + StandardError = "journal"; + TTYReset = true; + TTYVHangup = true; + TTYVTDisallocate = true; + }; + + programs.hyprland.enable = true; + + # Configure keymap in X11 + services.xserver.xkb.layout = "us"; + + # Enable CUPS to print documents. + services.printing.enable = true; + + # Enable sound. + services.pipewire = { + enable = true; + pulse.enable = true; + }; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.jane = { + shell = pkgs.zsh; + isNormalUser = true; + extraGroups = [ "networkmanager" "wheel" ]; # Enable ‘sudo’ for the user. + packages = with pkgs; [ + firefox + tree + ]; + }; + programs.zsh.enable = true; + + # List packages installed in system profile. To search, run: + environment.systemPackages = with pkgs; [ + greetd.tuigreet + kitty + dolphin + git + neovim + wget + ]; + environment.variables.EDITOR = "vim"; + environment.pathsToLink = [ "/share/zsh" ]; + environment.sessionVariables.NIXOS_OZONE_WL = "1"; + + # 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; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # Copy the NixOS configuration file and link it from the resulting system + # (/run/current-system/configuration.nix). This is useful in case you + # accidentally delete configuration.nix. + # system.copySystemConfiguration = true; + + # This option defines the first version of NixOS you have installed on this particular machine, + # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. + # + # Most users should NEVER change this value after the initial install, for any reason, + # even if you've upgraded your system to a new NixOS release. + # + # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, + # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how + # to actually do that. + # + # This value being lower than the current NixOS release does NOT mean your system is + # out of date, out of support, or vulnerable. + # + # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, + # and migrated your data accordingly. + # + # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . + system.stateVersion = "24.05"; # Did you read the comment? + +} + diff --git a/nixos/.flake/flake.lock b/nixos/.flake/flake.lock new file mode 100644 index 0000000..d863b13 --- /dev/null +++ b/nixos/.flake/flake.lock @@ -0,0 +1,61 @@ +{ + "nodes": { + "home-manager": { + "inputs": { + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1727246346, + "narHash": "sha256-TcUaKtya339Asu+g6KTJ8h7KiKcKXKp2V+At+7tksyY=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "1e22ef1518fb175d762006f9cae7f6312b8caedb", + "type": "github" + }, + "original": { + "id": "home-manager", + "type": "indirect" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1726755586, + "narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1726937504, + "narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9357f4f23713673f310988025d9dc261c20e70c6", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "home-manager": "home-manager", + "nixpkgs": "nixpkgs_2" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/nixos/.flake/flake.nix b/nixos/.flake/flake.nix new file mode 100644 index 0000000..da41906 --- /dev/null +++ b/nixos/.flake/flake.nix @@ -0,0 +1,29 @@ +{ + description = "My NixOS Configuration"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + }; + + outputs = { + self, + nixpkgs, + home-manager, + ... + }@inputs: { + nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { inherit inputs; }; + modules = [ + ./configuration.nix + home-manager.nixosModules.home-manager + { + home-manager.backupFileExtension = "bak"; + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.jane = import ./home.nix; + } + ]; + }; + }; +} diff --git a/nixos/.flake/hardware-configuration.nix b/nixos/.flake/hardware-configuration.nix new file mode 100644 index 0000000..74ef301 --- /dev/null +++ b/nixos/.flake/hardware-configuration.nix @@ -0,0 +1,41 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/1cf884d2-8691-4122-85e2-a4edd2d1609f"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/ABCB-FAEC"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/675d8161-49c5-4348-9da5-4a7c8ada700f"; } + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp10s0.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp9s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/nixos/.flake/home.nix b/nixos/.flake/home.nix new file mode 100644 index 0000000..f619e99 --- /dev/null +++ b/nixos/.flake/home.nix @@ -0,0 +1,533 @@ +{ config, pkgs, ... }: + +{ + home.username = "jane"; + home.homeDirectory = "/home/jane"; + + home.file.".icons/default".source = "${pkgs.vanilla-dmz}/share/icons/Vanilla-DMZ"; + xresources.properties = { + "Xcursor.size" = 16; + }; + + fonts.fontconfig.enable = true; + home.packages = with pkgs; [ + discord + hyprshot + (pkgs.nerdfonts.override { fonts = [ "SourceCodePro" ]; }) + fuzzel + hyfetch + htop + networkmanagerapplet + mako + emacs + swaybg + mpdscribble + pavucontrol + mpc-cli + ]; + + programs.ssh = { + enable = true; + addKeysToAgent = "yes"; + }; + + services.syncthing = { + enable = true; + }; + + programs.hyprlock = { + enable = true; + settings = { + general = { + disable_loading_bar = true; + grace = 0; + hide_cursor = true; + no_fade_in = false; + }; + background = [ + { + path = "~/.wallpaper"; + blur_passes = 3; + blur_size = 8; + } + ]; + input-field = [ + { + size = "200, 50"; + position = "0, -80"; + monitor = ""; + dots_center = true; + fade_on_empty = false; + font_color = "rgb(202, 211, 245)"; + inner_color = "rgb(91, 96, 120)"; + outer_color = "rgb(24, 25, 38)"; + outline_thickness = 5; + placeholder_text = "Password..."; + shadow_passes = 2; + } + ]; + }; + }; + + programs.ncmpcpp = { + enable = true; + bindings = [ + { key = "j"; command = "scroll_down"; } + { key = "k"; command = "scroll_up"; } + { key = "h"; command = "previous_column"; } + { key = "l"; command = "next_column"; } + { key = "g"; command = "move_home"; } + { key = "G"; command = "move_end"; } + { key = "n"; command = "next_found_item"; } + { key = "N"; command = "previous_found_item"; } + ]; + mpdMusicDir = "~/Music"; + settings = { + ncmpcpp_directory = "~/.config/nmcpcpp"; + mpd_host = "localhost"; + mpd_port = "6600"; + }; + }; + + services.mpd = { + enable = true; + musicDirectory = "~/Music"; + extraConfig = '' + audio_output { + type "pipewire" + name "Pipewire" + mixer_type "hardware" + enabled "yes" + } + ''; + }; + + programs.waybar = { + enable = true; + settings = { + mainBar = { + height = 30; + spacing = 4; + modules-left = [ "hyprland/workspaces" ]; + modules-center = [ "hyprland/window" ]; + modules-right = [ "mpd" "pulseaudio" "cpu" "memory" "clock" "tray" ]; + mpd = { + format = "{stateIcon} {artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) [{songPosition}|{queueLength}] 🎵"; + format-disconnected = "Disconnected 🎵"; + format-stopped = "{consumeIcon}Stopped 🎵"; + unknown-tag = "N/A"; + interval = 2; + state-icons = { + paused = ""; + playing = ""; + }; + tooltip-format = "MPD (connected)"; + tooltip-format-disconnected = "MPD (disconnected)"; + on-click = "foot -e ncmpcpp"; + }; + tray = { + icon-size = 21; + spacing = 10; + show-passive-items = true; + }; + clock = { + format = "{:%H:%M\t%Y-%m-%d}"; + tooltip-format = "{:%Y %B}\n{calendar}"; + }; + cpu = { + format = "{usage}% "; + tooltip = false; + }; + memory = { + format = "{}% "; + }; + network = { + format-wifi = ""; + tooltip = false; + format-ethernet = ""; + format-linked = ""; + format-disconnected = "⚠"; + on-click = "kcmshell5 kcm_networkmanagement"; + }; + pulseaudio = { + format = "{volume}% {icon}"; + format-bluetooth = "{volume}% {icon}"; + format-bluetooth-muted = " {icon}"; + format-muted = " "; + format-source = "{volume}% "; + format-source-muted = ""; + format-icons = { + headphone = ""; + hands-free = ""; + headset = ""; + phone = ""; + portable = ""; + car = ""; + default = ["" "" ""]; + }; + on-click = "pavucontrol"; + }; + }; + }; + style = '' + window#waybar { + font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; + font-size: 13px; + background: transparent; + color: #ffffff; + text-shadow: 1px 1px #64727D; + transition-property: background-color; + transition-duration: .5s; + } + button { + border: none; + border-radius: 0; + } + button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; + } + #workspaces button { + padding: 0 5px; + text-shadow: 1px 1px #64727D; + background-color: transparent; + color: #ffffff; + } + #workspaces button:hover { + background: rgba(0, 0, 0, 0.2); + } + #workspaces button.focused { + background: transparent; + box-shadow: inset 0 -3px #ffffff; + } + #workspaces button.urgent { + background-color: #eb4d4b; + } + #clock, + #cpu, + #memory, + #disk, + #network, + #pulseaudio, + #wireplumber, + #custom-media, + #tray, + #mode, + #scratchpad, + #mpd { + padding: 0 10px; + } + #window, + #workspaces { + margin: 0 4px; + } + .modules-left > widget:first-child > #workspaces { + margin-left: 0; + } + + /* If workspaces is the rightmost module, omit right margin */ + .modules-right > widget:last-child > #workspaces { + margin-right: 0; + } + #tray > .passive { + -gtk-icon-effect: dim; + } + #tray > .needs-attention { + -gtk-icon-effect: highlight; + } + #scratchpad { + background: rgba(0, 0, 0, 0.2); + } + + #scratchpad.empty { + background-color: transparent; + } + ''; + }; + + programs.fastfetch = { + enable = true; + settings = { + logo = { + type = "raw"; + source = "~/.config/fastfetch/logo.sixel"; + width = 40; + height = 19; + }; + display = { + separator = " "; + }; + modules = [ + "title" + { + type = "custom"; + format = "──────────────────────────────────"; + } + { + type = "os"; + key = ""; + } + { + type = "kernel"; + key = "󰞸"; + } + { + type = "uptime"; + key = ""; + } + { + type = "packages"; + key = ""; + } + { + type = "shell"; + key = ""; + } + { + type = "display"; + key = "󰍹"; + } + { + type = "wm"; + key = ""; + } + { + type = "terminal"; + key = ""; + } + { + type = "cpu"; + key = ""; + } + { + type = "gpu"; + key = ""; + } + { + type = "memory"; + key = ""; + } + { + type = "disk"; + key = ""; + } + { + type = "locale"; + key = ""; + } + "break" + "colors" + ]; + }; + }; + + programs.zsh = { + enable = true; + autocd = true; + autosuggestion = { + enable = true; + # highlight = "fg=#ff00ff,bg=cyan,bold,underline"; + }; + defaultKeymap = "viins"; + history = { + append = true; + ignoreAllDups = true; + }; + shellAliases = { + "ll" = "ls -alF"; + "la" = "ls -a"; + "l" = "ls -F"; + "sl" = "ls"; + }; + syntaxHighlighting.enable = true; + initExtra = '' + which lesspipe.sh &> /dev/null && export LESSOPEN="|lesspipe.sh %s" + which eza &> /dev/null && alias ls=eza + which nvim &> /dev/null && alias vi=nvim && alias vim=nvim + parse_git_dirty() { + git_status="$(git status 2> /dev/null)" + [[ "$git_status" =~ "use \"git push\" to publish your local commits" ]] && echo -n " %F{green}%f" + [[ "$git_status" =~ "Changes to be committed:" ]] && echo -n " %F{magenta}%f" + [[ "$git_status" =~ "Changes not staged for commit:" ]] && echo -n " %F{yellow}%f" + [[ "$git_status" =~ "Untracked files:" ]] && echo -n " %F{red}%f" + } + setopt prompt_subst + autoload -Uz vcs_info + precmd () { vcs_info } + zstyle ':vcs_info:*' formats ' %F{blue}%b%f' # git(main) + PS1='%(?..%B%F{red}[%?%\]%f%b )%F{green}%20<...<%~%<<%f$vcs_info_msg_0_$(parse_git_dirty) $ ' + ''; + profileExtra = '' + if [ ! -S ~/.ssh/ssh_auth_sock ]; then + eval `ssh-agent` > /dev/null + ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock + fi + export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock + ''; + }; + + programs.git = { + enable = true; + userName = "Jacob Janzen"; + userEmail = "jacob.a.s.janzen@gmail.com"; + }; + + programs.foot.enable = true; + programs.foot.settings = { + main = { + font = "SauceCodePro Nerd Font:size=10"; + pad = "6x6"; + }; + mouse = { + hide-when-typing = "yes"; + }; + colors = { + alpha = "0.9"; + background = "ece0c9"; + foreground = "191916"; + regular0 = "191916"; + regular1 = "ac4438"; + regular2 = "354d52"; + regular3 = "ba9151"; + regular4 = "465b91"; + regular5 = "5b5489"; + regular6 = "4e6062"; + regular7 = "c9ad7a"; + bright0 = "293c3c"; + bright1 = "d8611c"; + bright2 = "4b7b53"; + bright3 = "d8974b"; + bright4 = "2f3d91"; + bright5 = "735e82"; + bright6 = "6b8f92"; + bright7 = "ece0c9"; + }; + }; + + wayland.windowManager.hyprland.enable = true; + wayland.windowManager.hyprland.settings = { + monitor = [ "DP-2, 2560x1440@180, 0x0, 1" "HDMI-A-2, 1920x1080@60, -1080x-100, 1, transform, 3" ]; + "$terminal" = "foot"; + "$fileManager" = "dolphin"; + "$menu" = "fuzzel"; + exec-once = [ + "nm-applet &" + "blueman-applet &" + "waybar" + "mako" + "emacs --daemon" + "swaybg -m fill -i ~/.wallpaper" + "mpdscribble" + ]; + env = [ + "XCURSOR_SIZE,24" + "HYPRCURSOR_SIZE,24" + ]; + general = { + gaps_in = 5; + gaps_out = 20; + border_size = 2; + resize_on_border = false; + layout = "dwindle"; + "col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; + "col.inactive_border" = "rgba(595959aa)"; + }; + decoration = { + rounding = 10; + active_opacity = 1.0; + inactive_opacity = 1.0; + drop_shadow = true; + shadow_range = 4; + shadow_render_power = 3; + "col.shadow" = "rgba(1a1a1aee)"; + blur = { + enabled = true; + size = 3; + passes = 1; + vibrancy = "0.1696"; + }; + }; + animations = { + enabled = true; + bezier = "myBezier, 0.05, 0.9, 0.1, 1.05"; + animation = [ + "windows, 1, 7, myBezier" + "windowsOut, 1, 7, default, popin 80%" + "border, 1, 10, default" "borderangle, 1, 8, default" + "fade, 1, 7, default" "workspaces, 1, 6, default" + ]; + }; + dwindle = { + pseudotile = true; + preserve_split = true; + }; + master = { + new_status = "master"; + }; + input = { + kb_layout = "us"; + follow_mouse = 1; + sensitivity = 0; + }; + "$mainMod" = "SUPER"; + bind = [ + "$mainMod, RETURN, exec, $terminal" + "$mainMod SHIFT, Q, killactive" + "$mainMod, E, exec, $fileManager" + "$mainMod SHIFT, SPACE, togglefloating" + "$mainMod, D, exec, $menu" + "$mainMod, P, pseudo" + "$mainMod SHIFT, E, togglesplit" + "$mainMod, H, movefocus, l" + "$mainMod, J, movefocus, d" + "$mainMod, K, movefocus, u" + "$mainMod, L, movefocus, r" + "$mainMod, 1, workspace, 1" + "$mainMod, 2, workspace, 2" + "$mainMod, 3, workspace, 3" + "$mainMod, 4, workspace, 4" + "$mainMod, 5, workspace, 5" + "$mainMod, 6, workspace, 6" + "$mainMod, 7, workspace, 7" + "$mainMod, 8, workspace, 8" + "$mainMod, 9, workspace, 9" + "$mainMod, 0, workspace, 10" + "$mainMod SHIFT, 1, movetoworkspace, 1" + "$mainMod SHIFT, 2, movetoworkspace, 2" + "$mainMod SHIFT, 3, movetoworkspace, 3" + "$mainMod SHIFT, 4, movetoworkspace, 4" + "$mainMod SHIFT, 5, movetoworkspace, 5" + "$mainMod SHIFT, 6, movetoworkspace, 6" + "$mainMod SHIFT, 7, movetoworkspace, 7" + "$mainMod SHIFT, 8, movetoworkspace, 8" + "$mainMod SHIFT, 9, movetoworkspace, 9" + "$mainMod SHIFT, 0, movetoworkspace, 10" + "$mainMod CONTROL, L, exec, hyprlock" + "$mainMod, S, exec, hyprshot -m window --clipboard-only" + "$mainMod SHIFT, S, exec, hyprshot -m region --clipboard-only" + "$mainMod SHIFT CONTROL, S, exec, hyprshot -m output --clipboard-only" + ]; + bindel = [ + ",XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" + ",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" + ",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" + ",XF86Eject, exec, mpc toggle" + ]; + bindm = [ + "$mainMod, mouse:272, movewindow" + "$mainMod, mouse:273, resizewindow" + ]; + windowrulev2 = "suppressevent maximize, class:.*"; + }; + wayland.windowManager.hyprland.extraConfig = '' +################### +### KEYBINDINGS ### +################### +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, M, exit, + ''; + + home.stateVersion = "24.05"; + + programs.home-manager.enable = true; +} diff --git a/nixos/clang-format.org b/nixos/clang-format.org new file mode 100644 index 0000000..6c38b3b --- /dev/null +++ b/nixos/clang-format.org @@ -0,0 +1,9 @@ +#+title: Clang-Format Settings +Use a style similar to Linux kernel style (but with 4-wide indents and spaces over tabs). +#+begin_src yaml :tangle ~/.clang-format +BasedOnStyle: LLVM +IndentWidth: 4 +BreakBeforeBraces: Linux +AllowShortIfStatementsOnASingleLine: false +IndentCaseLabels: false +#+end_src diff --git a/nixos/flake/configuration.nix b/nixos/flake/configuration.nix deleted file mode 100644 index 0999475..0000000 --- a/nixos/flake/configuration.nix +++ /dev/null @@ -1,141 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page, on -# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). - -{ config, lib, pkgs, ... }: - -{ - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; - - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - nixpkgs.config.allowUnfree = true; - - # Use the systemd-boot EFI boot loader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - networking.hostName = "nixos"; # Define your hostname. - networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. - hardware.bluetooth.enable = true; - hardware.bluetooth.powerOnBoot = true; - services.blueman.enable = true; - - security.pam.services.hyprlock = {}; - - services.flatpak.enable = true; - xdg.portal.enable = true; - - # Set your time zone. - time.timeZone = "America/Winnipeg"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_CA.UTF-8"; - - # Enable the X11 windowing system. - services.xserver.enable = true; - services.greetd = { - enable = true; - settings = { - default_session = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --remember --remember-session --sessions ${pkgs.hyprland}/share/wayland-sessions --cmd \"dbus-run-session Hyprland\""; - user = "greeter"; - }; - }; - }; - systemd.services.greetd.serviceConfig = { - Type = "idle"; - StandardInput = "tty"; - StanardOutput = "tty"; - StandardError = "journal"; - TTYReset = true; - TTYVHangup = true; - TTYVTDisallocate = true; - }; - - programs.hyprland.enable = true; - - # Configure keymap in X11 - services.xserver.xkb.layout = "us"; - - # Enable CUPS to print documents. - services.printing.enable = true; - - # Enable sound. - services.pipewire = { - enable = true; - pulse.enable = true; - }; - - # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.jane = { - shell = pkgs.zsh; - isNormalUser = true; - extraGroups = [ "networkmanager" "wheel" ]; # Enable ‘sudo’ for the user. - packages = with pkgs; [ - firefox - tree - ]; - }; - programs.zsh.enable = true; - - # List packages installed in system profile. To search, run: - environment.systemPackages = with pkgs; [ - greetd.tuigreet - kitty - dolphin - git - neovim - wget - ]; - environment.variables.EDITOR = "vim"; - environment.pathsToLink = [ "/share/zsh" ]; - environment.sessionVariables.NIXOS_OZONE_WL = "1"; - - # 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; - - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - - # Copy the NixOS configuration file and link it from the resulting system - # (/run/current-system/configuration.nix). This is useful in case you - # accidentally delete configuration.nix. - # system.copySystemConfiguration = true; - - # This option defines the first version of NixOS you have installed on this particular machine, - # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. - # - # Most users should NEVER change this value after the initial install, for any reason, - # even if you've upgraded your system to a new NixOS release. - # - # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, - # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how - # to actually do that. - # - # This value being lower than the current NixOS release does NOT mean your system is - # out of date, out of support, or vulnerable. - # - # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, - # and migrated your data accordingly. - # - # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . - system.stateVersion = "24.05"; # Did you read the comment? - -} - diff --git a/nixos/flake/flake.lock b/nixos/flake/flake.lock deleted file mode 100644 index d863b13..0000000 --- a/nixos/flake/flake.lock +++ /dev/null @@ -1,61 +0,0 @@ -{ - "nodes": { - "home-manager": { - "inputs": { - "nixpkgs": "nixpkgs" - }, - "locked": { - "lastModified": 1727246346, - "narHash": "sha256-TcUaKtya339Asu+g6KTJ8h7KiKcKXKp2V+At+7tksyY=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "1e22ef1518fb175d762006f9cae7f6312b8caedb", - "type": "github" - }, - "original": { - "id": "home-manager", - "type": "indirect" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1726755586, - "narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1726937504, - "narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "9357f4f23713673f310988025d9dc261c20e70c6", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "home-manager": "home-manager", - "nixpkgs": "nixpkgs_2" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/nixos/flake/flake.nix b/nixos/flake/flake.nix deleted file mode 100644 index da41906..0000000 --- a/nixos/flake/flake.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - description = "My NixOS Configuration"; - - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - }; - - outputs = { - self, - nixpkgs, - home-manager, - ... - }@inputs: { - nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs; }; - modules = [ - ./configuration.nix - home-manager.nixosModules.home-manager - { - home-manager.backupFileExtension = "bak"; - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.jane = import ./home.nix; - } - ]; - }; - }; -} diff --git a/nixos/flake/hardware-configuration.nix b/nixos/flake/hardware-configuration.nix deleted file mode 100644 index 74ef301..0000000 --- a/nixos/flake/hardware-configuration.nix +++ /dev/null @@ -1,41 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/1cf884d2-8691-4122-85e2-a4edd2d1609f"; - fsType = "ext4"; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/ABCB-FAEC"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; - - swapDevices = - [ { device = "/dev/disk/by-uuid/675d8161-49c5-4348-9da5-4a7c8ada700f"; } - ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp10s0.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp9s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/nixos/flake/home.nix b/nixos/flake/home.nix deleted file mode 100644 index f619e99..0000000 --- a/nixos/flake/home.nix +++ /dev/null @@ -1,533 +0,0 @@ -{ config, pkgs, ... }: - -{ - home.username = "jane"; - home.homeDirectory = "/home/jane"; - - home.file.".icons/default".source = "${pkgs.vanilla-dmz}/share/icons/Vanilla-DMZ"; - xresources.properties = { - "Xcursor.size" = 16; - }; - - fonts.fontconfig.enable = true; - home.packages = with pkgs; [ - discord - hyprshot - (pkgs.nerdfonts.override { fonts = [ "SourceCodePro" ]; }) - fuzzel - hyfetch - htop - networkmanagerapplet - mako - emacs - swaybg - mpdscribble - pavucontrol - mpc-cli - ]; - - programs.ssh = { - enable = true; - addKeysToAgent = "yes"; - }; - - services.syncthing = { - enable = true; - }; - - programs.hyprlock = { - enable = true; - settings = { - general = { - disable_loading_bar = true; - grace = 0; - hide_cursor = true; - no_fade_in = false; - }; - background = [ - { - path = "~/.wallpaper"; - blur_passes = 3; - blur_size = 8; - } - ]; - input-field = [ - { - size = "200, 50"; - position = "0, -80"; - monitor = ""; - dots_center = true; - fade_on_empty = false; - font_color = "rgb(202, 211, 245)"; - inner_color = "rgb(91, 96, 120)"; - outer_color = "rgb(24, 25, 38)"; - outline_thickness = 5; - placeholder_text = "Password..."; - shadow_passes = 2; - } - ]; - }; - }; - - programs.ncmpcpp = { - enable = true; - bindings = [ - { key = "j"; command = "scroll_down"; } - { key = "k"; command = "scroll_up"; } - { key = "h"; command = "previous_column"; } - { key = "l"; command = "next_column"; } - { key = "g"; command = "move_home"; } - { key = "G"; command = "move_end"; } - { key = "n"; command = "next_found_item"; } - { key = "N"; command = "previous_found_item"; } - ]; - mpdMusicDir = "~/Music"; - settings = { - ncmpcpp_directory = "~/.config/nmcpcpp"; - mpd_host = "localhost"; - mpd_port = "6600"; - }; - }; - - services.mpd = { - enable = true; - musicDirectory = "~/Music"; - extraConfig = '' - audio_output { - type "pipewire" - name "Pipewire" - mixer_type "hardware" - enabled "yes" - } - ''; - }; - - programs.waybar = { - enable = true; - settings = { - mainBar = { - height = 30; - spacing = 4; - modules-left = [ "hyprland/workspaces" ]; - modules-center = [ "hyprland/window" ]; - modules-right = [ "mpd" "pulseaudio" "cpu" "memory" "clock" "tray" ]; - mpd = { - format = "{stateIcon} {artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) [{songPosition}|{queueLength}] 🎵"; - format-disconnected = "Disconnected 🎵"; - format-stopped = "{consumeIcon}Stopped 🎵"; - unknown-tag = "N/A"; - interval = 2; - state-icons = { - paused = ""; - playing = ""; - }; - tooltip-format = "MPD (connected)"; - tooltip-format-disconnected = "MPD (disconnected)"; - on-click = "foot -e ncmpcpp"; - }; - tray = { - icon-size = 21; - spacing = 10; - show-passive-items = true; - }; - clock = { - format = "{:%H:%M\t%Y-%m-%d}"; - tooltip-format = "{:%Y %B}\n{calendar}"; - }; - cpu = { - format = "{usage}% "; - tooltip = false; - }; - memory = { - format = "{}% "; - }; - network = { - format-wifi = ""; - tooltip = false; - format-ethernet = ""; - format-linked = ""; - format-disconnected = "⚠"; - on-click = "kcmshell5 kcm_networkmanagement"; - }; - pulseaudio = { - format = "{volume}% {icon}"; - format-bluetooth = "{volume}% {icon}"; - format-bluetooth-muted = " {icon}"; - format-muted = " "; - format-source = "{volume}% "; - format-source-muted = ""; - format-icons = { - headphone = ""; - hands-free = ""; - headset = ""; - phone = ""; - portable = ""; - car = ""; - default = ["" "" ""]; - }; - on-click = "pavucontrol"; - }; - }; - }; - style = '' - window#waybar { - font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; - font-size: 13px; - background: transparent; - color: #ffffff; - text-shadow: 1px 1px #64727D; - transition-property: background-color; - transition-duration: .5s; - } - button { - border: none; - border-radius: 0; - } - button:hover { - background: inherit; - box-shadow: inset 0 -3px #ffffff; - } - #workspaces button { - padding: 0 5px; - text-shadow: 1px 1px #64727D; - background-color: transparent; - color: #ffffff; - } - #workspaces button:hover { - background: rgba(0, 0, 0, 0.2); - } - #workspaces button.focused { - background: transparent; - box-shadow: inset 0 -3px #ffffff; - } - #workspaces button.urgent { - background-color: #eb4d4b; - } - #clock, - #cpu, - #memory, - #disk, - #network, - #pulseaudio, - #wireplumber, - #custom-media, - #tray, - #mode, - #scratchpad, - #mpd { - padding: 0 10px; - } - #window, - #workspaces { - margin: 0 4px; - } - .modules-left > widget:first-child > #workspaces { - margin-left: 0; - } - - /* If workspaces is the rightmost module, omit right margin */ - .modules-right > widget:last-child > #workspaces { - margin-right: 0; - } - #tray > .passive { - -gtk-icon-effect: dim; - } - #tray > .needs-attention { - -gtk-icon-effect: highlight; - } - #scratchpad { - background: rgba(0, 0, 0, 0.2); - } - - #scratchpad.empty { - background-color: transparent; - } - ''; - }; - - programs.fastfetch = { - enable = true; - settings = { - logo = { - type = "raw"; - source = "~/.config/fastfetch/logo.sixel"; - width = 40; - height = 19; - }; - display = { - separator = " "; - }; - modules = [ - "title" - { - type = "custom"; - format = "──────────────────────────────────"; - } - { - type = "os"; - key = ""; - } - { - type = "kernel"; - key = "󰞸"; - } - { - type = "uptime"; - key = ""; - } - { - type = "packages"; - key = ""; - } - { - type = "shell"; - key = ""; - } - { - type = "display"; - key = "󰍹"; - } - { - type = "wm"; - key = ""; - } - { - type = "terminal"; - key = ""; - } - { - type = "cpu"; - key = ""; - } - { - type = "gpu"; - key = ""; - } - { - type = "memory"; - key = ""; - } - { - type = "disk"; - key = ""; - } - { - type = "locale"; - key = ""; - } - "break" - "colors" - ]; - }; - }; - - programs.zsh = { - enable = true; - autocd = true; - autosuggestion = { - enable = true; - # highlight = "fg=#ff00ff,bg=cyan,bold,underline"; - }; - defaultKeymap = "viins"; - history = { - append = true; - ignoreAllDups = true; - }; - shellAliases = { - "ll" = "ls -alF"; - "la" = "ls -a"; - "l" = "ls -F"; - "sl" = "ls"; - }; - syntaxHighlighting.enable = true; - initExtra = '' - which lesspipe.sh &> /dev/null && export LESSOPEN="|lesspipe.sh %s" - which eza &> /dev/null && alias ls=eza - which nvim &> /dev/null && alias vi=nvim && alias vim=nvim - parse_git_dirty() { - git_status="$(git status 2> /dev/null)" - [[ "$git_status" =~ "use \"git push\" to publish your local commits" ]] && echo -n " %F{green}%f" - [[ "$git_status" =~ "Changes to be committed:" ]] && echo -n " %F{magenta}%f" - [[ "$git_status" =~ "Changes not staged for commit:" ]] && echo -n " %F{yellow}%f" - [[ "$git_status" =~ "Untracked files:" ]] && echo -n " %F{red}%f" - } - setopt prompt_subst - autoload -Uz vcs_info - precmd () { vcs_info } - zstyle ':vcs_info:*' formats ' %F{blue}%b%f' # git(main) - PS1='%(?..%B%F{red}[%?%\]%f%b )%F{green}%20<...<%~%<<%f$vcs_info_msg_0_$(parse_git_dirty) $ ' - ''; - profileExtra = '' - if [ ! -S ~/.ssh/ssh_auth_sock ]; then - eval `ssh-agent` > /dev/null - ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock - fi - export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock - ''; - }; - - programs.git = { - enable = true; - userName = "Jacob Janzen"; - userEmail = "jacob.a.s.janzen@gmail.com"; - }; - - programs.foot.enable = true; - programs.foot.settings = { - main = { - font = "SauceCodePro Nerd Font:size=10"; - pad = "6x6"; - }; - mouse = { - hide-when-typing = "yes"; - }; - colors = { - alpha = "0.9"; - background = "ece0c9"; - foreground = "191916"; - regular0 = "191916"; - regular1 = "ac4438"; - regular2 = "354d52"; - regular3 = "ba9151"; - regular4 = "465b91"; - regular5 = "5b5489"; - regular6 = "4e6062"; - regular7 = "c9ad7a"; - bright0 = "293c3c"; - bright1 = "d8611c"; - bright2 = "4b7b53"; - bright3 = "d8974b"; - bright4 = "2f3d91"; - bright5 = "735e82"; - bright6 = "6b8f92"; - bright7 = "ece0c9"; - }; - }; - - wayland.windowManager.hyprland.enable = true; - wayland.windowManager.hyprland.settings = { - monitor = [ "DP-2, 2560x1440@180, 0x0, 1" "HDMI-A-2, 1920x1080@60, -1080x-100, 1, transform, 3" ]; - "$terminal" = "foot"; - "$fileManager" = "dolphin"; - "$menu" = "fuzzel"; - exec-once = [ - "nm-applet &" - "blueman-applet &" - "waybar" - "mako" - "emacs --daemon" - "swaybg -m fill -i ~/.wallpaper" - "mpdscribble" - ]; - env = [ - "XCURSOR_SIZE,24" - "HYPRCURSOR_SIZE,24" - ]; - general = { - gaps_in = 5; - gaps_out = 20; - border_size = 2; - resize_on_border = false; - layout = "dwindle"; - "col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; - "col.inactive_border" = "rgba(595959aa)"; - }; - decoration = { - rounding = 10; - active_opacity = 1.0; - inactive_opacity = 1.0; - drop_shadow = true; - shadow_range = 4; - shadow_render_power = 3; - "col.shadow" = "rgba(1a1a1aee)"; - blur = { - enabled = true; - size = 3; - passes = 1; - vibrancy = "0.1696"; - }; - }; - animations = { - enabled = true; - bezier = "myBezier, 0.05, 0.9, 0.1, 1.05"; - animation = [ - "windows, 1, 7, myBezier" - "windowsOut, 1, 7, default, popin 80%" - "border, 1, 10, default" "borderangle, 1, 8, default" - "fade, 1, 7, default" "workspaces, 1, 6, default" - ]; - }; - dwindle = { - pseudotile = true; - preserve_split = true; - }; - master = { - new_status = "master"; - }; - input = { - kb_layout = "us"; - follow_mouse = 1; - sensitivity = 0; - }; - "$mainMod" = "SUPER"; - bind = [ - "$mainMod, RETURN, exec, $terminal" - "$mainMod SHIFT, Q, killactive" - "$mainMod, E, exec, $fileManager" - "$mainMod SHIFT, SPACE, togglefloating" - "$mainMod, D, exec, $menu" - "$mainMod, P, pseudo" - "$mainMod SHIFT, E, togglesplit" - "$mainMod, H, movefocus, l" - "$mainMod, J, movefocus, d" - "$mainMod, K, movefocus, u" - "$mainMod, L, movefocus, r" - "$mainMod, 1, workspace, 1" - "$mainMod, 2, workspace, 2" - "$mainMod, 3, workspace, 3" - "$mainMod, 4, workspace, 4" - "$mainMod, 5, workspace, 5" - "$mainMod, 6, workspace, 6" - "$mainMod, 7, workspace, 7" - "$mainMod, 8, workspace, 8" - "$mainMod, 9, workspace, 9" - "$mainMod, 0, workspace, 10" - "$mainMod SHIFT, 1, movetoworkspace, 1" - "$mainMod SHIFT, 2, movetoworkspace, 2" - "$mainMod SHIFT, 3, movetoworkspace, 3" - "$mainMod SHIFT, 4, movetoworkspace, 4" - "$mainMod SHIFT, 5, movetoworkspace, 5" - "$mainMod SHIFT, 6, movetoworkspace, 6" - "$mainMod SHIFT, 7, movetoworkspace, 7" - "$mainMod SHIFT, 8, movetoworkspace, 8" - "$mainMod SHIFT, 9, movetoworkspace, 9" - "$mainMod SHIFT, 0, movetoworkspace, 10" - "$mainMod CONTROL, L, exec, hyprlock" - "$mainMod, S, exec, hyprshot -m window --clipboard-only" - "$mainMod SHIFT, S, exec, hyprshot -m region --clipboard-only" - "$mainMod SHIFT CONTROL, S, exec, hyprshot -m output --clipboard-only" - ]; - bindel = [ - ",XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" - ",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" - ",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" - ",XF86Eject, exec, mpc toggle" - ]; - bindm = [ - "$mainMod, mouse:272, movewindow" - "$mainMod, mouse:273, resizewindow" - ]; - windowrulev2 = "suppressevent maximize, class:.*"; - }; - wayland.windowManager.hyprland.extraConfig = '' -################### -### KEYBINDINGS ### -################### -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, M, exit, - ''; - - home.stateVersion = "24.05"; - - programs.home-manager.enable = true; -} -- cgit v1.2.3