empty commit message.
This commit is contained in:
parent
e6a12adc45
commit
587ce85485
6 changed files with 101 additions and 39 deletions
3
TODO.md
3
TODO.md
|
|
@ -7,5 +7,4 @@
|
||||||
- [ ] selinux
|
- [ ] selinux
|
||||||
- https://github.com/NixOS/nixpkgs/pull/396177
|
- https://github.com/NixOS/nixpkgs/pull/396177
|
||||||
- [ ] Secure boot
|
- [ ] Secure boot
|
||||||
- [ ] **REFACTOR**
|
- [ ] **REFACTOR**
|
||||||
- [ ]
|
|
||||||
12
flake.lock
generated
12
flake.lock
generated
|
|
@ -103,11 +103,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765397369,
|
"lastModified": 1765478879,
|
||||||
"narHash": "sha256-WqZfobdsAIT1rHItS8Nt7m02bZZYeVNV3Gh63Bnn5gM=",
|
"narHash": "sha256-40MDB5qv9QOftCrduVTD2DjX76bXycTzvDZoQ9+l5Ak=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "e941e36ac1d3c61f94ad767bc8849636f032f95e",
|
"rev": "8d973756ed1d3152c273af69431fde7d67472b84",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -124,11 +124,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765397369,
|
"lastModified": 1765478879,
|
||||||
"narHash": "sha256-WqZfobdsAIT1rHItS8Nt7m02bZZYeVNV3Gh63Bnn5gM=",
|
"narHash": "sha256-40MDB5qv9QOftCrduVTD2DjX76bXycTzvDZoQ9+l5Ak=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "e941e36ac1d3c61f94ad767bc8849636f032f95e",
|
"rev": "8d973756ed1d3152c273af69431fde7d67472b84",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -30,23 +30,22 @@
|
||||||
# nixpkgs config
|
# nixpkgs config
|
||||||
xdg.configFile."nixpkgs/config.nix".source = ../conf/config.nix;
|
xdg.configFile."nixpkgs/config.nix".source = ../conf/config.nix;
|
||||||
|
|
||||||
xdg.autostart = {
|
|
||||||
enable = true;
|
|
||||||
entries = [
|
|
||||||
"${pkgs.firefox}/share/applications/firefox.desktop"
|
|
||||||
"${pkgs.discord}/share/applications/discord.desktop"
|
|
||||||
"${pkgs.signal-desktop}/share/applications/signal.desktop"
|
|
||||||
"${pkgs.obsidian}/share/applications/obsidian.desktop"
|
|
||||||
"${pkgs.vscode}/share/applications/code.desktop"
|
|
||||||
];
|
|
||||||
}; # end xdg.autostart
|
|
||||||
|
|
||||||
xdg = {
|
xdg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userDirs.enable = true;
|
userDirs.enable = true;
|
||||||
mime.enable = true;
|
mime.enable = true;
|
||||||
|
autostart = {
|
||||||
|
enable = true;
|
||||||
|
entries = [
|
||||||
|
"${pkgs.firefox}/share/applications/firefox.desktop"
|
||||||
|
"${pkgs.discord}/share/applications/discord.desktop"
|
||||||
|
"${pkgs.signal-desktop}/share/applications/signal.desktop"
|
||||||
|
"${pkgs.obsidian}/share/applications/obsidian.desktop"
|
||||||
|
"${pkgs.vscode}/share/applications/code.desktop"
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
gtk = {
|
gtk = lib.mkDefault {
|
||||||
enable = true;
|
enable = true;
|
||||||
cursorTheme.package = pkgs.vanilla-dmz;
|
cursorTheme.package = pkgs.vanilla-dmz;
|
||||||
cursorTheme.name = "Vanilla-DMZ";
|
cursorTheme.name = "Vanilla-DMZ";
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
term = "${pkgs.kitty}/bin/kitty";
|
term = "${pkgs.kitty}/bin/kitty";
|
||||||
dmenu = "${pkgs.rofi}/bin/rofi -show drun";
|
dmenu = "${pkgs.rofi}/bin/rofi -show drun";
|
||||||
notify = "${pkgs.libnotify}/bin/notify-send";
|
notify = "${pkgs.libnotify}/bin/notify-send";
|
||||||
|
nag = "${pkgs.sway}/bin/swaynag --edge bottom --font '${style_font} ${style_font_sz}'";
|
||||||
|
|
||||||
# keybinds
|
# keybinds
|
||||||
key_mod = "Mod4";
|
key_mod = "Mod4";
|
||||||
|
|
@ -159,11 +160,12 @@
|
||||||
{
|
{
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wrapperFeatures.gtk = true; # Fixes common issues with GTK 3 apps
|
wrapperFeatures.gtk = true;
|
||||||
config = {
|
config = {
|
||||||
modifier = "${key_mod}";
|
modifier = "${key_mod}";
|
||||||
startup = [
|
startup = [
|
||||||
{ command = "systemctl --user start libinput-gestures"; }
|
{ command = "systemctl --user start libinput-gestures"; }
|
||||||
|
{ command = "swaybg -m fill -i /home/alisceon/Pictures/system/bg.png";}
|
||||||
];
|
];
|
||||||
bars = [
|
bars = [
|
||||||
{ command = "${pkgs.waybar}/bin/waybar"; }
|
{ command = "${pkgs.waybar}/bin/waybar"; }
|
||||||
|
|
@ -191,12 +193,6 @@
|
||||||
};
|
};
|
||||||
}; # end input
|
}; # end input
|
||||||
keybindings = {
|
keybindings = {
|
||||||
# Basic
|
|
||||||
"${key_mod}+Return" = "exec ${term}";
|
|
||||||
"${key_mod}+d" = "exec ${dmenu}";
|
|
||||||
"${key_mod}+Shift+q" = "kill";
|
|
||||||
"${key_mod}+F4" = "kill";
|
|
||||||
"${key_mod}+L" = "exec ${lock}";
|
|
||||||
# Workspaces
|
# Workspaces
|
||||||
"${key_mod}+f" = "fullscreen";
|
"${key_mod}+f" = "fullscreen";
|
||||||
"${key_mod}+Shift+f" = "floating toggle";
|
"${key_mod}+Shift+f" = "floating toggle";
|
||||||
|
|
@ -254,12 +250,25 @@
|
||||||
"${key_mod}+${key_mod_misc}+Tab" = "workspace next";
|
"${key_mod}+${key_mod_misc}+Tab" = "workspace next";
|
||||||
"${key_mod}+${key_mod_misc}+Shift+Tab" = "workspace prev";
|
"${key_mod}+${key_mod_misc}+Shift+Tab" = "workspace prev";
|
||||||
|
|
||||||
|
|
||||||
# System
|
# System
|
||||||
"Mod4+space" = ''exec ${notify} -t 2000 "$(xonsh ~/.nixos_config/util/get_xkb.xsh)"'';
|
"Mod4+space" = ''exec ${notify} -t 2000 "$(xonsh ~/.nixos_config/util/get_xkb.xsh)"'';
|
||||||
|
"${key_mod}+Shift+r" = "reload";
|
||||||
|
"${key_mod}+Ctrl+r" = "restart";
|
||||||
|
"${key_mod}+Escape" = "exec ${nag} -m 'Shutdown options:' -B 'Power Off' 'systemctl poweroff' -B 'Reboot' 'systemctl reboot' -B 'Logout' 'swaymsg exit'";
|
||||||
|
"${key_mod}+Return" = "exec ${term}";
|
||||||
|
"${key_mod}+Shift+q" = "kill";
|
||||||
|
"${key_mod}+F4" = "kill";
|
||||||
|
|
||||||
|
# Locking and idle
|
||||||
|
"${key_mod}+L" = "exec ${lock}";
|
||||||
|
|
||||||
|
# Apps
|
||||||
|
"${key_mod}+d" = "exec ${dmenu}";
|
||||||
|
|
||||||
#Screenshot region
|
#Screenshot region
|
||||||
"${key_mod}+Shift+s" = "exec grimshot savecopy area";
|
"${key_mod}+Shift+s" = "exec grimshot savecopy area";
|
||||||
"Print" = "exec grimshot savecopy output";
|
"${key_mod}+Ctrl+s" = "exec grimshot savecopy output";
|
||||||
|
|
||||||
# media keys
|
# media keys
|
||||||
"XF86AudioRaiseVolume" = "exec 'pactl set-sink-volume @DEFAULT_SINK@ +3%'";
|
"XF86AudioRaiseVolume" = "exec 'pactl set-sink-volume @DEFAULT_SINK@ +3%'";
|
||||||
"XF86AudioLowerVolume" = "exec 'pactl set-sink-volume @DEFAULT_SINK@ -3%'";
|
"XF86AudioLowerVolume" = "exec 'pactl set-sink-volume @DEFAULT_SINK@ -3%'";
|
||||||
|
|
@ -271,7 +280,7 @@
|
||||||
window = {
|
window = {
|
||||||
titlebar = false;
|
titlebar = false;
|
||||||
commands = [
|
commands = [
|
||||||
#{ criteria ={ app_id = "flameshot"; }; command = "border pixel 0, floating enable, fullscreen disable, move absolute position 0 0"; }
|
{ criteria = { all = true; }; command = "inhibit_idle fullscreen"; }
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
colors = {
|
colors = {
|
||||||
|
|
@ -462,7 +471,7 @@
|
||||||
max-length = 64;
|
max-length = 64;
|
||||||
};
|
};
|
||||||
"tray" = {
|
"tray" = {
|
||||||
icon-size = 13;
|
icon-size = 24;
|
||||||
spacing = 8;
|
spacing = 8;
|
||||||
};
|
};
|
||||||
"clock" = {
|
"clock" = {
|
||||||
|
|
@ -635,7 +644,6 @@
|
||||||
}
|
}
|
||||||
#tray {
|
#tray {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border-bottom: 3px solid ${color_f_text};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray > .passive {
|
#tray > .passive {
|
||||||
|
|
@ -675,15 +683,21 @@
|
||||||
};
|
};
|
||||||
}; # end kitty
|
}; # end kitty
|
||||||
}; # end programs
|
}; # end programs
|
||||||
dconf = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
gtk2.enable = true;
|
||||||
"org/gnome/desktop/interface" = {
|
gtk3.enable = true;
|
||||||
color-scheme = "prefer-dark";
|
gtk4.enable = true;
|
||||||
gtk-theme = "Adwaita-Dark";
|
colorScheme = "dark";
|
||||||
};
|
theme.name = "Adwaita-Dark";
|
||||||
};
|
cursorTheme.name = "Adwaita-Dark";
|
||||||
|
font.package = pkgs.inconsolata;
|
||||||
|
font.name = "Inconsolata";
|
||||||
|
font.size = 14;
|
||||||
|
iconTheme.name = "Adwaita-Dark";
|
||||||
|
iconTheme.package = pkgs.adwaita-icon-theme;
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile."libinput-gestures.conf".text = ''
|
xdg.configFile."libinput-gestures.conf".text = ''
|
||||||
gesture swipe left 3 ${swaymsg} workspace prev
|
gesture swipe left 3 ${swaymsg} workspace prev
|
||||||
gesture swipe right 3 ${swaymsg} workspace next
|
gesture swipe right 3 ${swaymsg} workspace next
|
||||||
|
|
@ -704,6 +718,49 @@
|
||||||
--ozone-platform=wayland
|
--ozone-platform=wayland
|
||||||
--gtk-version=4
|
--gtk-version=4
|
||||||
'';
|
'';
|
||||||
|
xdg.mimeApps = {
|
||||||
|
enable = true;
|
||||||
|
defaultApplications ={
|
||||||
|
# Text
|
||||||
|
"text/plain" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
|
||||||
|
"text/markdown" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
|
||||||
|
"text/x-markdown" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
|
||||||
|
"text/csv" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
|
||||||
|
"text/xml" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
|
||||||
|
"application/xml" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
|
||||||
|
"application/json" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
|
||||||
|
|
||||||
|
# Media
|
||||||
|
"video/mp4" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
|
||||||
|
"audio/mpeg" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
|
||||||
|
"audio/ogg" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
|
||||||
|
"audio/wav" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
|
||||||
|
"audio/flac" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
|
||||||
|
"video/x-matroska" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
|
||||||
|
"video/webm" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
|
||||||
|
"video/avi" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
|
||||||
|
"video/mkv" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ];
|
||||||
|
|
||||||
|
# Browser
|
||||||
|
"text/html" = [ "${pkgs.firefox}/share/applications/firefox.desktop" ];
|
||||||
|
"application/xhtml+xml" = [ "${pkgs.firefox}/share/applications/firefox.desktop" ];
|
||||||
|
"application/x-web-app-manifest+json" = [ "${pkgs.firefox}/share/applications/firefox.desktop" ];
|
||||||
|
"application/xml-dtd" = [ "${pkgs.firefox}/share/applications/firefox.desktop" ];
|
||||||
|
|
||||||
|
|
||||||
|
# Images
|
||||||
|
"image/png" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
|
||||||
|
"image/jpeg" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
|
||||||
|
"image/gif" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
|
||||||
|
"image/bmp" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
|
||||||
|
"image/webp" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
|
||||||
|
"image/svg+xml" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
|
||||||
|
"image/svg+xml-compressed" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
|
||||||
|
"image/tiff" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
|
||||||
|
"image/apng" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
|
||||||
|
"image/heic" = [ "${pkgs.swayimg}/share/applications/swayimg.desktop" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# this right here offends me https://source.chromium.org/chromium/chromium/src/+/main:base/nix/xdg_util.cc;l=179-180
|
# this right here offends me https://source.chromium.org/chromium/chromium/src/+/main:base/nix/xdg_util.cc;l=179-180
|
||||||
systemd.user.sessionVariables = {
|
systemd.user.sessionVariables = {
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,8 @@
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
swayidle
|
swayidle
|
||||||
swaylock
|
swaylock
|
||||||
|
swayimg
|
||||||
|
swaybg
|
||||||
grim
|
grim
|
||||||
slurp
|
slurp
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
|
|
|
||||||
5
util/get_xdg_desktops.xsh
Normal file
5
util/get_xdg_desktops.xsh
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
files = $(fd \.desktop$ /nix/store)
|
||||||
|
xdg_desktops = set()
|
||||||
|
for file in files.splitlines():
|
||||||
|
xdg_desktops.add(file.split('/')[-1])
|
||||||
|
print('\n'.join([x for x in sorted(xdg_desktops) if x]))
|
||||||
Loading…
Add table
Add a link
Reference in a new issue