first commit
This commit is contained in:
commit
cd3ca919f0
16 changed files with 2071 additions and 0 deletions
174
nixos/home-manager/ale-laptop.nix
Normal file
174
nixos/home-manager/ale-laptop.nix
Normal file
|
@ -0,0 +1,174 @@
|
|||
{config, pkgs, ...}:
|
||||
|
||||
{
|
||||
home.username = "ale";
|
||||
home.homeDirectory = "/home/ale";
|
||||
nixpkgs.config.allowUnfree = false;
|
||||
|
||||
xdg.enable = true; # Let's home-manager manage xdg variables
|
||||
|
||||
home.packages = [
|
||||
pkgs.btop
|
||||
pkgs.hyfetch
|
||||
pkgs.distrobox
|
||||
|
||||
pkgs.rofi-wayland
|
||||
pkgs.waybar
|
||||
pkgs.swaybg
|
||||
|
||||
pkgs.paper-icon-theme
|
||||
pkgs.adw-gtk3
|
||||
];
|
||||
|
||||
programs.fish = { # feeeeesh configs uwu
|
||||
enable = true;
|
||||
interactiveShellInit = "
|
||||
set fish_greeting
|
||||
${pkgs.starship}/bin/starship init fish | source
|
||||
";
|
||||
};
|
||||
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
character.success_symbol = "[➜](bold green)";
|
||||
directory.read_only = " 🥺";
|
||||
format = "$directory$git_branch \n$character";
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
config = {
|
||||
terminal = "alacritty";
|
||||
window.border = 1;
|
||||
colors.focused = {
|
||||
background = "#282828";
|
||||
text = "#d3869b";
|
||||
childBorder = "#d3869b";
|
||||
indicator = "b16286";
|
||||
border = "#d3869b";
|
||||
};
|
||||
gaps = {
|
||||
inner = 10;
|
||||
};
|
||||
bars = [];
|
||||
startup = [
|
||||
{ command = "waybar"; }
|
||||
{ command = "swaybg -i ~/Pictures/wallgockers/lain.png";}
|
||||
];
|
||||
window.titlebar = false;
|
||||
keybindings = {
|
||||
"Ctrl+Alt+1" = "workspace 1";
|
||||
"Ctrl+Alt+2" = "workspace 2";
|
||||
"Ctrl+Alt+3" = "workspace 3";
|
||||
"Ctrl+Alt+4" = "workspace 4";
|
||||
|
||||
"Ctrl+Alt+Shift+1" = "move container to workspace 1";
|
||||
"Ctrl+Alt+Shift+2" = "move container to workspace 2";
|
||||
"Ctrl+Alt+Shift+3" = "move container to workspace 3";
|
||||
"Ctrl+Alt+Shift+4" = "move container to workspace 4";
|
||||
|
||||
"mod4+f" = "fullscreen";
|
||||
"Ctrl+Alt+f" = "floating toggle";
|
||||
|
||||
"Ctrl+Alt+w" = "kill";
|
||||
"Ctrl+Alt+Shift+c" = "reload";
|
||||
"mod4+Return" = "exec alacritty";
|
||||
"mod1+Space" = "exec rofi -show drun";
|
||||
};
|
||||
input = {
|
||||
"*" = {
|
||||
xkb_layout = "it";
|
||||
"natural_scroll" = "enabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
settings = {
|
||||
bar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 24;
|
||||
|
||||
modules-left = ["sway/workspaces"];
|
||||
modules-center = ["sway/window"];
|
||||
modules-right = ["pulseaudio" "battery" "clock"];
|
||||
|
||||
pulseaudio = {
|
||||
format = "v: {volume}%";
|
||||
};
|
||||
|
||||
battery = {
|
||||
format = "b: {capacity}%";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
style = "
|
||||
* {
|
||||
font-family: jetbrains mono;
|
||||
background-color: #282828;
|
||||
color: #ebdbb2;
|
||||
}
|
||||
|
||||
#workspaces button, #workspaces button:hover {
|
||||
border: none;
|
||||
border-radius : unset;
|
||||
background: unset;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
color: #d3869b;
|
||||
}
|
||||
#battery {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
background-color: #504945;
|
||||
}
|
||||
|
||||
#clock {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
background-color: #3c3836;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
background-color: #665c54;
|
||||
}
|
||||
|
||||
";
|
||||
};
|
||||
|
||||
services.mako = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# the trans is real
|
||||
programs.hyfetch = {
|
||||
enable = true;
|
||||
settings = {
|
||||
preset = "transgender";
|
||||
mode = "rgb";
|
||||
color_align = {
|
||||
mode = "horizontal";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
};
|
||||
|
||||
# no touchy, things go breaky
|
||||
home.stateVersion = "23.05";
|
||||
|
||||
}
|
533
nixos/home-manager/alecake.nix
Normal file
533
nixos/home-manager/alecake.nix
Normal file
|
@ -0,0 +1,533 @@
|
|||
{ inputs, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
home.username = "alecake";
|
||||
home.homeDirectory = "/home/alecake";
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
imports = [
|
||||
./programs/emacs/emacs.nix
|
||||
];
|
||||
|
||||
nixpkgs.overlays = [
|
||||
(import inputs.emacs-overlay)
|
||||
(final: prev:{emacs-unstable-pgtk = prev.emacs-unstable.override { withGTK3 = true; withTreeSitter = true; withNativeCompilation = true;};})
|
||||
];
|
||||
nixpkgs.config.permittedInsecurePackages = [
|
||||
"imagemagick-6.9.12-68"
|
||||
];
|
||||
# Lets home-manager manage xdg stuff uwu
|
||||
xdg = {
|
||||
enable = true;
|
||||
userDirs.enable = true;
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
EDITOR = "emacs --no-window-system";
|
||||
NODE_REPL_HISTORY = "";
|
||||
};
|
||||
|
||||
home.shellAliases = {
|
||||
ls = "eza --icons --hyperlink -w=60";
|
||||
};
|
||||
|
||||
home.packages = [
|
||||
pkgs.btop
|
||||
pkgs.hyfetch
|
||||
pkgs.distrobox
|
||||
pkgs.neovim
|
||||
pkgs.fzf
|
||||
pkgs.eza
|
||||
pkgs.scrcpy
|
||||
|
||||
pkgs.emacs-unstable-pgtk
|
||||
|
||||
pkgs.multimarkdown
|
||||
pkgs.pandoc
|
||||
|
||||
pkgs.unzip
|
||||
pkgs.zip
|
||||
|
||||
#pkgs.ulauncher
|
||||
#pkgs.swww
|
||||
#inputs.eww.packages.x86_64-linux.eww-wayland
|
||||
pkgs.xdg_utils
|
||||
#inputs.hyprland-contrib.packages.x86_64-linux.grimblast
|
||||
|
||||
pkgs.appimage-run
|
||||
pkgs.swaynotificationcenter
|
||||
|
||||
pkgs.gnome.adwaita-icon-theme
|
||||
#pkgs.libsForQt5.qtstyleplugin-kvantum
|
||||
|
||||
pkgs.jetbrains.idea-community
|
||||
pkgs.gnome.nautilus
|
||||
pkgs.nextcloud-client
|
||||
pkgs.yubikey-personalization-gui
|
||||
|
||||
];
|
||||
|
||||
programs.fish = { # feeeeesh configs uwu
|
||||
enable = true;
|
||||
package = pkgs.fish;
|
||||
interactiveShellInit = "
|
||||
set fish_greeting
|
||||
${pkgs.starship}/bin/starship init fish | source
|
||||
";
|
||||
|
||||
plugins = [
|
||||
{name = "fzf-fish"; src = pkgs.fishPlugins.fzf-fish;}
|
||||
];
|
||||
};
|
||||
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
settings = {
|
||||
character.success_symbol = "[➜](bold green)";
|
||||
directory.read_only = " 🥺";
|
||||
format = "$directory$git_branch \n$character";
|
||||
};
|
||||
};
|
||||
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
package = pkgs.sway;
|
||||
config = {
|
||||
terminal = "alacritty";
|
||||
window.border = 1;
|
||||
colors.focused = {
|
||||
background = "#282828";
|
||||
text = "#d3869b";
|
||||
childBorder = "#d3869b";
|
||||
indicator = "b16286";
|
||||
border = "#d3869b";
|
||||
};
|
||||
gaps = {
|
||||
inner = 10;
|
||||
};
|
||||
bars = [];
|
||||
startup = [
|
||||
{ command = "eww daemon";}
|
||||
{ command = "eww open bar"; }
|
||||
{ command = "swww init";}
|
||||
{ command = "swww img --transition-type wipe Pictures/wallpapers/night/BNAWall-10240x5760-upscaled.png";}
|
||||
];
|
||||
window.titlebar = false;
|
||||
keybindings = {
|
||||
"Ctrl+Alt+1" = "workspace 1";
|
||||
"Ctrl+Alt+2" = "workspace 2";
|
||||
"Ctrl+Alt+3" = "workspace 3";
|
||||
"Ctrl+Alt+4" = "workspace 4";
|
||||
"Ctrl+Alt+5" = "workspace 5";
|
||||
"Ctrl+Alt+6" = "workspace 6";
|
||||
"Ctrl+Alt+7" = "workspace 7";
|
||||
|
||||
|
||||
"Ctrl+Alt+Shift+1" = "move container to workspace 1";
|
||||
"Ctrl+Alt+Shift+2" = "move container to workspace 2";
|
||||
"Ctrl+Alt+Shift+3" = "move container to workspace 3";
|
||||
"Ctrl+Alt+Shift+4" = "move container to workspace 4";
|
||||
|
||||
"mod4+f" = "fullscreen";
|
||||
"Ctrl+Alt+f" = "floating toggle";
|
||||
|
||||
"Ctrl+Alt+mod4+w" = "kill";
|
||||
"Ctrl+Alt+Shift+c" = "reload";
|
||||
"mod4+Return" = "exec alacritty";
|
||||
"mod1+Space" = "exec ulauncher toggle";
|
||||
};
|
||||
input = {
|
||||
"*" = {
|
||||
xkb_layout = "it";
|
||||
"natural_scroll" = "enabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = false;
|
||||
enableNvidiaPatches = true;
|
||||
xwayland.enable = true;
|
||||
package = inputs.hyprland.packages.x86_64-linux.hyprland;
|
||||
extraConfig =''
|
||||
env = WLR_NO_HARDWARE_CURSORS,1
|
||||
env = XDG_SESSION_TYPE,wayland
|
||||
env = LIBVA_DRIVER_NAME,nvidia
|
||||
env = GBM_BACKEND,nvidia-drm
|
||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||
env = NIXOS_OZONE_WL,1
|
||||
env = XDG_CURRENT_DESKTOP,hyprland
|
||||
|
||||
exec-once = eww open bar
|
||||
exec-once = ulauncher
|
||||
exec-once = swaync
|
||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||
exec-once = swww init
|
||||
|
||||
monitor=HDMI-A-2, 1920x1080@75, 1920x0, 1
|
||||
monitor=HDMI-A-1, 1920x1080@75, 0x0, 1
|
||||
workspace = 1, monitor:HDMI-A-2
|
||||
workspace = 2, monitor:HDMI-A-2
|
||||
workspace = 3, monitor:HDMI-A-2
|
||||
workspace = 4, monitor:HDMI-A-2
|
||||
workspace = 5, monitor:HDMI-A-2
|
||||
workspace = 6, monitor:HDMI-A-2
|
||||
workspace = 7, monitor:HDMI-A-2
|
||||
workspace = 8, monitor:HDMI-A-2
|
||||
workspace = 9, monitor:HDMI-A-1, default:true
|
||||
|
||||
# telegram media viewer
|
||||
windowrulev2 = float, title:^(Media viewer)$
|
||||
|
||||
# make Firefox PiP window floating and sticky
|
||||
windowrulev2 = float, title:^(Picture-in-Picture)$
|
||||
windowrulev2 = pin, title:^(Picture-in-Picture)$
|
||||
|
||||
# throw sharing indicators away
|
||||
windowrulev2 = workspace special silent, title:^(Firefox — Sharing Indicator)$
|
||||
windowrulev2 = workspace special silent, title:^(.*is sharing (your screen|a window)\.)$
|
||||
|
||||
windowrulev2 = noblur, title:^(Ulauncher - Application Launcher)$
|
||||
windowrulev2 = noborder, title:^(Ulauncher - Application Launcher)$
|
||||
windowrulev2 = noanim, title:^(Ulauncher - Application Launcher)$
|
||||
windowrulev2 = noshadow, title:^(Ulauncher - Application Launcher)$
|
||||
windowrulev2 = stayfocused, title:^(Ulauncher - Application Launcher)$
|
||||
|
||||
bindm = SUPER, mouse:272, movewindow
|
||||
bindm = SUPER, mouse:273, resizewindow
|
||||
bindm = SUPER, mouse:274, movewindow
|
||||
general {
|
||||
col.active_border=rgb(ff79c6)
|
||||
}
|
||||
'';
|
||||
settings = {
|
||||
input = {
|
||||
kb_layout = "it";
|
||||
left_handed = true;
|
||||
};
|
||||
|
||||
bind = [
|
||||
"SUPER, RETURN, exec, alacritty"
|
||||
|
||||
"CTRL_ALT, 1, workspace, 1"
|
||||
"CTRL_ALT, 2, workspace, 2"
|
||||
"CTRL_ALT, 3, workspace, 3"
|
||||
"CTRL_ALT, 4, workspace, 4"
|
||||
"CTRL_ALT, 5, workspace, 5"
|
||||
"CTRL_ALT, 6, workspace, 6"
|
||||
"CTRL_ALT, 7, workspace, 7"
|
||||
"CTRL_ALT, 8, workspace, 8"
|
||||
"CTRL_ALT, 9, workspace, 9"
|
||||
|
||||
"CTRL_ALT_SHIFT, 1, movetoworkspace, 1"
|
||||
"CTRL_ALT_SHIFT, 2, movetoworkspace, 2"
|
||||
"CTRL_ALT_SHIFT, 3, movetoworkspace, 3"
|
||||
"CTRL_ALT_SHIFT, 4, movetoworkspace, 4"
|
||||
"CTRL_ALT_SHIFT, 5, movetoworkspace, 5"
|
||||
"CTRL_ALT_SHIFT, 6, movetoworkspace, 6"
|
||||
"CTRL_ALT_SHIFT, 7, movetoworkspace, 7"
|
||||
"CTRL_ALT:SHIFT, 8, movetoworkspace, 8"
|
||||
"CTRL_ALT_SHIFT, 9, movetoworkspace, 9"
|
||||
|
||||
"SUPER,left,movewindow,l"
|
||||
"SUPER,right,movewindow,r"
|
||||
"SUPER,up,movewindow,u"
|
||||
"SUPER,up,movewindow,d"
|
||||
|
||||
"Shift, Print, exec, grim"
|
||||
", Print, exec, grimblast copysave area"
|
||||
|
||||
"CTRL_ALT, W, killactive"
|
||||
"CTRL_ALT, F, togglefloating"
|
||||
"ALT, Tab, cyclenext"
|
||||
|
||||
"ALT,SPACE, exec, ulauncher-toggle"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
programs.waybar = {
|
||||
enable = false;
|
||||
package = pkgs.waybar;
|
||||
settings = {
|
||||
bar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
output = "HDMI-A-2";
|
||||
height = 24;
|
||||
|
||||
modules-left = ["wlr/workspaces"];
|
||||
modules-center = ["hyprland/window"];
|
||||
modules-right = [ "tray" "custom/notification" "pulseaudio" "clock" ];
|
||||
|
||||
pulseaudio = {
|
||||
format = "v: {volume}%";
|
||||
};
|
||||
|
||||
battery = {
|
||||
format = "b: {capacity}%";
|
||||
};
|
||||
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
notification = "notif";
|
||||
none = "no-notif";
|
||||
dnd-notification = "notif";
|
||||
dnd-none = "no-notif";
|
||||
};
|
||||
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "swaync-client -t -sw";
|
||||
escape = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
style = "
|
||||
* {
|
||||
font-family: jetbrains mono;
|
||||
background-color: #282a36;
|
||||
color: #f8f8f2;
|
||||
}
|
||||
#workspaces button, #workspaces button:hover {
|
||||
border: none;
|
||||
border-radius : unset;
|
||||
background: unset;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
color: #6272a4;
|
||||
}
|
||||
#pulseaudio {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
background-color: #44475a;
|
||||
}
|
||||
|
||||
#clock {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
background-color: #3b3e54;
|
||||
}
|
||||
|
||||
#tray, #tray > .passive, #tray > .needs-attention {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
#custom-notification {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
background: #545769;
|
||||
}
|
||||
|
||||
";
|
||||
};
|
||||
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
package = pkgs.alacritty;
|
||||
settings = {
|
||||
window.padding.x = 0;
|
||||
window.padding.y = 0;
|
||||
colors.primary = {
|
||||
background = "#282a36";
|
||||
foreground = "#f8f8f2";
|
||||
bright_foreground = "#ffffff";
|
||||
};
|
||||
colors.cursor = {
|
||||
text = "CellBackground";
|
||||
cursor = "CellForeground";
|
||||
};
|
||||
colors.selection = {
|
||||
text = "CellForeground";
|
||||
background = "#44475a";
|
||||
};
|
||||
colors.normal = {
|
||||
black = "#21222c";
|
||||
red = "#ff5555";
|
||||
green = "#f1fa8c";
|
||||
blue = "#bd93f9";
|
||||
magenta = "#ff79c6";
|
||||
cyan = "#8be9fd";
|
||||
white = "#f8f8f2";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.swaylock = {
|
||||
enable = false;
|
||||
package = pkgs.swaylock-effects;
|
||||
settings = {
|
||||
effect-blur = "20x2";
|
||||
clock = true;
|
||||
indicator = true;
|
||||
font-size = 25;
|
||||
indicator-radius = 85;
|
||||
indicator-thickness = 16;
|
||||
screenshots = true;
|
||||
ring-color = "bd93f9";
|
||||
key-hl-color = "ff79c6";
|
||||
};
|
||||
};
|
||||
|
||||
services.mako = {
|
||||
enable = false;
|
||||
package = pkgs.mako;
|
||||
backgroundColor = "#282a36";
|
||||
borderColor = "#ff79c6";
|
||||
font = "jetbrains-mono 10";
|
||||
};
|
||||
|
||||
# the trans is real
|
||||
programs.hyfetch = {
|
||||
enable = true;
|
||||
settings = {
|
||||
preset = "transgender";
|
||||
mode = "rgb";
|
||||
color_align = {
|
||||
mode = "horizontal";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscode;
|
||||
};
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
package = pkgs.git;
|
||||
userName = "Ale";
|
||||
userEmail = "alecake@ale.pet";
|
||||
signing = {
|
||||
key = "1E390257057001A9AB814492284AFB134BB2E07D";
|
||||
signByDefault = true;
|
||||
};
|
||||
};
|
||||
|
||||
programs.helix = {
|
||||
enable = true;
|
||||
package = pkgs.helix;
|
||||
settings.theme = "dracula";
|
||||
settings.editor.bufferline = "multiple";
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = false;
|
||||
theme = {
|
||||
name = "adw-gtk3-dark";
|
||||
package = pkgs.adw-gtk3;
|
||||
};
|
||||
iconTheme = {
|
||||
name = "Papirus";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
};
|
||||
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
size = 24;
|
||||
package = pkgs.hackneyed;
|
||||
name = "Hackneyed";
|
||||
};
|
||||
|
||||
home.file."/home/alecake/.config/swaync/config.json".text =
|
||||
"
|
||||
{
|
||||
\"positionX\": \"right\",
|
||||
\"positionY\": \"top\",
|
||||
\"layer\": \"overlay\",
|
||||
\"control-center-layer\": \"top\",
|
||||
\"layer-shell\": \"true\",
|
||||
\"cssPriority\": \"user\",
|
||||
\"notification-window-width\": 300,
|
||||
|
||||
\"widgets\": [
|
||||
\"notifications\",
|
||||
\"dnd\",
|
||||
\"mpris\"
|
||||
],
|
||||
|
||||
\"notification-visibily\": {
|
||||
\"telegram-desktop\": {
|
||||
\"_comment\": \"Show telegram-desktop messages\",
|
||||
\"override-urgency\": \"normal\",
|
||||
\"desktop-entry\": \"org.telegram.desktop\"
|
||||
}
|
||||
}
|
||||
}
|
||||
";
|
||||
home.file."/home/alecake/.config/swaync/style.css".text =
|
||||
"
|
||||
.notification-default-action, .notification-action {
|
||||
background-color: #282a36;
|
||||
font-family: jetbrains mono;
|
||||
border-radius: unset;
|
||||
|
||||
border-width: 1px;
|
||||
border-color: #ff79c6;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
.notification-action {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.control-center{
|
||||
background-color: #44475a;
|
||||
}
|
||||
|
||||
.notification {
|
||||
box-shadow : unset;
|
||||
}
|
||||
|
||||
.notification-row:focus {
|
||||
background: unset;
|
||||
}
|
||||
|
||||
.widget-mpris, .widget-dnd {
|
||||
background-color: #282a36;
|
||||
margin: 0;
|
||||
font-family: jetbrains mono;
|
||||
}
|
||||
|
||||
.widget-dnd {
|
||||
padding: 8px;
|
||||
padding-left: 16px;
|
||||
padding-right: 16px;
|
||||
}
|
||||
|
||||
.widget-dnd > switch {
|
||||
border-radius: unset;
|
||||
background: unset;
|
||||
background: #44475a;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.widget-dnd > switch slider {
|
||||
border-radius: unset;
|
||||
background: #bd93f9;
|
||||
}
|
||||
|
||||
.widget-dnd > switch:checked slider {
|
||||
background: #ff79c6;
|
||||
}
|
||||
|
||||
";
|
||||
|
||||
home.stateVersion = "23.05";
|
||||
}
|
137
nixos/home-manager/programs/emacs/emacs.nix
Normal file
137
nixos/home-manager/programs/emacs/emacs.nix
Normal file
|
@ -0,0 +1,137 @@
|
|||
{pkgs, ...}:
|
||||
|
||||
{
|
||||
xdg.configFile."emacs/init.el".text = ''
|
||||
(setq gc-cons-threshold most-positive-fixnum)
|
||||
(add-hook 'emacs-startup-hook
|
||||
(lambda ()
|
||||
(setq gc-cons-threshold (expt 2 23))))
|
||||
|
||||
;; Install straight.el
|
||||
(defvar bootstrap-version)
|
||||
(let ((bootstrap-file
|
||||
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
|
||||
(bootstrap-version 6))
|
||||
(unless (file-exists-p bootstrap-file)
|
||||
(with-current-buffer
|
||||
(url-retrieve-synchronously
|
||||
"https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
|
||||
'silent 'inhibit-cookies)
|
||||
(goto-char (point-max))
|
||||
(eval-print-last-sexp)))
|
||||
(load bootstrap-file nil 'nomessage))
|
||||
|
||||
(straight-use-package 'use-package)
|
||||
|
||||
(when (fboundp 'windmove-default-keybindings)
|
||||
(windmove-default-keybindings))
|
||||
|
||||
(use-package straight
|
||||
:custom
|
||||
(straight-use-package-by-default t))
|
||||
|
||||
(use-package evil)
|
||||
(use-package doom-themes
|
||||
:config
|
||||
(load-theme 'doom-dracula t))
|
||||
(use-package doom-modeline)
|
||||
(use-package dashboard)
|
||||
(use-package nerd-icons)
|
||||
(use-package all-the-icons
|
||||
:if (display-graphic-p))
|
||||
|
||||
(use-package hl-indent-scope)
|
||||
|
||||
(use-package centaur-tabs
|
||||
:demand
|
||||
:config
|
||||
(centaur-tabs-mode t)
|
||||
:custom
|
||||
(centaur-tabs-style "box")
|
||||
(centaur-tabs-set-bar 'under)
|
||||
(centaur-tabs-set-icons t)
|
||||
|
||||
(centaur-tabs-height 32)
|
||||
(centaur-tabs-set-modified-marker t)
|
||||
(centaur-tabs-cycle-scope 'tabs)
|
||||
:bind
|
||||
("C-<tab>" . centaur-tabs-forward)
|
||||
("C-<iso-lefttab>" . centaur-tabs-backward))
|
||||
|
||||
(use-package dashboard)
|
||||
(use-package envrc)
|
||||
|
||||
(use-package lsp-ui
|
||||
:custom (lsp-ui-sideline-show-diagnostics t))
|
||||
(use-package lsp-mode
|
||||
:custom
|
||||
(lsp-headerline-breadcrumb-enable nil))
|
||||
|
||||
(use-package nix-mode :mode "\\.nix\\'")
|
||||
(use-package rust-mode)
|
||||
(use-package lua-mode)
|
||||
(use-package typescript-mode)
|
||||
(use-package astro-ts-mode)
|
||||
(use-package js2-mode)
|
||||
(use-package svelte-mode)
|
||||
(use-package lsp-java)
|
||||
(use-package markdown-mode
|
||||
:ensure t)
|
||||
|
||||
(envrc-global-mode)
|
||||
|
||||
(use-package company)
|
||||
(use-package flycheck :ensure t :init (global-flycheck-mode))
|
||||
(use-package treesit-auto
|
||||
:demand t
|
||||
:config
|
||||
(global-treesit-auto-mode))
|
||||
|
||||
(require 'treesit)
|
||||
(setq treesit-font-lock-settings t)
|
||||
(add-to-list 'major-mode-remap-alist '(typescript-mode . typescript-ts-mode))
|
||||
|
||||
(setq treesit-language-source-alist
|
||||
'((astro "https://github.com/virchau13/tree-sitter-astro")
|
||||
(css "https://github.com/tree-sitter/tree-sitter-css")
|
||||
(tsx "https://github.com/tree-sitter/tree-sitter-typescript" "master" "tsx/src")))
|
||||
|
||||
(set-face-attribute 'default nil :font "victor mono" :height 120)
|
||||
|
||||
(tool-bar-mode -1)
|
||||
(menu-bar-mode -1)
|
||||
(scroll-bar-mode -1)
|
||||
(display-line-numbers-mode 1)
|
||||
|
||||
(doom-modeline-mode 1)
|
||||
(evil-mode 1)
|
||||
|
||||
(add-hook 'after-init-hook 'global-company-mode)
|
||||
|
||||
(dashboard-setup-startup-hook)
|
||||
(centaur-tabs-headline-match)
|
||||
|
||||
|
||||
(setq x-underline-at-descent-line t)
|
||||
(setq dashboard-banner-logo-title "Gock and Gum")
|
||||
(setq inhibit-splash-screen t)
|
||||
(setq warning-minimum-level :error)
|
||||
|
||||
(setq org-startup-with-inline-images t)
|
||||
(setq org-startup-indented t)
|
||||
(setq org-pretty-entities t)
|
||||
|
||||
(setq dashboard-startup-banner nil)
|
||||
(setq doom-modeline-height 25)
|
||||
(setq backup-directory-alist '(("." . "~/.config/emacs/backup")))
|
||||
|
||||
;; No more typing the whole yes or no. Just y or n will do.
|
||||
(fset 'yes-or-no-p 'y-or-n-p)
|
||||
|
||||
(evil-ex-define-cmd "q" 'kill-current-buffer)
|
||||
(defun kill-this-buffer()(interactive)(kill-current-buffer))
|
||||
|
||||
(evil-ex-define-cmd "wq" 'save-and-kill-this-buffer)
|
||||
(defun save-and-kill-this-buffer()(interactive)(save-buffer)(kill-current-buffer))
|
||||
'';
|
||||
}
|
20
nixos/home-manager/programs/emacs/emacs.nix~
Normal file
20
nixos/home-manager/programs/emacs/emacs.nix~
Normal file
|
@ -0,0 +1,20 @@
|
|||
{pkgs, ...}:
|
||||
|
||||
{
|
||||
xdg.configFile."emacs/init.el".text = ''
|
||||
(require 'package)
|
||||
(setq 'package-archives '("melpa" . "https://melpa.org/packages/"))
|
||||
(package-initialize)
|
||||
|
||||
|
||||
;; Download Evil
|
||||
(unless (package-installed-p 'evil)
|
||||
(package-install 'evil))
|
||||
|
||||
;; Enable Evil
|
||||
(require 'evil)
|
||||
(evil-mode 1)
|
||||
|
||||
(setq inhibit-startup-message t)
|
||||
'';
|
||||
}
|
5
nixos/home-manager/programs/neovim/config.lua
Normal file
5
nixos/home-manager/programs/neovim/config.lua
Normal file
|
@ -0,0 +1,5 @@
|
|||
require("indent_blankline").setup {
|
||||
-- for example, context is off by default, use this to turn it on
|
||||
show_current_context = true,
|
||||
show_current_context_start = true,
|
||||
}
|
7
nixos/home-manager/programs/neovim/neovim.nix
Normal file
7
nixos/home-manager/programs/neovim/neovim.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{ pkgs, config, lib, ...}:
|
||||
|
||||
{
|
||||
programs.neovim = {
|
||||
enable= true;
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue