rename apps to pkgs + helix dir

This commit is contained in:
Your Name 2024-05-22 15:57:44 +03:00
parent 690617ba81
commit 85ee87763c
26 changed files with 242 additions and 93 deletions

View file

@ -0,0 +1,23 @@
{ lib
, buildFishPlugin
, fetchFromGitHub
,
}:
buildFishPlugin rec {
pname = "fish-abbreviation-tips";
version = "0.7.0";
src = fetchFromGitHub {
owner = "gazorby";
repo = pname;
rev = "8ed76a62bb044ba4ad8e3e6832640178880df485";
sha256 = "";
};
meta = with lib; {
description = "Help you remembering your abbreviations";
homepage = "https://github.com/gazorby/fish-abbreviation-tips";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}

View file

@ -377,11 +377,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1716063601,
"narHash": "sha256-gAuCKupztnqai1tZ6TyCFCRbeFzbggL0Oe0vl0/cwK8=",
"lastModified": 1716316196,
"narHash": "sha256-ynu+Ii1PTtnz4YdjP2CJbnxaie9aETNAds9lwDzeQus=",
"ref": "refs/heads/main",
"rev": "f8857e6072bd85b95393499688872aaf7f088b5b",
"revCount": 4719,
"rev": "e419ef1873de01b0762f7f1a411994170a4d8cab",
"revCount": 4723,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@ -476,11 +476,11 @@
]
},
"locked": {
"lastModified": 1715879663,
"narHash": "sha256-/DwglRvj4XF4ECdNtrCIbthleszAZBwOiXG5A6r0K/c=",
"lastModified": 1716058375,
"narHash": "sha256-CwjWoVnBZE5SBpRx9dgSQGCr4Goxyfcyv3zZbOhVqzk=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "f5181a068c1b06f2db51f6222e50a0c665a2b0c3",
"rev": "3afed4364790aebe0426077631af1e164a9650cc",
"type": "github"
},
"original": {
@ -547,11 +547,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1715787315,
"narHash": "sha256-cYApT0NXJfqBkKcci7D9Kr4CBYZKOQKDYA23q8XNuWg=",
"lastModified": 1716137900,
"narHash": "sha256-sowPU+tLQv8GlqtVtsXioTKeaQvlMz/pefcdwg8MvfM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "33d1e753c82ffc557b4a585c77de43d4c922ebb5",
"rev": "6c0b7a92c30122196a761b440ac0d46d3d9954f1",
"type": "github"
},
"original": {
@ -1000,11 +1000,11 @@
]
},
"locked": {
"lastModified": 1715788457,
"narHash": "sha256-32HOkjSIyANphV0p5gIwP4ONU/CcinhwOyVFB+tL/d0=",
"lastModified": 1716290197,
"narHash": "sha256-1u9Exrc7yx9qtES2brDh7/DDZ8w8ap1nboIOAtCgeuM=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "af7c87a32f5d67eb2ada908a6a700f4e74831943",
"rev": "91e48d6acd8a5a611d26f925e51559ab743bc438",
"type": "github"
},
"original": {

View file

@ -5,6 +5,7 @@
imports = [
./theme.nix
../pkgs/helix
];
#services.blueman-applet.enable = true;
@ -48,7 +49,7 @@
enableExtensionUpdateCheck = false;
enableUpdateCheck = false;
userSettings = {
"files.autoSave" = "onFocusChange";
# "files.autoSave" = "onFocusChange";
"window.titleBarStyle" = "custom";
# "workbench.colorTheme" = "Popping and Locking";
"workbench.colorTheme" = "Tokyo Night";
@ -77,10 +78,10 @@
rm -f /home/delta/.config/Code/User/settings.json.rw
cp -f /home/delta/.config/Code/User/settings.json /home/delta/.config/Code/User/settings.json.rw
chmod +rw /home/delta/.config/Code/User/settings.json.rw
# unlink /home/delta/.config/Code/User/settings.json
[ ! -e /path/to/file ] || unlink /home/delta/.config/Code/User/settings.json
'';
link_copy = lib.hm.dag.entryAfter ["setupLaunchAgents"] ''
unlink /home/delta/.config/Code/User/settings.json
[ ! -e /path/to/file ] || unlink /home/delta/.config/Code/User/settings.json
ln -sf /home/delta/.config/Code/User/settings.json.rw /home/delta/.config/Code/User/settings.json
chmod +rw /home/delta/.config/Code/User/settings.json
'';
@ -218,51 +219,6 @@
];
};
programs.helix = {
enable = true;
languages.language = [{
name = "nix";
auto-format = true;
formatter.command = "${pkgs.nixfmt}/bin/nixfmt";
}];
themes = {
fleet_dark_transparent = {
"inherits" = "fleet_dark";
"ui.background" = { };
};
};
settings = {
theme = "fleet_dark_transparent";
editor = {
line-number = "relative";
mouse = true;
lsp.display-messages = true;
cursor-shape = {
normal = "block";
insert = "bar";
select = "underline";
};
file-picker.hidden = false;
};
keys.normal = {
space.space = "file_picker";
space.w = ":w";
space.q = ":q";
esc = [ "collapse_selection" "keep_primary_selection" ];
C-f = [":new" ":insert-output lf -selection-path=/dev/stdout" "split_selection_on_newline" "goto_file" "goto_last_modification" "goto_last_modified_file" ":buffer-close!" ":redraw"];
};
};
extraPackages = [ pkgs.marksman pkgs.nil pkgs.nodePackages.bash-language-server];
};
#programs.dircolors.enable = true;
home.file.".config/btop/btop.conf".text = ''
#? Config file for btop v. 1.3.2

