lots of stuff idk
This commit is contained in:
parent
a18ceb4f2e
commit
4e5f0a6e0b
39 changed files with 439 additions and 81 deletions
60
flake.lock
generated
60
flake.lock
generated
|
@ -77,11 +77,11 @@
|
|||
},
|
||||
"locked": {
|
||||
"dir": "pkgs/firefox-addons",
|
||||
"lastModified": 1710821046,
|
||||
"narHash": "sha256-MgXYQjFu21qc2LcB6EGaiLc6HeBNnVuzml2kese1A0o=",
|
||||
"lastModified": 1711500952,
|
||||
"narHash": "sha256-YEF6ycTwkcuZq1ocon+JahHgwuQLQtpH2js1j+gN8K8=",
|
||||
"owner": "rycee",
|
||||
"repo": "nur-expressions",
|
||||
"rev": "319f4424a6e8e66e8776c06b9c75e564a351348b",
|
||||
"rev": "d0df0c83bfe2e7ed6e26259a289d7056c4001ced",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
|
@ -280,11 +280,11 @@
|
|||
},
|
||||
"hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1710783728,
|
||||
"narHash": "sha256-eIsfu3c9JUBgm3cURSKTXLEI9Dlk1azo+MWKZVqrmkc=",
|
||||
"lastModified": 1711352745,
|
||||
"narHash": "sha256-luvqik+i3HTvCbXQZgB6uggvEcxI9uae0nmrgtXJ17U=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "1e679b9a9970780cd5d4dfe755a74a8f96d33388",
|
||||
"rev": "9a763a7acc4cfbb8603bb0231fec3eda864f81c0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -382,11 +382,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710820906,
|
||||
"narHash": "sha256-2bNMraoRB4pdw/HtxgYTFeMhEekBZeQ53/a8xkqpbZc=",
|
||||
"lastModified": 1711625603,
|
||||
"narHash": "sha256-W+9dfqA9bqUIBV5u7jaIARAzMe3kTq/Hp2SpSVXKRQw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "022464438a85450abb23d93b91aa82e0addd71fb",
|
||||
"rev": "c0ef0dab55611c676ad7539bf4e41b3ec6fa87d2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -404,11 +404,11 @@
|
|||
"utils": "utils"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710670771,
|
||||
"narHash": "sha256-c81N1hjI8yYAjo9Lp3UimC0OLibwTk6FP/TFHmdfjo0=",
|
||||
"lastModified": 1712089776,
|
||||
"narHash": "sha256-OBCZeC++pKx5JjJ9ikpTW5vnDTcJAXXmzgybcsY/oQc=",
|
||||
"owner": "xunuwu",
|
||||
"repo": "neovim-config",
|
||||
"rev": "13825e147cf1d2703bf54c32e559305cf66e4e84",
|
||||
"rev": "a1e6bd192ec5be356f12fee40d904ab6ee062491",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -471,11 +471,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710644923,
|
||||
"narHash": "sha256-0fjbN5GYYDKPyPay0l8gYoH+tFfNqPPwP5sxxBreeA4=",
|
||||
"lastModified": 1711249705,
|
||||
"narHash": "sha256-h/NQECj6mIzF4XR6AQoSpkCnwqAM+ol4+qOdYi2ykmQ=",
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "e25efda85e39fcdc845e371971ac4384989c4295",
|
||||
"rev": "34519f3bb678a5abbddf7b200ac5347263ee781b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -491,11 +491,11 @@
|
|||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710811024,
|
||||
"narHash": "sha256-A2s6Mx1oXZFFjZGrPIJpOGfZnQpKlBEEADIjLe1dPqY=",
|
||||
"lastModified": 1711761168,
|
||||
"narHash": "sha256-w7GgKhBcrg1B72Ymb24rDeAoHsNwZdF8OghR4VxGYHk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-vscode-extensions",
|
||||
"rev": "ebf9b6e2c3252dfcd375a06b69723e0065091568",
|
||||
"rev": "5fae7231f16bd5467660c50e7d6a3732559443a0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -540,11 +540,11 @@
|
|||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1710628718,
|
||||
"narHash": "sha256-y+l3eH53UlENaYa1lmnCBHusZb1kxBEFd2/c7lDsGpw=",
|
||||
"lastModified": 1711233294,
|
||||
"narHash": "sha256-eEu5y4J145BYDw9o/YEmeJyqh8blgnZwuz9k234zuWc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6dc11d9859d6a18ab0c5e5829a5b8e4810658de3",
|
||||
"rev": "ac6bdf6181666ebb4f90dd20f31e2fa66ede6b68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -572,11 +572,11 @@
|
|||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1710806803,
|
||||
"narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=",
|
||||
"lastModified": 1711703276,
|
||||
"narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3",
|
||||
"rev": "d8fe5e6c92d0d190646fb9f1056741a229980089",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -588,11 +588,11 @@
|
|||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1710534455,
|
||||
"narHash": "sha256-huQT4Xs0y4EeFKn2BTBVYgEwJSv8SDlm82uWgMnCMmI=",
|
||||
"lastModified": 1711200738,
|
||||
"narHash": "sha256-dkJmk/ET/tRV4007O6kU101UEg1svUwiyk/zEEX9Tdg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9af9c1c87ed3e3ed271934cb896e0cdd33dae212",
|
||||
"rev": "20bc93ca7b2158ebc99b8cef987a2173a81cde35",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -623,11 +623,11 @@
|
|||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710644594,
|
||||
"narHash": "sha256-RquCuzxfy4Nr8DPbdp3D/AsbYep21JgQzG8aMH9jJ4A=",
|
||||
"lastModified": 1711249319,
|
||||
"narHash": "sha256-N+Pp3/8H+rd7cO71VNV/ovV/Kwt+XNeUHNhsmyTabdM=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "83b68a0e8c94b72cdd0a6e547a14ca7eb1c03616",
|
||||
"rev": "405987a66cce9a4a82f321f11b205982a7127c88",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -14,13 +14,13 @@ in {
|
|||
package = pkgs.vscodium;
|
||||
|
||||
mutableExtensionsDir = true;
|
||||
extensions = [
|
||||
ovsx.vadimcn.vscode-lldb
|
||||
ovsx.mkhl.direnv
|
||||
ovsx.editorconfig.editorconfig
|
||||
ovsx.pkief.material-icon-theme
|
||||
ovsx.eamodio.gitlens
|
||||
vsce.hediet.debug-visualizer
|
||||
extensions = with vsce; [
|
||||
vadimcn.vscode-lldb
|
||||
mkhl.direnv
|
||||
editorconfig.editorconfig
|
||||
pkief.material-icon-theme
|
||||
eamodio.gitlens
|
||||
hediet.debug-visualizer
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
../../programs/browsers/firefox.nix
|
||||
|
||||
../../programs/desktop
|
||||
../../programs/desktop/awesome
|
||||
|
||||
../../programs/media
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{...}: {
|
||||
imports = [
|
||||
./kanshi.nix
|
||||
../../terminal
|
||||
../../editors/nvim.nix
|
||||
../../editors/emacs.nix
|
||||
|
@ -8,7 +9,9 @@
|
|||
../../terminal/emulator/wezterm.nix
|
||||
|
||||
# desktop
|
||||
../../programs/desktop
|
||||
../../programs/desktop/awesome
|
||||
../../programs/desktop/hyprland
|
||||
|
||||
# development
|
||||
../../develop
|
||||
|
@ -16,6 +19,7 @@
|
|||
# programs
|
||||
../../programs/misc/keepassxc.nix
|
||||
../../programs/misc/discord.nix
|
||||
../../programs/misc/obsidian.nix
|
||||
../../programs/misc/thunderbird.nix
|
||||
../../programs/music
|
||||
../../programs/music/yams.nix
|
||||
|
@ -24,6 +28,7 @@
|
|||
../../programs/media/jellyfin.nix
|
||||
# gaming
|
||||
../../programs/games
|
||||
../../programs/games/ludusavi.nix
|
||||
|
||||
# media services
|
||||
../../services/media/playerctl.nix
|
||||
|
|
20
home/profiles/nixdesk/kanshi.nix
Normal file
20
home/profiles/nixdesk/kanshi.nix
Normal file
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
services.kanshi = {
|
||||
enable = true;
|
||||
systemdTarget = "hyprland-session.target";
|
||||
profiles."default" = {
|
||||
outputs = [
|
||||
{
|
||||
# criteria = "AOC 27G2G3";
|
||||
criteria = "DP-3";
|
||||
mode = "1920x1080@165Hz";
|
||||
}
|
||||
{
|
||||
# criteria = "AOC 24B1W";
|
||||
criteria = "HDMI-A-1";
|
||||
position = "1920,0";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -14,12 +14,16 @@
|
|||
sponsorblock
|
||||
tridactyl
|
||||
translate-web-pages
|
||||
cookie-quick-manager
|
||||
istilldontcareaboutcookies
|
||||
(lib.mkIf (builtins.elem pkgs.keepassxc config.home.packages) keepassxc-browser)
|
||||
];
|
||||
bookmarks = {};
|
||||
settings = {
|
||||
"browser.tabs.inTitleBar" = "0"; # use system title bar (if you have one :))
|
||||
"browser.newtabpage.enabled" = false;
|
||||
"browser.newtab.url" = "about:blank";
|
||||
"general.autoScroll" = "true"; # mmb scroll mode
|
||||
|
||||
"browser.newtabpage.enhanced" = false;
|
||||
"browser.newtabpage.introShown" = true;
|
||||
|
|
|
@ -144,7 +144,7 @@ awful.screen.connect_for_each_screen(function(s)
|
|||
set_wallpaper(s)
|
||||
|
||||
-- Each screen has its own tag table.
|
||||
awful.tag({ "1", "2", "3", "4", "5" }, s, awful.layout.layouts[1])
|
||||
awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1])
|
||||
|
||||
-- Create a promptbox for each screen
|
||||
s.mypromptbox = awful.widget.prompt()
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
{pkgs, ...}: {
|
||||
services.picom = {
|
||||
enable = true;
|
||||
vSync = true;
|
||||
};
|
||||
|
||||
xsession.windowManager.awesome = {
|
||||
enable = true;
|
||||
noArgb = true;
|
||||
|
|
48
home/programs/desktop/default.nix
Normal file
48
home/programs/desktop/default.nix
Normal file
|
@ -0,0 +1,48 @@
|
|||
{pkgs, ...}: {
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
package = pkgs.apple-cursor;
|
||||
name = "macOS-BigSur";
|
||||
size = 16;
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
package = pkgs.flat-remix-gtk;
|
||||
name = "Flat-Remix-GTK-Grey-Darkest";
|
||||
};
|
||||
iconTheme = {
|
||||
package = pkgs.gnome.adwaita-icon-theme;
|
||||
name = "Adwaita";
|
||||
};
|
||||
font = {
|
||||
name = "Sans";
|
||||
size = 11;
|
||||
};
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "gtk3";
|
||||
style = {
|
||||
name = "adwaita-dark";
|
||||
package = pkgs.adwaita-qt;
|
||||
};
|
||||
};
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-hyprland
|
||||
xdg-desktop-portal-kde
|
||||
];
|
||||
config = {
|
||||
preferred = {
|
||||
default = "hyprland;gtk";
|
||||
"org.freedesktop.impl.portal.FileChooser" = "kde";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
111
home/programs/desktop/hyprland/default.nix
Normal file
111
home/programs/desktop/hyprland/default.nix
Normal file
|
@ -0,0 +1,111 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
settings = {
|
||||
exec-once = [
|
||||
"${lib.getExe pkgs.waybar}"
|
||||
"${lib.getExe pkgs.xwaylandvideobridge}"
|
||||
"${lib.getExe pkgs.swaybg} -i ${config.xdg.userDirs.pictures}/wallpaper.png"
|
||||
];
|
||||
input = {
|
||||
kb_layout = "eu";
|
||||
};
|
||||
env = [
|
||||
"NIXOS_OZONE_WL,1" # for any ozone-based browser & electron apps to run on wayland
|
||||
"MOZ_ENABLE_WAYLAND,1" # for firefox to run on wayland
|
||||
"MOZ_WEBRENDER,1"
|
||||
# misc
|
||||
"_JAVA_AWT_WM_NONREPARENTING,1"
|
||||
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
|
||||
"QT_QPA_PLATFORM,wayland"
|
||||
"SDL_VIDEODRIVER,wayland"
|
||||
"GDK_BACKEND,wayland"
|
||||
];
|
||||
|
||||
"$mainMod" = "SUPER";
|
||||
bind = [
|
||||
"$mainMod, RETURN, exec, ${lib.getExe pkgs.foot}"
|
||||
"$mainMod, Q, killactive"
|
||||
"$mainMod, SPACE, togglefloating"
|
||||
"$mainMod, F, fullscreen"
|
||||
"$mainMod, M, fullscreen, 1"
|
||||
"$mainMod SHIFT, F, fakefullscreen"
|
||||
"$mainMod, P, exec, ${pkgs.bemenu}/bin/bemenu-run"
|
||||
|
||||
"$mainMod SHIFT, E, exec, ${lib.getExe pkgs.wlogout}"
|
||||
# focus with vim keys
|
||||
"$mainMod, h, movefocus, l"
|
||||
"$mainMod, j, movefocus, d"
|
||||
"$mainMod, k, movefocus, u"
|
||||
"$mainMod, l, movefocus, r"
|
||||
# window move with vim keys
|
||||
"$mainMod SHIFT, h, movewindow, l"
|
||||
"$mainMod SHIFT, j, movewindow, d"
|
||||
"$mainMod SHIFT, k, movewindow, u"
|
||||
"$mainMod SHIFT, l, movewindow, r"
|
||||
|
||||
# switch workspace with mod+[0-9]
|
||||
"$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"
|
||||
|
||||
# move window to workspace with mod+shift+[0-9]
|
||||
"$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"
|
||||
|
||||
# scroll through workspaces with mod+scroll
|
||||
"$mainMod, mouse_down, workspace, e+1"
|
||||
"$mainMod, mouse_up, workspace, e-1"
|
||||
", XF86AudioPlay, exec, ${lib.getExe pkgs.playerctl} play-pause"
|
||||
", XF86AudioStop, exec, ${lib.getExe pkgs.playerctl} stop"
|
||||
", XF86AudioNext, exec, ${lib.getExe pkgs.playerctl} next"
|
||||
", XF86AudioPrev, exec, ${lib.getExe pkgs.playerctl} previous"
|
||||
];
|
||||
bindm = [
|
||||
# mod+lbm/rmb for move/resize
|
||||
"$mainMod, mouse:272, movewindow"
|
||||
"$mainMod, mouse:273, resizewindow"
|
||||
];
|
||||
binde = [
|
||||
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 3%+"
|
||||
", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 3%-"
|
||||
];
|
||||
windowrulev2 = [
|
||||
# Allow hiding xwaylandvideobridge window correctly
|
||||
"opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$"
|
||||
"noanim,class:^(xwaylandvideobridge)$"
|
||||
"noinitialfocus,class:^(xwaylandvideobridge)$"
|
||||
"maxsize 1 1,class:^(xwaylandvideobridge)$"
|
||||
"noblur,class:^(xwaylandvideobridge)$"
|
||||
|
||||
#"stayfocused,title:^(XtMapper)$"
|
||||
"noanim,title:^(XtMapper)$"
|
||||
"noblur,title:^(XtMapper)$"
|
||||
"float,title:^(XtMapper)$"
|
||||
"move 0% 0%,title:^(XtMapper)$"
|
||||
"size 100%,title:^(XtMapper)$"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
6
home/programs/games/ludusavi.nix
Normal file
6
home/programs/games/ludusavi.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
ludusavi
|
||||
rclone
|
||||
];
|
||||
}
|
3
home/programs/misc/obsidian.nix
Normal file
3
home/programs/misc/obsidian.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [obsidian];
|
||||
}
|
|
@ -21,16 +21,6 @@
|
|||
-- Keys
|
||||
c.leader = { key = 'j', mods = 'CTRL', timeout_milliseconds = 1000 }
|
||||
c.keys = {
|
||||
{
|
||||
key = 'v',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.SplitHorizontal { domain = 'CurrentPaneDomain' },
|
||||
},
|
||||
{
|
||||
key = 's',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.SplitVertical { domain = 'CurrentPaneDomain' },
|
||||
},
|
||||
{
|
||||
key = 'q',
|
||||
mods = 'LEADER',
|
||||
|
@ -41,6 +31,60 @@
|
|||
mods = 'LEADER',
|
||||
action = wezterm.action.TogglePaneZoomState,
|
||||
},
|
||||
{
|
||||
key = 'h',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.ActivatePaneDirection('Left'),
|
||||
},
|
||||
{
|
||||
key = 'j',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.ActivatePaneDirection('Down'),
|
||||
},
|
||||
{
|
||||
key = 'k',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.ActivatePaneDirection('Up'),
|
||||
},
|
||||
{
|
||||
key = 'l',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.ActivatePaneDirection('Right'),
|
||||
},
|
||||
{
|
||||
key = 'H',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.SplitPane { direction = 'Left' },
|
||||
},
|
||||
{
|
||||
key = 'J',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.SplitPane { direction = 'Down' },
|
||||
},
|
||||
{
|
||||
key = 'K',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.SplitPane { direction = 'Up' },
|
||||
},
|
||||
{
|
||||
key = 'L',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.SplitPane { direction = 'Right' },
|
||||
},
|
||||
{
|
||||
key = 's',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.PaneSelect {
|
||||
mode = "Activate"
|
||||
},
|
||||
},
|
||||
{
|
||||
key = ';',
|
||||
mods = 'LEADER',
|
||||
action = wezterm.action.PaneSelect {
|
||||
mode = "SwapWithActive"
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
return c
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
imports = [
|
||||
./git.nix
|
||||
./github.nix
|
||||
./direnv.nix
|
||||
./xdg.nix
|
||||
./comma.nix
|
||||
|
|
4
home/terminal/programs/github.nix
Normal file
4
home/terminal/programs/github.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
programs.gh.enable = true;
|
||||
programs.gh-dash.enable = true;
|
||||
}
|
|
@ -5,5 +5,10 @@
|
|||
clock24 = true;
|
||||
mouse = true;
|
||||
escapeTime = 0;
|
||||
extraConfig = ''
|
||||
bind '"' split-window -c "#{pane_current_path}"
|
||||
bind % split-window -h -c "#{pane_current_path}"
|
||||
bind c new-window -c "#{pane_current_path}";
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
enable = true;
|
||||
autocd = true;
|
||||
enableCompletion = true;
|
||||
enableAutosuggestions = true;
|
||||
autosuggestion.enable = true;
|
||||
dotDir = ".config/zsh";
|
||||
defaultKeymap = "emacs";
|
||||
|
||||
|
|
|
@ -34,6 +34,10 @@ in {
|
|||
"${self}/secrets/nixdesk"
|
||||
|
||||
"${mod}/services/syncthing.nix"
|
||||
"${mod}/services/virt/podman.nix"
|
||||
"${mod}/services/virt/waydroid.nix"
|
||||
"${mod}/services/virt/distrobox.nix"
|
||||
"${mod}/services/ollama.nix"
|
||||
"${mod}/desktop/x11/nosleep.nix"
|
||||
|
||||
"${mod}/programs/gamemode.nix"
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
{...}: {
|
||||
{pkgs, ...}: {
|
||||
imports = [
|
||||
./tools.nix
|
||||
./sway.nix
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
firefox
|
||||
];
|
||||
|
||||
isoImage.edition = "sway-custom";
|
||||
|
||||
networking.hostName = "liveiso";
|
||||
|
|
|
@ -2,5 +2,6 @@
|
|||
environment.systemPackages = with pkgs; [
|
||||
neovim
|
||||
parted
|
||||
gparted
|
||||
];
|
||||
}
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
swapDevices = [
|
||||
{
|
||||
device = "/var/lib/swapfile";
|
||||
randomEncryption.enable = true;
|
||||
size = 16 * 1024;
|
||||
}
|
||||
];
|
||||
|
|
|
@ -29,11 +29,22 @@
|
|||
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-uuid/0c080ce8-26f0-454b-a100-1ca9d5308931";
|
||||
fsType = "ext4";
|
||||
device = "/dev/disk/by-uuid/d87276c0-ef9c-422e-b2de-effc1b47c654";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=root" "compress=zstd"];
|
||||
};
|
||||
"/home" = {
|
||||
device = "/dev/disk/by-uuid/d87276c0-ef9c-422e-b2de-effc1b47c654";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=home" "compress=zstd"];
|
||||
};
|
||||
"/nix" = {
|
||||
device = "/dev/disk/by-uuid/d87276c0-ef9c-422e-b2de-effc1b47c654";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=nix" "compress=zstd" "noatime"];
|
||||
};
|
||||
"/boot" = {
|
||||
device = "/dev/disk/by-uuid/D23A-89BF";
|
||||
device = "/dev/disk/by-uuid/588B-CB97";
|
||||
fsType = "vfat";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -43,7 +43,6 @@ in
|
|||
|
||||
preFixup = ''
|
||||
qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
# You can manually patch scripts using: wrapQtApp "$out/bin/myapp". TODO: check when it's required.
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
environment.systemPackages = [pkgs.steam-run];
|
||||
#environment.systemPackages = [pkgs.steam-run];
|
||||
|
||||
programs.nix-ld.enable = true;
|
||||
programs.nix-ld.libraries = with pkgs; [
|
||||
|
@ -55,6 +55,4 @@
|
|||
xorg.libxshmfence
|
||||
zlib
|
||||
];
|
||||
# symlinks binaries to /bin, fixes hard coded shebangs
|
||||
services.envfs.enable = true;
|
||||
}
|
||||
|
|
3
system/core/gvfs.nix
Normal file
3
system/core/gvfs.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
services.gvfs.enable = true;
|
||||
}
|
|
@ -5,7 +5,10 @@
|
|||
shell = pkgs.zsh;
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"input"
|
||||
"video"
|
||||
"render"
|
||||
"audio"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,9 +2,12 @@ let
|
|||
desktop = [
|
||||
./core
|
||||
./core/boot.nix
|
||||
./core/gvfs.nix
|
||||
|
||||
./hardware/opengl.nix
|
||||
./hardware/steam-hardware.nix
|
||||
./hardware/bluetooth.nix
|
||||
./hardware/qmk.nix
|
||||
|
||||
./network/networkd.nix
|
||||
./network/avahi.nix
|
||||
|
@ -12,6 +15,8 @@ let
|
|||
|
||||
./desktop
|
||||
./desktop/awesome.nix
|
||||
./desktop/sway.nix
|
||||
./desktop/hyprland.nix
|
||||
|
||||
./programs
|
||||
|
||||
|
|
|
@ -1,14 +1 @@
|
|||
{pkgs, ...}: {
|
||||
xdg = {
|
||||
portal = {
|
||||
enable = true;
|
||||
config = {
|
||||
common.default = ["gtk"];
|
||||
};
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
{}
|
||||
|
|
5
system/desktop/hyprland.nix
Normal file
5
system/desktop/hyprland.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
9
system/desktop/sway.nix
Normal file
9
system/desktop/sway.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
programs.sway = {
|
||||
enable = true;
|
||||
wrapperFeatures = {
|
||||
base = true;
|
||||
gtk = true;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -8,5 +8,6 @@
|
|||
domain = true;
|
||||
userServices = true;
|
||||
};
|
||||
openFirewall = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -6,7 +6,22 @@
|
|||
extraCompatPackages = with pkgs; [
|
||||
proton-ge-bin
|
||||
];
|
||||
extest.enable = true;
|
||||
gamescopeSession.enable = true;
|
||||
## Fixes gamescope
|
||||
package = pkgs.steam.override {
|
||||
extraPkgs = pkgs:
|
||||
with pkgs; [
|
||||
xorg.libXcursor
|
||||
xorg.libXi
|
||||
xorg.libXinerama
|
||||
xorg.libXScrnSaver
|
||||
libpng
|
||||
libpulseaudio
|
||||
libvorbis
|
||||
stdenv.cc.cc.lib
|
||||
libkrb5
|
||||
keyutils
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -6,6 +6,34 @@
|
|||
imports = [
|
||||
#./statistics
|
||||
];
|
||||
|
||||
services.samba = {
|
||||
enable = true;
|
||||
package = pkgs.samba4Full;
|
||||
openFirewall = true;
|
||||
shares."torrent-downloads" = {
|
||||
path = "/media/downloads/complete";
|
||||
browseable = "yes";
|
||||
"read only" = "yes";
|
||||
"guest ok" = "no";
|
||||
};
|
||||
#shares."decky-cloud-save" = {
|
||||
# path = "/media/gamesaves";
|
||||
# browseable = "yes";
|
||||
# "read only" = "no";
|
||||
# "guest ok" = "no";
|
||||
#};
|
||||
extraConfig = ''
|
||||
server smb encrypt = required
|
||||
server min protocol = SMB3_00
|
||||
'';
|
||||
};
|
||||
services.samba-wsdd = {
|
||||
# This enables autodiscovery on windows since SMB1 (and thus netbios) support was discontinued
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
|
||||
#virtualisation.docker = {
|
||||
# enable = true;
|
||||
# enableOnBoot = true;
|
||||
|
|
10
system/services/ollama.nix
Normal file
10
system/services/ollama.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
services.ollama = {
|
||||
enable = true;
|
||||
environmentVariables = {
|
||||
HSA_OVERRIDE_GFX_VERSION = "10.3.0";
|
||||
};
|
||||
acceleration = "rocm";
|
||||
listenAddress = "127.0.0.1:11434";
|
||||
};
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
{config, ...}: {
|
||||
services.syncthing = {
|
||||
enable = true;
|
||||
openDefaultPorts = true;
|
||||
|
@ -11,11 +11,11 @@
|
|||
settings = {
|
||||
devices = {
|
||||
"nixdesk" = {
|
||||
id = "2WCEQPF-2J4U7IK-XRT25FV-NFT2JEM-AVOMDEK-FIJNZ24-7WCBZC2-57CX2AP";
|
||||
id = "DZEIXRH-WBIEUUW-FFP2SLJ-BTIUPBE-YURLPN7-MUFOR6L-HS27D6G-I25XHQ3";
|
||||
autoAcceptFolders = true;
|
||||
};
|
||||
"redmi-note-10-pro" = {
|
||||
id = "U6YYTHR-2ZXIEXQ-RNDERSF-CTVSP67-W24VK4Y-5EQRIV5-T7JJW2N-33L7XQV";
|
||||
id = "MRAHIKH-TNHAKEG-OHMEFXI-BO54SXR-6IL2Y3B-3HVOWZF-ZGTS2OX-YSWTPQF";
|
||||
autoAcceptFolders = true;
|
||||
};
|
||||
"hopper" = {
|
||||
|
@ -25,13 +25,13 @@
|
|||
};
|
||||
folders = {
|
||||
"~/secrets" = {
|
||||
devices = [
|
||||
"nixdesk"
|
||||
"redmi-note-10-pro"
|
||||
"hopper"
|
||||
];
|
||||
devices = builtins.attrNames config.services.syncthing.settings.devices;
|
||||
id = "sfw9y-yusup";
|
||||
};
|
||||
"~/docs/xun-megavault" = {
|
||||
devices = builtins.attrNames config.services.syncthing.settings.devices;
|
||||
id = "1zkf-wf5r";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
3
system/services/virt/distrobox.nix
Normal file
3
system/services/virt/distrobox.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [distrobox];
|
||||
}
|
6
system/services/virt/docker.nix
Normal file
6
system/services/virt/docker.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [docker-compose];
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
7
system/services/virt/podman.nix
Normal file
7
system/services/virt/podman.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
virtualisation.podman = {
|
||||
enable = true;
|
||||
autoPrune.enable = true;
|
||||
dockerSocket.enable = true;
|
||||
};
|
||||
}
|
3
system/services/virt/waydroid.nix
Normal file
3
system/services/virt/waydroid.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
virtualisation.waydroid.enable = true;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue