laptop, large refactor and some new stuff
This commit is contained in:
parent
525f4ce03b
commit
99bbbbeb1e
15 changed files with 307 additions and 492 deletions
36
flake.lock
36
flake.lock
|
@ -187,11 +187,11 @@
|
|||
"utils": "utils_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1661371005,
|
||||
"narHash": "sha256-PfWRIyJQhBtVhENqmVcI+C9kisctmzos+nrH+feGX3U=",
|
||||
"lastModified": 1661573386,
|
||||
"narHash": "sha256-pBEg8iY00Af/SAtU2dlmOAv+2x7kScaGlFRDjNoVJO8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "b382b59faf717c5b36f4cd8e1c5d96cdabd382c9",
|
||||
"rev": "d89bdff445eadff03fe414e9c30486bc8166b72b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -206,11 +206,11 @@
|
|||
"wlroots": "wlroots"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1661371527,
|
||||
"narHash": "sha256-gOfHnXvncOW3+zTAMFFMgVqFOBcTaI4gdiKBd7gN7go=",
|
||||
"lastModified": 1661598115,
|
||||
"narHash": "sha256-KL3VtSjHMYaTQDQ4MAtw7VTRu4XlyGY79byEnwb8CZs=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "e92469121d37af387cb7fa507ae6ac6225cb9ebc",
|
||||
"rev": "5d63152219514ecbe861cb70e9359adc0c5b2878",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -279,11 +279,11 @@
|
|||
"utils": "utils_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1661219530,
|
||||
"narHash": "sha256-jLKEpwbkp3ryXho5RT5hjhLjBOZelGm6X5JWUUxuwsA=",
|
||||
"lastModified": 1661565271,
|
||||
"narHash": "sha256-GTa5fSSifG57cDaklJfVj4MpWl/1vqiSPu4My2wLkVc=",
|
||||
"owner": "jyooru",
|
||||
"repo": "nix-minecraft-servers",
|
||||
"rev": "e624f6c056d95df8d6335d12bed0fe3c5af05159",
|
||||
"rev": "4724b9ab810125bc71dbbeca22237532cb61831b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -369,16 +369,16 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1661417153,
|
||||
"narHash": "sha256-wASLYEuPIoInMow71HhPPtDGWllBL8pDlP7l3kg2XII=",
|
||||
"owner": "NULLx76",
|
||||
"lastModified": 1661580117,
|
||||
"narHash": "sha256-hMWvEFqwk2E9Rb3+3yi8qu9Wo2eXnJX8mENVspA++3c=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ef0026af97075a88449bfe5cdb762501ff57d233",
|
||||
"rev": "e500665539e3abae0494c4db5d10cccb84de47ba",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NULLx76",
|
||||
"ref": "0x76",
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable-small",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
|
@ -453,11 +453,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1657869996,
|
||||
"narHash": "sha256-RWgKXjdAm+kpk45uKnJMcjNcxzmLyRbg5XAH7aLEruU=",
|
||||
"lastModified": 1661430987,
|
||||
"narHash": "sha256-kDCTfkOFP+cbS7DDf1WZNUuur/1PldfAygEZeDYiFNY=",
|
||||
"owner": "serokell",
|
||||
"repo": "serokell.nix",
|
||||
"rev": "599cef82b41643f529a23e5be3955f567c979ec0",
|
||||
"rev": "70ccee98be9fac4bf7064ef4d66adbfe09e5d277",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
# * https://git.voidcorp.nl/j00lz/nixos-configs/src/branch/main/flake.nix
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NULLx76/nixpkgs/0x76";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small";
|
||||
|
||||
colmena.url = "github:zhaofengli/colmena";
|
||||
colmena.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
|
|
@ -40,7 +40,7 @@ in
|
|||
# home-manager
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.victor = import ./home.nix;
|
||||
home-manager.users.victor = import ./home;
|
||||
home-manager.sharedModules = [
|
||||
inputs.hyprland.homeManagerModules.default
|
||||
];
|
||||
|
@ -52,16 +52,16 @@ in
|
|||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
dejavu_fonts
|
||||
(nerdfonts.override { fonts = [ "DejaVuSansMono" "Noto" "Ubuntu" "DroidSansMono" ]; })
|
||||
(nerdfonts.override { fonts = [ "DejaVuSansMono" "Ubuntu" "DroidSansMono" "NerdFontsSymbolsOnly" ]; })
|
||||
];
|
||||
|
||||
enableDefaultFonts = false;
|
||||
|
||||
fontconfig = {
|
||||
defaultFonts = {
|
||||
monospace = [ "DejaVuSansMono Nerd Font Mono" "Noto Color Emoji" ];
|
||||
sansSerif = [ "DejaVu Sans" "DejaVuSansMono Nerd Font Mono" "Noto Color Emoji" ];
|
||||
serif = [ "DejaVu Serif" "DejaVuSansMono Nerd Font Mono" "Noto Color Emoji" ];
|
||||
monospace = [ "DejaVuSansMono Nerd Font" "Noto Color Emoji" ];
|
||||
sansSerif = [ "DejaVu Sans" "DejaVuSansMono Nerd Font" "Noto Color Emoji" ];
|
||||
serif = [ "DejaVu Serif" "DejaVuSansMono Nerd Font" "Noto Color Emoji" ];
|
||||
emoji = [ "Noto Color Emoji" ];
|
||||
};
|
||||
};
|
||||
|
@ -93,17 +93,23 @@ in
|
|||
i18n.defaultLocale = "en_GB.utf8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_DK.utf8";
|
||||
LC_IDENTIFICATION = "en_DK.utf8";
|
||||
LC_MEASUREMENT = "en_DK.utf8";
|
||||
LC_MONETARY = "en_DK.utf8";
|
||||
LC_NAME = "en_DK.utf8";
|
||||
LC_NUMERIC = "en_DK.utf8";
|
||||
LC_PAPER = "en_DK.utf8";
|
||||
LC_TELEPHONE = "en_DK.utf8";
|
||||
LC_TIME = "en_DK.utf8";
|
||||
LC_ADDRESS = "nl_NL.UTF-8";
|
||||
LC_IDENTIFICATION = "nl_NL.UTF-8";
|
||||
LC_MEASUREMENT = "nl_NL.UTF-8";
|
||||
LC_MONETARY = "nl_NL.UTF-8";
|
||||
LC_NAME = "nl_NL.UTF-8";
|
||||
LC_NUMERIC = "nl_NL.UTF-8";
|
||||
LC_PAPER = "nl_NL.UTF-8";
|
||||
LC_TELEPHONE = "nl_NL.UTF-8";
|
||||
LC_TIME = "en_DK.UTF-8";
|
||||
};
|
||||
|
||||
i18n.supportedLocales = [
|
||||
"en_GB.UTF-8/UTF-8"
|
||||
"nl_NL.UTF-8/UTF-8"
|
||||
"en_DK.UTF-8/UTF-8"
|
||||
];
|
||||
|
||||
xdg = {
|
||||
portal = {
|
||||
enable = true;
|
||||
|
|
|
@ -1,277 +0,0 @@
|
|||
# Generated via dconf2nix: https://github.com/gvolpe/dconf2nix
|
||||
{ lib, ... }:
|
||||
|
||||
with lib.hm.gvariant;
|
||||
|
||||
{
|
||||
dconf.settings = {
|
||||
"apps/seahorse/listing" = {
|
||||
keyrings-selected = [ "secret-service:///org/freedesktop/secrets/collection/login" ];
|
||||
};
|
||||
|
||||
"apps/seahorse/windows/key-manager" = {
|
||||
height = 476;
|
||||
width = 600;
|
||||
};
|
||||
|
||||
"ca/desrt/dconf-editor" = {
|
||||
saved-pathbar-path = "/org/gnome/settings-daemon/plugins/media-keys/custom0/binding";
|
||||
saved-view = "/org/gnome/settings-daemon/plugins/media-keys/custom0/binding";
|
||||
window-height = 500;
|
||||
window-is-maximized = false;
|
||||
window-width = 540;
|
||||
};
|
||||
|
||||
"com/uploadedlobster/peek" = {
|
||||
persist-window-geometry = mkTuple [ 953 214 ];
|
||||
recording-output-format = "webm";
|
||||
recording-start-delay = 1;
|
||||
};
|
||||
|
||||
"es/atareao/wireguard-indicator" = {
|
||||
darktheme = false;
|
||||
nmcli = true;
|
||||
services = [ "service1|wg-quick@wg0.service" "service2|wg-quick@wg1.service" ];
|
||||
sudo = false;
|
||||
};
|
||||
|
||||
"org/gnome/Totem" = {
|
||||
active-plugins = [ "vimeo" "variable-rate" "skipto" "screenshot" "screensaver" "save-file" "rotation" "recent" "movie-properties" "open-directory" "mpris" "autoload-subtitles" "apple-trailers" ];
|
||||
subtitle-encoding = "UTF-8";
|
||||
};
|
||||
|
||||
"org/gnome/calendar" = {
|
||||
active-view = "month";
|
||||
window-maximized = true;
|
||||
window-size = mkTuple [ 768 600 ];
|
||||
};
|
||||
|
||||
"org/gnome/control-center" = {
|
||||
last-panel = "keyboard";
|
||||
window-state = mkTuple [ 980 640 ];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/app-folders" = {
|
||||
folder-children = [ "Utilities" "YaST" ];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/app-folders/folders/Utilities" = {
|
||||
apps = [ "gnome-abrt.desktop" "gnome-system-log.desktop" "nm-connection-editor.desktop" "org.gnome.baobab.desktop" "org.gnome.Connections.desktop" "org.gnome.DejaDup.desktop" "org.gnome.Dictionary.desktop" "org.gnome.DiskUtility.desktop" "org.gnome.eog.desktop" "org.gnome.Evince.desktop" "org.gnome.FileRoller.desktop" "org.gnome.fonts.desktop" "org.gnome.seahorse.Application.desktop" "org.gnome.tweaks.desktop" "org.gnome.Usage.desktop" "vinagre.desktop" ];
|
||||
categories = [ "X-GNOME-Utilities" ];
|
||||
name = "X-GNOME-Utilities.directory";
|
||||
translate = true;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/app-folders/folders/YaST" = {
|
||||
categories = [ "X-SuSE-YaST" ];
|
||||
name = "suse-yast.directory";
|
||||
translate = true;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/input-sources" = {
|
||||
sources = [ (mkTuple [ "xkb" "us+altgr-intl" ]) ];
|
||||
xkb-options = [ "terminate:ctrl_alt_bksp" "caps:swapescape" ];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "default";
|
||||
font-antialiasing = "grayscale";
|
||||
font-hinting = "slight";
|
||||
gtk-theme = "Arc-Darker";
|
||||
show-battery-percentage = true;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications" = {
|
||||
application-children = [ "gnome-power-panel" "code" "org-gnome-console" "codium" "discord" "org-gnome-totem" "com-uploadedlobster-peek" ];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications/application/code" = {
|
||||
application-id = "code.desktop";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications/application/codium" = {
|
||||
application-id = "codium.desktop";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications/application/com-uploadedlobster-peek" = {
|
||||
application-id = "com.uploadedlobster.peek.desktop";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications/application/discord" = {
|
||||
application-id = "discord.desktop";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications/application/gnome-power-panel" = {
|
||||
application-id = "gnome-power-panel.desktop";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications/application/org-gnome-console" = {
|
||||
application-id = "org.gnome.Console.desktop";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/notifications/application/org-gnome-totem" = {
|
||||
application-id = "org.gnome.Totem.desktop";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/peripherals/touchpad" = {
|
||||
tap-to-click = true;
|
||||
two-finger-scrolling-enabled = true;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/search-providers" = {
|
||||
sort-order = [ "org.gnome.Contacts.desktop" "org.gnome.Documents.desktop" "org.gnome.Nautilus.desktop" ];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/session" = {
|
||||
idle-delay = mkUint32 300;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/sound" = {
|
||||
event-sounds = true;
|
||||
theme-name = "__custom";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/wm/keybindings" = {
|
||||
move-to-workspace-1 = [ "<Shift><Super>exclam" ];
|
||||
move-to-workspace-2 = [ "<Shift><Super>at" ];
|
||||
move-to-workspace-3 = [ "<Shift><Super>numbersign" ];
|
||||
move-to-workspace-4 = [ "<Shift><Super>dollar" ];
|
||||
switch-to-workspace-1 = [ "<Super>1" ];
|
||||
switch-to-workspace-2 = [ "<Super>2" ];
|
||||
switch-to-workspace-3 = [ "<Super>3" ];
|
||||
switch-to-workspace-4 = [ "<Super>4" ];
|
||||
switch-to-workspace-5 = [ "<Super>5" ];
|
||||
switch-to-workspace-6 = [ "<Super>6" ];
|
||||
switch-to-workspace-7 = [ "<Super>7" ];
|
||||
switch-to-workspace-8 = [ "<Super>8" ];
|
||||
switch-to-workspace-9 = [ "<Super>9" ];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/wm/preferences" = {
|
||||
focus-mode = "sloppy";
|
||||
num-workspaces = 6;
|
||||
};
|
||||
|
||||
"org/gnome/epiphany" = {
|
||||
ask-for-default = false;
|
||||
};
|
||||
|
||||
"org/gnome/epiphany/state" = {
|
||||
is-maximized = false;
|
||||
window-position = mkTuple [ (-1) (-1) ];
|
||||
window-size = mkTuple [ 1024 768 ];
|
||||
};
|
||||
|
||||
"org/gnome/evolution-data-server" = {
|
||||
migrated = true;
|
||||
network-monitor-gio-name = "";
|
||||
};
|
||||
|
||||
"org/gnome/file-roller/dialogs/extract" = {
|
||||
recreate-folders = true;
|
||||
skip-newer = false;
|
||||
};
|
||||
|
||||
"org/gnome/file-roller/listing" = {
|
||||
list-mode = "as-folder";
|
||||
name-column-width = 250;
|
||||
show-path = false;
|
||||
sort-method = "name";
|
||||
sort-type = "ascending";
|
||||
};
|
||||
|
||||
"org/gnome/file-roller/ui" = {
|
||||
sidebar-width = 200;
|
||||
window-height = 480;
|
||||
window-width = 600;
|
||||
};
|
||||
|
||||
"org/gnome/mutter" = {
|
||||
attach-modal-dialogs = true;
|
||||
dynamic-workspaces = false;
|
||||
edge-tiling = true;
|
||||
focus-change-on-pointer-rest = true;
|
||||
workspaces-only-on-primary = false;
|
||||
};
|
||||
|
||||
"org/gnome/nautilus/preferences" = {
|
||||
default-folder-viewer = "icon-view";
|
||||
search-filter-time-type = "last_modified";
|
||||
};
|
||||
|
||||
"org/gnome/nautilus/window-state" = {
|
||||
initial-size = mkTuple [ 890 550 ];
|
||||
maximized = false;
|
||||
};
|
||||
|
||||
"org/gnome/nm-applet/eap/97297cfa-75d0-4653-84a7-67940e6e828a" = {
|
||||
ignore-ca-cert = true;
|
||||
ignore-phase2-ca-cert = false;
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys" = {
|
||||
custom-keybindings = [ "/org/gnome/settings-daemon/plugins/media-keys/custom0/" ];
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom0" = {
|
||||
binding = "<Super>Return";
|
||||
command = "kgx";
|
||||
name = "Open Terminal";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/power" = {
|
||||
power-button-action = "suspend";
|
||||
};
|
||||
|
||||
"org/gnome/shell" = {
|
||||
disabled-extensions = [ "window-list@gnome-shell-extensions.gcampax.github.com" ];
|
||||
enabled-extensions = [ "wireguard-indicator@atareao.es" "appindicatorsupport@rgcjonas.gmail.com" ];
|
||||
favorite-apps = [ "firefox.desktop" "org.gnome.Nautilus.desktop" "org.gnome.Console.desktop" ];
|
||||
had-bluetooth-devices-setup = true;
|
||||
welcome-dialog-last-shown-version = "42.4";
|
||||
};
|
||||
|
||||
"org/gnome/shell/app-switcher" = {
|
||||
current-workspace-only = true;
|
||||
};
|
||||
|
||||
"org/gnome/shell/keybindings" = {
|
||||
switch-to-application-1 = [];
|
||||
switch-to-application-2 = [];
|
||||
switch-to-application-3 = [];
|
||||
switch-to-application-4 = [];
|
||||
};
|
||||
|
||||
"org/gnome/shell/world-clocks" = {
|
||||
locations = "@av []";
|
||||
};
|
||||
|
||||
"org/gnome/tweaks" = {
|
||||
show-extensions-notice = false;
|
||||
};
|
||||
|
||||
"org/gtk/settings/file-chooser" = {
|
||||
date-format = "regular";
|
||||
location-mode = "path-bar";
|
||||
show-hidden = false;
|
||||
show-size-column = true;
|
||||
show-type-column = true;
|
||||
sidebar-width = 157;
|
||||
sort-column = "name";
|
||||
sort-directories-first = false;
|
||||
sort-order = "ascending";
|
||||
type-format = "category";
|
||||
window-position = mkTuple [ 0 32 ];
|
||||
window-size = mkTuple [ 1203 902 ];
|
||||
};
|
||||
|
||||
"system/locale" = {
|
||||
region = "en_DK.UTF-8";
|
||||
};
|
||||
|
||||
"system/proxy" = {
|
||||
mode = "none";
|
||||
};
|
||||
|
||||
};
|
||||
}
|
|
@ -1,90 +0,0 @@
|
|||
{ config, pkgs, lib, ... }: {
|
||||
programs.home-manager.enable = true;
|
||||
home.username = "victor";
|
||||
home.homeDirectory = "/home/victor";
|
||||
home.stateVersion = "22.05";
|
||||
|
||||
imports = [
|
||||
./dconf.nix
|
||||
./hyprland
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
discord
|
||||
rnix-lsp
|
||||
fusee-launcher
|
||||
neofetch
|
||||
fluxcd
|
||||
k9s
|
||||
kubectl
|
||||
nixpkgs-review
|
||||
ripgrep
|
||||
rsync
|
||||
rustup
|
||||
rust-analyzer
|
||||
steam-run
|
||||
texlive.combined.scheme-full
|
||||
retroarchFull
|
||||
python3
|
||||
element-desktop-wayland
|
||||
];
|
||||
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
package = pkgs.rofi-wayland;
|
||||
};
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
package = pkgs.gitAndTools.gitFull;
|
||||
userName = "Victor";
|
||||
userEmail = "victor@xirion.net";
|
||||
};
|
||||
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
shortcut = "b";
|
||||
terminal = "screen-256color";
|
||||
clock24 = true;
|
||||
};
|
||||
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = pkgs.firefox-devedition-bin;
|
||||
};
|
||||
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscode;
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
matklad.rust-analyzer
|
||||
mkhl.direnv
|
||||
jnoortheen.nix-ide
|
||||
james-yu.latex-workshop
|
||||
valentjn.vscode-ltex
|
||||
];
|
||||
};
|
||||
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
programs.zsh.enable = true;
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Arc-Darker";
|
||||
package = pkgs.arc-theme;
|
||||
};
|
||||
};
|
||||
|
||||
services.syncthing.enable = true;
|
||||
}
|
133
nixos/hosts/thalassa/null/home/default.nix
Normal file
133
nixos/hosts/thalassa/null/home/default.nix
Normal file
|
@ -0,0 +1,133 @@
|
|||
{ config, pkgs, lib, fetchFromGithub, ... }:
|
||||
let
|
||||
rofi = fetchTarball {
|
||||
url = "https://github.com/adi1090x/rofi/archive/refs/heads/master.zip";
|
||||
sha256 = "0wq8v758gnk1wjdqyqmda5rlxlpv33l3sdf3rb3nx834vc5hr1rn";
|
||||
};
|
||||
in
|
||||
{
|
||||
programs.home-manager.enable = true;
|
||||
home.username = "victor";
|
||||
home.homeDirectory = "/home/victor";
|
||||
home.stateVersion = "22.05";
|
||||
|
||||
imports = [
|
||||
./hyprland
|
||||
./eww
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
discord
|
||||
rnix-lsp
|
||||
fusee-launcher
|
||||
neofetch
|
||||
fluxcd
|
||||
k9s
|
||||
kubectl
|
||||
nixpkgs-review
|
||||
ripgrep
|
||||
rsync
|
||||
rustup
|
||||
rust-analyzer
|
||||
steam-run
|
||||
texlive.combined.scheme-full
|
||||
retroarchFull
|
||||
python3
|
||||
element-desktop-wayland
|
||||
|
||||
gnome.gnome-font-viewer
|
||||
|
||||
wofi # Wayland rofi
|
||||
grim # Screenshot tool
|
||||
wf-recorder # Screenrecorder
|
||||
wl-clipboard # Clipboard manager
|
||||
networkmanager_dmenu
|
||||
brightnessctl
|
||||
];
|
||||
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
package = pkgs.gitAndTools.gitFull;
|
||||
userName = "Victor";
|
||||
userEmail = "victor@xirion.net";
|
||||
};
|
||||
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
shortcut = "b";
|
||||
terminal = "screen-256color";
|
||||
clock24 = true;
|
||||
};
|
||||
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = pkgs.firefox-devedition-bin;
|
||||
};
|
||||
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscode;
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
matklad.rust-analyzer
|
||||
mkhl.direnv
|
||||
jnoortheen.nix-ide
|
||||
james-yu.latex-workshop
|
||||
valentjn.vscode-ltex
|
||||
];
|
||||
};
|
||||
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
programs.zsh.enable = true;
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Catppuccin-Purple-Dark";
|
||||
package = pkgs.catppuccin-gtk;
|
||||
};
|
||||
iconTheme = {
|
||||
name = "Arc";
|
||||
package = pkgs.arc-icon-theme;
|
||||
};
|
||||
};
|
||||
|
||||
services.syncthing.enable = true;
|
||||
|
||||
home.file.".config/networkmanager-dmenu/config.ini".text = ''
|
||||
[dmenu]
|
||||
dmenu_command = wofi --dmenu -i
|
||||
# # Note that dmenu_command can contain arguments as well like:
|
||||
# # `dmenu_command = rofi -dmenu -i -theme nmdm`
|
||||
# # `dmenu_command = rofi -dmenu -width 30 -i`
|
||||
# # `dmenu_command = dmenu -i -l 25 -b -nb #909090 -nf #303030`
|
||||
# (Default: False) use rofi highlighting instead of '=='
|
||||
rofi_highlight = true
|
||||
# compact = <True or False> # (Default: False). Remove extra spacing from display
|
||||
# pinentry = <Pinentry command> # (Default: None) e.g. `pinentry-gtk`
|
||||
# wifi_chars = <string of 4 unicode characters representing 1-4 bars strength>
|
||||
wifi_chars = ▂▄▆█
|
||||
# list_saved = <True or False> # (Default: False) list saved connections
|
||||
|
||||
[dmenu_passphrase]
|
||||
# # Uses the -password flag for Rofi, -x for bemenu. For dmenu, sets -nb and
|
||||
# # -nf to the same color or uses -P if the dmenu password patch is applied
|
||||
# # https://tools.suckless.org/dmenu/patches/password/
|
||||
# obscure = True
|
||||
# obscure_color = #222222
|
||||
|
||||
[editor]
|
||||
# terminal = <name of terminal program>
|
||||
terminal = alacritty
|
||||
# gui_if_available = <True or False> (Default: True)
|
||||
'';
|
||||
}
|
|
@ -10,11 +10,6 @@
|
|||
home.file.".config/eww/eww.scss".source = ./eww.scss;
|
||||
|
||||
# scripts
|
||||
home.file.".config/eww/scripts/battery.sh" = {
|
||||
source = ./scripts/battery.sh;
|
||||
executable = true;
|
||||
};
|
||||
|
||||
home.file.".config/eww/scripts/volume.sh" = {
|
||||
source = ./scripts/volume.sh;
|
||||
executable = true;
|
|
@ -23,7 +23,6 @@ $light-gray: #9699b7;
|
|||
font-size: 1.4rem;
|
||||
}
|
||||
|
||||
|
||||
button {
|
||||
transition: background-color 200ms, color 200ms;
|
||||
}
|
||||
|
@ -124,6 +123,7 @@ button {
|
|||
color: $text;
|
||||
padding: 10px;
|
||||
font-size: 55px;
|
||||
border-radius: 5px;
|
||||
|
||||
transition: all 200ms cubic-bezier(.1, -0.00, .0, 1.49);
|
||||
|
||||
|
@ -176,3 +176,77 @@ button {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// battery menu
|
||||
.batterywindow {
|
||||
background-color: $mantle;
|
||||
border-radius: 5px;
|
||||
font-size: 18px;
|
||||
font-weight: normal;
|
||||
color: $text;
|
||||
|
||||
progressbar {
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
progressbar progress {
|
||||
background-color: $green;
|
||||
}
|
||||
|
||||
progressbar trough {
|
||||
background-color: $base;
|
||||
}
|
||||
|
||||
.batterymenu {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Calendar
|
||||
.cal {
|
||||
background-color: $mantle;
|
||||
border-radius: 5px;
|
||||
font-size: 18px;
|
||||
font-weight: normal;
|
||||
|
||||
.cal-in {
|
||||
padding: 0px 10px 0px 10px;
|
||||
color: $text;
|
||||
|
||||
.cal {
|
||||
&.highlight {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
padding: 5px 5px 5px 5px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
calender {
|
||||
color: $text;
|
||||
}
|
||||
|
||||
calendar:selected {
|
||||
color: $mauve;
|
||||
}
|
||||
|
||||
calendar.header {
|
||||
color: $overlay0;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
calendar.button {
|
||||
color: $base;
|
||||
}
|
||||
|
||||
calendar.highlight {
|
||||
color: $overlay0;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
calendar:indeterminate {
|
||||
color: $text;
|
||||
}
|
|
@ -34,17 +34,44 @@
|
|||
)
|
||||
|
||||
;; ━━━ BATTERY ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
(defvar battery "{}")
|
||||
(defpoll battery :interval "60s" "./scripts/battery.sh")
|
||||
|
||||
(defwidget battery []
|
||||
(label :text {battery.icon}
|
||||
(eventbox :onclick "eww open batterywindow --toggle"
|
||||
(label :text `${
|
||||
EWW_BATTERY.BAT0.status == "Charging" ? "" :
|
||||
EWW_BATTERY.BAT0.capacity < 10 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity < 20 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity < 30 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity < 40 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity < 50 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity < 60 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity < 70 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity < 80 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity < 90 ? "" : ""
|
||||
}`
|
||||
:limit-width 10
|
||||
:tooltip "${battery.status}: ${battery.percent}"
|
||||
:tooltip "${EWW_BATTERY.BAT0.status}: ${EWW_BATTERY.BAT0.capacity}%"
|
||||
:class "battery"
|
||||
))
|
||||
)
|
||||
|
||||
(defwidget batterymenu []
|
||||
(box :orientation "v"
|
||||
:class "batterymenu"
|
||||
(label :text "${EWW_BATTERY.BAT0.status}: ${EWW_BATTERY.BAT0.capacity}%")
|
||||
(progress :value "${EWW_BATTERY.BAT0.capacity}" :orientation "h") ; TODO: change class (and color) on low juice
|
||||
)
|
||||
)
|
||||
|
||||
(defwindow batterywindow
|
||||
:monitor 0
|
||||
:geometry (geometry
|
||||
:x "53px"
|
||||
:y "30px"
|
||||
:anchor "bottom left"
|
||||
)
|
||||
(batterymenu)
|
||||
)
|
||||
|
||||
;; ━━━ VOLUME ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
(defvar volume "{}")
|
||||
(defpoll volume :interval "1s" "./scripts/volume.sh")
|
||||
|
@ -66,16 +93,36 @@
|
|||
(defwidget time []
|
||||
(eventbox :cursor "hand" :hexpand false :vexpand false
|
||||
:tooltip "${dateVar}"
|
||||
:onclick "eww open calendar --toggle &"
|
||||
(box :orientation "v" :hexpand false :vexpand false :space-evenly false :class "clock"
|
||||
(button :class "date"
|
||||
:onclick "" "${hour}")
|
||||
(label :class "date" :text "${hour}")
|
||||
|
||||
(button :class "date"
|
||||
:onclick "" "${minute}")
|
||||
(label :class "date" :text "${minute}")
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; Calendar
|
||||
(defpoll calendar_day :interval "20h" "date '+%d'")
|
||||
(defpoll calendar_year :interval "20h" "date '+%Y'")
|
||||
(defwidget cal []
|
||||
(box :class "cal" :orientation "v"
|
||||
(box :class "cal-in"
|
||||
(calendar :class "cal"
|
||||
:day calendar_day
|
||||
:year calendar_year))))
|
||||
|
||||
(defwindow calendar
|
||||
:monitor 0
|
||||
:geometry (geometry :x "53px"
|
||||
:y "5px"
|
||||
:anchor "bottom left"
|
||||
:width "270px"
|
||||
:height "60px")
|
||||
(cal))
|
||||
|
||||
;; powermenu
|
||||
|
||||
(defwidget powerbutton []
|
||||
(eventbox :cursor "hand"
|
||||
(button :class "reg-btn powerbutton"
|
|
@ -1,52 +1,8 @@
|
|||
{ pkgs, ... }: {
|
||||
imports = [
|
||||
./eww
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
wofi # Wayland rofi
|
||||
grim # Screenshot tool
|
||||
wf-recorder # Screenrecorder
|
||||
wl-clipboard # Clipboard manager
|
||||
networkmanager_dmenu
|
||||
brightnessctl
|
||||
];
|
||||
|
||||
programs.mako.enable = true;
|
||||
|
||||
home.file.".config/networkmanager-dmenu/config.ini".text = ''
|
||||
[dmenu]
|
||||
dmenu_command = rofi -dmenu -i
|
||||
# # Note that dmenu_command can contain arguments as well like:
|
||||
# # `dmenu_command = rofi -dmenu -i -theme nmdm`
|
||||
# # `dmenu_command = rofi -dmenu -width 30 -i`
|
||||
# # `dmenu_command = dmenu -i -l 25 -b -nb #909090 -nf #303030`
|
||||
# (Default: False) use rofi highlighting instead of '=='
|
||||
rofi_highlight = true
|
||||
# compact = <True or False> # (Default: False). Remove extra spacing from display
|
||||
# pinentry = <Pinentry command> # (Default: None) e.g. `pinentry-gtk`
|
||||
# wifi_chars = <string of 4 unicode characters representing 1-4 bars strength>
|
||||
wifi_chars = ▂▄▆█
|
||||
# list_saved = <True or False> # (Default: False) list saved connections
|
||||
|
||||
[dmenu_passphrase]
|
||||
# # Uses the -password flag for Rofi, -x for bemenu. For dmenu, sets -nb and
|
||||
# # -nf to the same color or uses -P if the dmenu password patch is applied
|
||||
# # https://tools.suckless.org/dmenu/patches/password/
|
||||
# obscure = True
|
||||
# obscure_color = #222222
|
||||
|
||||
[editor]
|
||||
# terminal = <name of terminal program>
|
||||
terminal = alacritty
|
||||
# gui_if_available = <True or False> (Default: True)
|
||||
'';
|
||||
|
||||
home.file.".config/hypr/hyprpaper.conf".text = ''
|
||||
ipc = off
|
||||
preload = ~/cloud/Pictures/Wallpapers-Laptop/wallpaper-nix.png
|
||||
wallpaper = eDP-1,~/cloud/Pictures/Wallpapers-Laptop/wallpaper-nix.png
|
||||
|
||||
'';
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
|
@ -77,6 +33,8 @@
|
|||
|
||||
misc {
|
||||
no_vfr = false
|
||||
disable_hyprland_logo = true
|
||||
disable_splash_rendering = true
|
||||
}
|
||||
|
||||
dwindle {
|
||||
|
@ -85,7 +43,7 @@
|
|||
|
||||
bind=SUPER,RETURN,exec,alacritty
|
||||
bind=SUPER,f,exec,firefox-devedition
|
||||
bind=SUPER,d,exec,rofi -show run
|
||||
bind=SUPER,d,exec,wofi --show run,drun
|
||||
|
||||
bind=,Print,exec,grim -g "$(slurp)" - | wl-copy -t image/png
|
||||
bind=SUPER,W,killactive,
|
|
@ -1,31 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
bat=/sys/class/power_supply/BAT0
|
||||
per="$(cat "$bat/capacity")"
|
||||
status="$(cat "$bat/status")"
|
||||
|
||||
if [ "$per" -gt "90" ]; then
|
||||
icon=""
|
||||
elif [ "$per" -gt "80" ]; then
|
||||
icon=""
|
||||
elif [ "$per" -gt "70" ]; then
|
||||
icon=""
|
||||
elif [ "$per" -gt "60" ]; then
|
||||
icon=""
|
||||
elif [ "$per" -gt "50" ]; then
|
||||
icon=""
|
||||
elif [ "$per" -gt "40" ]; then
|
||||
icon=""
|
||||
elif [ "$per" -gt "30" ]; then
|
||||
icon=""
|
||||
elif [ "$per" -gt "20" ]; then
|
||||
icon=""
|
||||
elif [ "$per" -gt "10" ]; then
|
||||
icon=""
|
||||
elif [ "$per" -gt "0" ]; then
|
||||
icon=""
|
||||
else
|
||||
icon=""
|
||||
fi
|
||||
|
||||
echo "{\"percent\": \"$per\", \"icon\": \"$icon\", \"charging\": \"$charging\", \"visible\": \"true\", \"status\": \"$status\"}"
|
Loading…
Reference in a new issue