View file

@ -9,14 +9,16 @@
./hardware.nix
./services.nix
./xorg.nix
"${self}/apps/apps.nix"
"${self}/apps/socks.nix"
"${self}/apps/scripts.nix"
"${self}/apps/work.nix"
"${self}/pkgs/apps.nix"
"${self}/pkgs/socks.nix"
"${self}/pkgs/scripts.nix"
"${self}/pkgs/work.nix"
inputs.secrets.nixosModules.dlaptop
inputs.home-manager.nixosModules.home-manager homeSettings
];
services.blueman.enable = true;
time.timeZone = "Europe/Moscow";
i18n.defaultLocale = "en_GB.UTF-8";

View file

@ -2,8 +2,8 @@
{
imports = [
"${self}/apps/gnome.nix"
"${self}/apps/hyprland"
"${self}/pkgs/gnome.nix"
"${self}/pkgs/hyprland"
];
environment.sessionVariables = {

View file

@ -3,8 +3,8 @@
{
imports = [
./hardware.nix
"${self}/apps/gnome.nix"
"${self}/apps/apps.nix"
"${self}/pkgs/gnome.nix"
"${self}/pkgs/apps.nix"
inputs.home-manager.nixosModules.home-manager
];

View file

@ -17,8 +17,7 @@
serverName = "graf1.local";
serverAliases = [ "${inputs.secrets.work.graf-url}" ];
locations."/".extraConfig = ''
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host ${inputs.secrets.work.graf-url};
proxy_pass https://${inputs.secrets.work.graf-url};
'';
locations."/api/live/ws".extraConfig = ''
@ -43,8 +42,7 @@
'';
serverName = "${inputs.secrets.work.keycloak}";
locations."/".extraConfig = ''
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host ${inputs.secrets.work.keycloak};
proxy_pass https://${inputs.secrets.work.keycloak};
'';
};
@ -63,8 +61,7 @@
'';
serverName = "kibana.local ${inputs.secrets.work.kibana}";
locations."/".extraConfig = ''
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host ${inputs.secrets.work.kibana};
proxy_pass http://${inputs.secrets.work.kibana};
'';
};
@ -83,8 +80,7 @@
serverName = "zabbix.local";
serverAliases = [ "${inputs.secrets.work.zabbix-url}" ];
locations."/".extraConfig = ''
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host ${inputs.secrets.work.zabbix-url};
proxy_pass https://${inputs.secrets.work.zabbix};
'';
};
@ -104,9 +100,14 @@
serverName = "prox-1.local";
serverAliases = [ "${inputs.secrets.work.prox-1.name}" ];
locations."/".extraConfig = ''
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host ${inputs.secrets.work.prox-1.ip};
proxy_pass https://${inputs.secrets.work.prox-1.ip};
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
proxy_send_timeout 86400;
proxy_connect_timeout 86400;
'';
};
services.nginx.virtualHosts."prox-2" = {
@ -125,9 +126,14 @@
serverName = "prox-2.local";
serverAliases = [ "${inputs.secrets.work.prox-2.name}" ];
locations."/".extraConfig = ''
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host ${inputs.secrets.work.prox-2.ip};
proxy_pass https://${inputs.secrets.work.prox-2.ip};
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
proxy_send_timeout 86400;
proxy_connect_timeout 86400;
'';
};
services.nginx.virtualHosts."prox-3" = {
@ -146,9 +152,14 @@
serverName = "prox-3.local";
serverAliases = [ "${inputs.secrets.work.prox-3.name}" ];
locations."/".extraConfig = ''
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host ${inputs.secrets.work.prox-3.ip};
proxy_pass https://${inputs.secrets.work.prox-3.ip};
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
proxy_send_timeout 86400;
proxy_connect_timeout 86400;
'';
};
}

View file

@ -7,7 +7,7 @@
];
system.autoUpgrade = {
enable = true;
enable = false;
flake = "github:deltathetawastaken/dotfiles";
dates = "daily";
};

View file

@ -17,6 +17,19 @@ in {
inputs.nixvim.nixosModules.nixvim
];
#nixpkgs.overlays = [
# (self: super: {
# qt6 = super.qt6 // {
# qtwayland = super.qt6.qtwayland.overrideAttrs (oldAttrs: {
# patches = (oldAttrs.patches or []) ++ [
# ./patches/0004-fix-gtk4-embedding.patch
# ];
# });
# };
# }
# )
#];
users.users.delta.packages = (with pkgs; [
git
#chromium
@ -236,7 +249,13 @@ in {
function __pick_file
fd --type f | fzf
fd --type f | fzf --ansi --disabled --query "$INITIAL_QUERY" \
--bind "start:reload:$RG_PREFIX {q}" \
--bind "change:reload:sleep 0.1; $RG_PREFIX {q} || true" \
--delimiter : \
--preview 'bat --color=always {1} --highlight-line {2}' \
--preview-window 'up,60%,border-bottom,+{2}+3/3,~3' \
| tr ':' '\n' | head -n1
end
abbr -a !f --position command --function __pick_file

View file

@ -29,6 +29,19 @@ in
# });
# })
# ];
nixpkgs.overlays = [
(self: super: {
qt6 = super.qt6 // {
qtwayland = super.qt6.qtwayland.overrideAttrs (oldAttrs: {
patches = (oldAttrs.patches or []) ++ [
./patches/0004-fix-gtk4-embedding.patch
];
});
};
}
)
];
#system.activationScripts."gnome_setup_misc".text = ''
# rm -f /home/delta/.config/gtk-4.0/gtk.css

58
pkgs/helix/default.nix Normal file
View file

@ -0,0 +1,58 @@
{ pkgs, lib, ... }:
{
programs.helix = {
enable = true;
languages.language = [{
name = "nix";
auto-format = true;
formatter.command = "${pkgs.nixfmt}/bin/nixfmt";
}];
themes = {
fleet_dark_transparent = {
"inherits" = "fleet_dark";
"ui.background" = { };
};
};
settings = {
theme = "fleet_dark_transparent";
editor = {
line-number = "relative";
mouse = true;
lsp.display-messages = true;
cursor-shape = {
normal = "block";
insert = "bar";
select = "underline";
};
file-picker.hidden = false;
};
keys.normal = {
space.space = "file_picker";
space.w = ":w";
space.q = ":q";
esc = [ "collapse_selection" "keep_primary_selection" ];
C-f = [":new" ":insert-output lf -selection-path=/dev/stdout" "split_selection_on_newline" "goto_file" "goto_last_modification" "goto_last_modified_file" ":buffer-close!" ":redraw"];
};
};
extraPackages = [ pkgs.marksman pkgs.nil pkgs.nodePackages.bash-language-server];
};
#programs.dircolors.enable = true;
home.file.".config/yazi/filetree_config/yazi.toml".text = ''
[manager]
ratio = [ 0, 8, 0 ]
[[manager.prepend_keymap]]
on = [ "l" ]
run = "plugin --sync smart-enter"
desc = "Enter the child directory, or open the file"
'';
home.file.".config/yazi/filetree_config/plugins/smart-enter.yazi/init.lua".text = builtins.readFile ./init.lua;
}

12
pkgs/helix/init.lua Normal file
View file

@ -0,0 +1,12 @@
return {
entry = function()
local h = cx.active.current.hovered
if h.cha.is_dir then
ya.manager_emit("enter" or "open", { hovered = true })
else
local hx_command = '\'\\e : o ' .. tostring(h.url) .. ' \\r\''
local command = 'kitten @ send-text --match neighbor:' .. 'right ' .. hx_command
os.execute(command)
end
end,
}

15
pkgs/helix/open_file_tree.bash Executable file
View file

@ -0,0 +1,15 @@
#!/usr/bin/env bash
desired_width=25
# Open window on the left
YAZI_CONFIG_HOME=~/.config/yazi/filetree_config yazi
# Use jq to filter the JSON output based on the specific window ID
current_width=$(kitty @ ls | jq --arg window_id "$KITTY_WINDOW_ID" '.[].tabs[].windows[] | select(.id == ($window_id | tonumber)) | .columns')
# Calculate the increment value
increment=$((desired_width - current_width))
# Resize the window with the calculated increment value
kitten @ resize-window --increment $increment --axis horizontal

View file

@ -25,7 +25,8 @@
$foreground = rgba(c3dde7ee)
$color0 = rgba(1d192bee)
$color1 = rgba(465EA7ee)
$color1 = rgba(465EA7ee) "https://github.com/zakk4223/hyprland-easymotion"
$color2 = rgba(5A89B6ee)
$color3 = rgba(6296CAee)
$color4 = rgba(73B3D4ee)
@ -45,6 +46,9 @@
enable = true;
systemd.enable = true;
extraConfig = builtins.readFile ./hyprland.conf;
# plugins = [
# "https://github.com/zakk4223/hyprland-easymotion"
# ];
};
# home.activation = {
# unlink_hyprland = lib.hm.dag.entryAfter ["onFilesChange"] ''

View file

@ -12,8 +12,8 @@ listener {
`
listener {
timeout = 200 # in seconds
on-timeout = /home/delta/Documents/dotfiles/apps/hyprland/scripts/DM/brightness-kbd.sh on-timeout && brightnessctl -s set 10 # command to run when timeout has passed
on-resume = /home/delta/Documents/dotfiles/apps/hyprland/scripts/DM/brightness-kbd.sh on-resume && brightnessctl -r # command to run when activity is detected after timeout has fired.
on-timeout = /home/delta/Documents/dotfiles/pkgs/hyprland/scripts/DM/brightness-kbd.sh on-timeout && brightnessctl -s set 10 # command to run when timeout has passed
on-resume = /home/delta/Documents/dotfiles/pkgs/hyprland/scripts/DM/brightness-kbd.sh on-resume && brightnessctl -r # command to run when activity is detected after timeout has fired.
}
listener {

View file

@ -4,9 +4,11 @@
#monitor=,preferred,auto,1.066667
#monitor=,preferred,90,1.066667
monitor=eDP-1,2944x1840@60,auto,1.333333
# monitor=eDP-1,2944x1840@60,auto,1.333333
# monitor=eDP-1,preferred,auto,1.6
monitor=eDP-1,preferred,auto,2
#monitor=eDP-1,preferred,auto,1.066667
#source = ~/.config/hypr/monitors.conf
#source = ~/.config/hypr/workspaces.conf
@ -51,6 +53,7 @@ exec-once = hyprctl setcursor Bibata-Modern-Classic 16
exec-once = trayscale --hide-window
# exec-once = hyprctl dispatch -- exec [workspace special:hdrop silent] "QT_QPA_PLATFORM=xcb telegram-desktop"
exec-once = /home/delta/.config/hypr/hdrop -b -g '30' -h '60' -f 'keepassxc_lite' --class org.keepassxc.KeePassXC
exec-once = dropbox
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once=systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
@ -116,9 +119,9 @@ general {
#layout = master
}
Binds {
# scroll_event_delay = 0
# workspace_back_and_forth = true
binds {
scroll_event_delay = 0
workspace_back_and_forth = true
# workspace_center_on = 1
}
@ -149,7 +152,6 @@ decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 5
fullscreen_opacity = 0.20
blur {
enabled = true

View file

@ -0,0 +1,34 @@
diff --git a/src/compositor/compositor_api/qwaylandsurface.cpp b/src/compositor/compositor_api/qwaylandsurface.cpp
index 207158bf..0eb919e0 100644
--- a/src/compositor/compositor_api/qwaylandsurface.cpp
+++ b/src/compositor/compositor_api/qwaylandsurface.cpp
@@ -975,7 +975,7 @@ bool QWaylandSurface::setRole(QWaylandSurfaceRole *role, wl_resource *errorResou
{
Q_D(QWaylandSurface);
- if (d->role && d->role != role) {
+ if (d->role && role && d->role != role) {
wl_resource_post_error(errorResource, errorCode,
"Cannot assign role %s to wl_surface@%d, already has role %s\n",
role->name().constData(), wl_resource_get_id(resource()),
diff --git a/src/compositor/extensions/qwaylandxdgshell.cpp b/src/compositor/extensions/qwaylandxdgshell.cpp
index 871f0cf6..d47de4f9 100644
--- a/src/compositor/extensions/qwaylandxdgshell.cpp
+++ b/src/compositor/extensions/qwaylandxdgshell.cpp
@@ -1346,6 +1346,7 @@ void QWaylandXdgToplevelPrivate::xdg_toplevel_destroy(QtWaylandServer::xdg_tople
if (Q_UNLIKELY(m_decoration))
qWarning() << "Client error: xdg_toplevel destroyed before its decoration object";
+ m_xdgSurface->surface()->setRole(nullptr, resource->handle, XDG_WM_BASE_ERROR_ROLE);
wl_resource_destroy(resource->handle);
//TODO: Should the xdg surface be desroyed as well? Or is it allowed to recreate a new toplevel for it?
}
@@ -1921,7 +1922,7 @@ uint QWaylandXdgPopupPrivate::sendConfigure(const QRect &geometry)
void QWaylandXdgPopupPrivate::xdg_popup_destroy(QtWaylandServer::xdg_popup::Resource *resource)
{
- Q_UNUSED(resource);
+ m_xdgSurface->surface()->setRole(nullptr, resource->handle, XDG_WM_BASE_ERROR_ROLE);
qWarning() << Q_FUNC_INFO << "Not implemented"; //TODO
}