Merge branch 'zenix/cosmic' into nixbook/master

This commit is contained in:
Tristan 2024-08-13 09:35:39 +01:00
commit b36f573d63
20 changed files with 406 additions and 286 deletions

102
flake.lock generated
View file

@ -189,11 +189,11 @@
]
},
"locked": {
"lastModified": 1719994518,
"narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=",
"lastModified": 1722555600,
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7",
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
"type": "github"
},
"original": {
@ -253,11 +253,11 @@
]
},
"locked": {
"lastModified": 1721042469,
"narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=",
"lastModified": 1722857853,
"narHash": "sha256-3Zx53oz/MSIyevuWO/SumxABkrIvojnB7g9cimxkhiE=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "f451c19376071a90d8c58ab1a953c6e9840527fd",
"rev": "06939f6b7ec4d4f465bf3132a05367cccbbf64da",
"type": "github"
},
"original": {
@ -312,11 +312,11 @@
]
},
"locked": {
"lastModified": 1722067813,
"narHash": "sha256-nxpzoKXwn+8RsxpxwD86mtEscOMw64ZD/vGSNWzGMlA=",
"lastModified": 1723015306,
"narHash": "sha256-jQnFEtH20/OsDPpx71ntZzGdRlpXhUENSQCGTjn//NA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "975b83ca560d17db51a66cb2b0dc0e44213eab27",
"rev": "b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e",
"type": "github"
},
"original": {
@ -334,11 +334,11 @@
]
},
"locked": {
"lastModified": 1722119539,
"narHash": "sha256-2kU90liMle0vKR8exJx1XM4hZh9CdNgZGHCTbeA9yzY=",
"lastModified": 1722630065,
"narHash": "sha256-QfM/9BMRkCmgWzrPDK+KbgJOUlSJnfX4OvsUupEUZvA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "d0240a064db3987eb4d5204cf2400bc4452d9922",
"rev": "afc892db74d65042031a093adb6010c4c3378422",
"type": "github"
},
"original": {
@ -376,11 +376,11 @@
]
},
"locked": {
"lastModified": 1722082646,
"narHash": "sha256-od8dBWVP/ngg0cuoyEl/w9D+TCNDj6Kh4tr151Aax7w=",
"lastModified": 1722924007,
"narHash": "sha256-+CQDamNwqO33REJLft8c26NbUi2Td083hq6SvAm2xkU=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "0413754b3cdb879ba14f6e96915e5fdf06c6aab6",
"rev": "91010a5613ffd7ee23ee9263213157a1c422b705",
"type": "github"
},
"original": {
@ -395,14 +395,15 @@
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable"
"nixpkgs-stable": "nixpkgs-stable",
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1721160462,
"narHash": "sha256-/VxDWswjySr3CUuMRP4OBBP3sFSps7r1Bh/AJkZSdVk=",
"lastModified": 1723258277,
"narHash": "sha256-2yB/905PCCFwFI20mRU7aAZdp1h7cYmsvlKk+t8+W20=",
"owner": "lilyinstarlight",
"repo": "nixos-cosmic",
"rev": "b2d62f3b793495c1156cba6a99512cd95ac2c439",
"rev": "7f032a71bf9cb77df5610796c70f45e1f69a9a3a",
"type": "github"
},
"original": {
@ -413,11 +414,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1721924956,
"narHash": "sha256-Sb1jlyRO+N8jBXEX9Pg9Z1Qb8Bw9QyOgLDNMEpmjZ2M=",
"lastModified": 1723175592,
"narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5ad6a14c6bf098e98800b091668718c336effc95",
"rev": "5e0ca22929f3342b19569b21b2f3462f053e497b",
"type": "github"
},
"original": {
@ -428,11 +429,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1720954236,
"narHash": "sha256-1mEKHp4m9brvfQ0rjCca8P1WHpymK3TOr3v34ydv9bs=",
"lastModified": 1722987190,
"narHash": "sha256-68hmex5efCiM2aZlAAEcQgmFI4ZwWt8a80vOeB/5w3A=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "53e81e790209e41f0c1efa9ff26ff2fd7ab35e27",
"rev": "21cc704b5e918c5fbf4f9fff22b4ac2681706d90",
"type": "github"
},
"original": {
@ -505,11 +506,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1722248209,
"narHash": "sha256-yYoxx5hVrI7JaiPy44sgnr5YIRXWY7ttNoN/l5fJOgI=",
"lastModified": 1723230145,
"narHash": "sha256-FyjcuYZMqXdiKOXkHaIC2ubag+TPV9Z12urC/sdVI6A=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "2089eb407d8c5dbd6ca6e93d4988a439ca6446fd",
"rev": "4852f94f8ccae551514df0092a077014bafb95ca",
"type": "github"
},
"original": {
@ -527,11 +528,11 @@
]
},
"locked": {
"lastModified": 1722144272,
"narHash": "sha256-olZbfaEdd+zNPuuyYcYGaRzymA9rOmth8yXOlVm+LUs=",
"lastModified": 1722772237,
"narHash": "sha256-3eCYmzeLngX8eutIsTZAG8DIvT/0DWQQxiszTQz8n0s=",
"owner": "NuschtOS",
"repo": "search",
"rev": "16565307c267ec219c2b5d3494ba66df08e7d403",
"rev": "aa5f6246565cc9b1e697d2c9d6ed2c842b17fff6",
"type": "github"
},
"original": {
@ -550,17 +551,38 @@
"stylix": "stylix"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"nixos-cosmic",
"nixpkgs"
]
},
"locked": {
"lastModified": 1723170066,
"narHash": "sha256-SFkQfOA+8AIYJsPlQtxNP+z5jRLfz91z/aOrV94pPmw=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "fecfe4d7c96fea2982c7907997b387a6b52c1093",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"sops-nix": {
"inputs": {
"nixpkgs": "nixpkgs_2",
"nixpkgs-stable": "nixpkgs-stable_2"
},
"locked": {
"lastModified": 1721688883,
"narHash": "sha256-9jsjsRKtJRqNSTXKj9zuDFRf2PGix30nMx9VKyPgD2U=",
"lastModified": 1722897572,
"narHash": "sha256-3m/iyyjCdRBF8xyehf59QlckIcmShyTesymSb+N4Ap4=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "aff2f88277dabe695de4773682842c34a0b7fd54",
"rev": "8ae477955dfd9cbf5fa4eb82a8db8ddbb94e79d9",
"type": "github"
},
"original": {
@ -584,11 +606,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1721989207,
"narHash": "sha256-APKQeMMdh1O1W3OnxEvNfHNBiE4eRvEN6rosFr2dLHE=",
"lastModified": 1722946882,
"narHash": "sha256-mxtnMye8gs82tdQbVC+g6v3aPOZlH150f9WyntHIkTg=",
"owner": "danth",
"repo": "stylix",
"rev": "b9de20c76e8d5c13cf2304d23cf589803c311670",
"rev": "5853f1a8bd072f2ebabfc3de3973084353cf6f1e",
"type": "github"
},
"original": {
@ -620,11 +642,11 @@
]
},
"locked": {
"lastModified": 1721769617,
"narHash": "sha256-6Pqa0bi5nV74IZcENKYRToRNM5obo1EQ+3ihtunJ014=",
"lastModified": 1722330636,
"narHash": "sha256-uru7JzOa33YlSRwf9sfXpJG+UAV+bnBEYMjrzKrQZFw=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "8db8970be1fb8be9c845af7ebec53b699fe7e009",
"rev": "768acdb06968e53aa1ee8de207fd955335c754b7",
"type": "github"
},
"original": {

View file

@ -18,6 +18,11 @@
};
};
nixConfig = {
substituters = ["https://cosmic.cachix.org/"];
trusted-public-keys = ["cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="];
};
outputs = {nixvim, ...} @ inputs: let
system = "x86_64-linux";
pkgs = import inputs.nixpkgs {inherit system;};
@ -32,14 +37,15 @@
zenix = mkConf {
nixos-modules = [
./hardware/zenix.nix
(auto-login "Hyprland")
# (auto-login "Hyprland")
# ./nixos/programs/hyprland.nix
./nixos/programs/cosmic.nix
./nixos/programs/gamer.nix
./nixos/programs/personal.nix
./nixos/workstation.nix
];
home-modules = [
./home/workstation.nix
./home/desktop/hyprland/.
./home/programs/graphical.nix
./home/programs/gamer.nix
./home/programs/personal/.
@ -51,11 +57,10 @@
nixos-modules = [
./hardware/fcs-tristan-nixbook.nix
(auto-login "Hyprland")
./nixos/hyprland.nix
./nixos/modules/work.nix
./nixos/workstation.nix
];
home-modules = [
./home/workstation.nix
./home/desktop/hyprland/.
./home/programs/work.nix
./home/programs/graphical.nix
@ -129,11 +134,7 @@
nixos-modules = [
./hardware/vm.nix
(auto-login "Hyprland")
./nixos/workstation.nix
];
home-modules = [
./home/desktop/hyprland/.
./home/workstation.nix
./nixos/programs/hyprland.nix
];
};

View file

@ -17,7 +17,6 @@ in {
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = ["uas" "usbcore" "usb_storage" "vfat" "nls_cp437" "nls_iso8859_1"];
boot.kernelModules = ["kvm-amd"];
boot.kernelPackages = pkgs.linuxPackages_xanmod_latest;
boot.extraModulePackages = [];
fileSystems."/" = {

View file

@ -10,6 +10,7 @@
./programs/git.nix
./programs/lf/.
./programs/zsh.nix
./programs/tmux.nix
];
programs.home-manager.enable = true;
@ -34,12 +35,14 @@
htop
libsixel
yt-dlp
ytfzf
fastfetch
tree
ansible
ytfzf
];
programs.zoxide.enable = true;
programs.rbw = {
enable = true;
settings = {

View file

@ -18,6 +18,7 @@ in {
imports = [
(import ../utils/waybar.nix)
(import ../utils/display.nix)
../../workstation.nix
];
xdg.portal = {
enable = true;
@ -54,9 +55,9 @@ in {
settings = {
# https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/
general = {
disable_loading_bar = true;
hide_cursor = true;
no_fade_in = false;
grace = 10;
ignore_empty_input = true;
};
background = [

View file

@ -4,7 +4,7 @@
systemd.enable = true;
settings = {
mainBar = {
layer = "top";
layer = "bottom";
position = "top";
height = 36;
modules-right = ["mpris" "idle_inhibitor" "pulseaudio" "clock" "tray" "battery"];

View file

@ -0,0 +1,185 @@
# Binds are of the form <key sequence> = <command to run>
# To use '=' in a key sequence, substitute it with "Eq": "<Ctrl+Eq>"
# If you wish to bind #, you can wrap the key sequence in quotes: "#" = quit
<C-p> = :prev-tab<Enter>
<C-PgUp> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>
<C-PgDn> = :next-tab<Enter>
\[t = :prev-tab<Enter>
\]t = :next-tab<Enter>
<C-t> = :term<Enter>
? = :help keys<Enter>
<C-c> = :prompt 'Quit?' quit<Enter>
<C-q> = :prompt 'Quit?' quit<Enter>
<C-z> = :suspend<Enter>
[messages]
o = :term mbsync -a<Enter>
q = :prompt 'Quit?' quit<Enter>
j = :next<Enter>
<Down> = :next<Enter>
<C-d> = :next 50%<Enter>
<C-f> = :next 100%<Enter>
<PgDn> = :next 100%<Enter>
k = :prev<Enter>
<Up> = :prev<Enter>
<C-u> = :prev 50%<Enter>
<C-b> = :prev 100%<Enter>
<PgUp> = :prev 100%<Enter>
g = :select 0<Enter>
G = :select -1<Enter>
J = :next-folder<Enter>
<C-Down> = :next-folder<Enter>
K = :prev-folder<Enter>
<C-Up> = :prev-folder<Enter>
H = :collapse-folder<Enter>
<C-Left> = :collapse-folder<Enter>
L = :expand-folder<Enter>
<C-Right> = :expand-folder<Enter>
v = :mark -t<Enter>
<Space> = :mark -t<Enter>:next<Enter>
V = :mark -v<Enter>
T = :toggle-threads<Enter>
zc = :fold<Enter>
zo = :unfold<Enter>
za = :fold -t<Enter>
zM = :fold -a<Enter>
zR = :unfold -a<Enter>
<tab> = :fold -t<Enter>
zz = :align center<Enter>
zt = :align top<Enter>
zb = :align bottom<Enter>
<Enter> = :view<Enter>
d = :choose -o y 'Really delete this message' delete-message<Enter>
D = :delete<Enter>
a = :archive flat<Enter>
A = :unmark -a<Enter>:mark -T<Enter>:archive flat<Enter>
C = :compose<Enter>
m = :compose<Enter>
b = :bounce<space>
rr = :reply -a<Enter>
rq = :reply -aq<Enter>
Rr = :reply<Enter>
Rq = :reply -q<Enter>
c = :cf<space>
$ = :term<space>
! = :term<space>
| = :pipe<space>
/ = :search<space>
\ = :filter<space>
n = :next-result<Enter>
N = :prev-result<Enter>
<Esc> = :clear<Enter>
s = :split<Enter>
S = :vsplit<Enter>
pl = :patch list<Enter>
pa = :patch apply <Tab>
pd = :patch drop <Tab>
pb = :patch rebase<Enter>
pt = :patch term<Enter>
ps = :patch switch <Tab>
[messages:folder=Drafts]
<Enter> = :recall<Enter>
[view]
/ = :toggle-key-passthrough<Enter>/
q = :close<Enter>
O = :open<Enter>
o = :open<Enter>
S = :save<space>
| = :pipe<space>
D = :delete<Enter>
A = :archive flat<Enter>
<C-l> = :open-link <space>
f = :forward<Enter>
rr = :reply -a<Enter>
rq = :reply -aq<Enter>
Rr = :reply<Enter>
Rq = :reply -q<Enter>
H = :toggle-headers<Enter>
<C-k> = :prev-part<Enter>
<C-Up> = :prev-part<Enter>
<C-j> = :next-part<Enter>
<C-Down> = :next-part<Enter>
J = :next<Enter>
<C-Right> = :next<Enter>
K = :prev<Enter>
<C-Left> = :prev<Enter>
[view::passthrough]
$noinherit = true
$ex = <C-x>
<Esc> = :toggle-key-passthrough<Enter>
[compose]
# Keybindings used when the embedded terminal is not selected in the compose
# view
$noinherit = true
$ex = <C-x>
$complete = <C-o>
<C-k> = :prev-field<Enter>
<C-Up> = :prev-field<Enter>
<C-j> = :next-field<Enter>
<C-Down> = :next-field<Enter>
<A-p> = :switch-account -p<Enter>
<C-Left> = :switch-account -p<Enter>
<A-n> = :switch-account -n<Enter>
<C-Right> = :switch-account -n<Enter>
<tab> = :next-field<Enter>
<backtab> = :prev-field<Enter>
<C-p> = :prev-tab<Enter>
<C-PgUp> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>
<C-PgDn> = :next-tab<Enter>
[compose::editor]
# Keybindings used when the embedded terminal is selected in the compose view
$noinherit = true
$ex = <C-x>
<C-k> = :prev-field<Enter>
<C-Up> = :prev-field<Enter>
<C-j> = :next-field<Enter>
<C-Down> = :next-field<Enter>
<C-p> = :prev-tab<Enter>
<C-PgUp> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>
<C-PgDn> = :next-tab<Enter>
[compose::review]
# Keybindings used when reviewing a message to be sent
# Inline comments are used as descriptions on the review screen
y = :send<Enter> # Send
n = :abort<Enter> # Abort (discard message, no confirmation)
v = :preview<Enter> # Preview message
p = :postpone<Enter> # Postpone
q = :choose -o d discard abort -o p postpone postpone<Enter> # Abort or postpone
e = :edit<Enter> # Edit
a = :attach<space> # Add attachment
d = :detach<space> # Remove attachment
[terminal]
$noinherit = true
$ex = <C-x>
<C-p> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>
<C-PgUp> = :prev-tab<Enter>
<C-PgDn> = :next-tab<Enter>

View file

@ -0,0 +1,21 @@
{
programs.aerc = {
extraBinds = builtins.readFile ./binds.conf; # default binds
extraConfig = {
general = {
pgp-provider = "gpg";
unsafe-accounts-conf = true;
};
ui = {};
viewer = {};
filters = {
"text/plain" = "colorize";
"text/calendar" = "calendar";
"message/delivery-status" = "colorize";
"message/rfc822" = "colorize";
"image/*" = "img2sixel";
"text/html" = "html | colorize";
};
};
};
}

View file

@ -21,6 +21,8 @@ in {
};
};
imports = [./aerc/.];
config = lib.mkIf cfg.enable {
programs.scripts = [
{
@ -73,156 +75,6 @@ in {
programs.aerc = {
enable = cfg.terminal;
extraBinds = ''
# Binds are of the form <key sequence> = <command to run>
# To use '=' in a key sequence, substitute it with "Eq": "<Ctrl+Eq>"
# If you wish to bind #, you can wrap the key sequence in quotes: "#" = quit
<C-p> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>
<C-t> = :term<Enter>
[messages]
Q = :quit<Enter>
T = :toggle-threads<Enter>
j = :next<Enter>
<Down> = :next<Enter>
<C-d> = :next 50%<Enter>
<C-f> = :next 100%<Enter>
<PgDn> = :next -s 100%<Enter>
k = :prev<Enter>
<Up> = :prev<Enter>
<C-u> = :prev 50%<Enter>
<C-b> = :prev<Enter>
<PgUp> = :prev -s 100%<Enter>
gg = :select 0<Enter>
G = :select -1<Enter>
J = :next-folder<Enter>
K = :prev-folder<Enter>
v = :mark -t<Enter>
V = :mark -v<Enter>
f = :flag<Enter>
F = :unflag<Enter>
t = :toggle-threads<Enter>
<Enter> = :view<Enter>
D = :mv Trash<Enter>
C = :compose<enter>
Rr = :reply<Enter>
Rq = :reply -q<Enter>
rr = :reply -a<Enter>
rq = :reply -aq<Enter>
rt = :unflag<Enter>:reply -a -Tthanks<Enter>
Rt = :unflag<Enter>:reply -qa -Tquoted_thanks<Enter>
a = :mv Archive<Enter>
c = :cf<space>
$ = :term<space>
! = :term<space>
| = :pipe<space>
ga = :flag<Enter>:pipe -mb git am -3<Enter>
gp = :term git push<Enter>
gl = :term git log<Enter>
/ = :search<space>
\ = :filter<space>
n = :next-result<Enter>
N = :prev-result<Enter>
o = :term mbsync -a<Enter>
q = :quit<Enter>
[view]
/ = :toggle-key-passthrough<Enter>/
q = :close<Enter>
| = :pipe -m<space>
S = :save<space>
H = :toggle-headers<Enter>
D = :mv Trash<Enter>
<C-k> = :prev-part<Enter>
<C-j> = :next-part<Enter>
J = :next<Enter>
K = :prev<Enter>
f = :forward<Enter>
Rr = :reply<Enter>
Rq = :reply -q<Enter>
rr = :reply -a<Enter>
rq = :reply -aq<Enter>
rt = :reply -Tthanks<Enter>
ga = :pipe -b git am -3<Enter>
gp = :term git push<Enter>
gl = :term git log<Enter>
[view::passthrough]
$noinherit = true
$ex = <C-x>
<Esc> = :toggle-key-passthrough<Enter>
[compose]
$ex = <C-x>
<C-k> = :prev-field<Enter>
<C-j> = :next-field<Enter>
<tab> = :next-field<Enter>
[compose::editor]
# Keybindings used when the embedded terminal is selected in the compose view
$noinherit = true
$ex = <C-x>
<C-t> = :term<Enter>
<C-k> = :prev-field<Enter>
<C-j> = :next-field<Enter>
<C-p> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>
[compose::review]
# Keybindings used when reviewing a message to be sent
y = :send<Enter>
n = :abort<Enter>
e = :edit<Enter>
a = :attach<space>
c = :encrypt<Enter>
s = :sign<Enter>
V = :header -f X-Sourcehut-Patchset-Update NEEDS_REVISION<Enter>
A = :header -f X-Sourcehut-Patchset-Update APPLIED<Enter>
R = :header -f X-Sourcehut-Patchset-Update REJECTED<Enter>
[terminal]
$noinherit = true
$ex = <C-x>
<C-t> = :term<Enter>
<C-p> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>
'';
extraConfig = {
general = {
pgp-provider = "gpg";
unsafe-accounts-conf = true;
};
ui = {};
viewer = {};
filters = {
"text/plain" = "colorize";
"text/calendar" = "calendar";
"message/delivery-status" = "colorize";
"message/rfc822" = "colorize";
"image/*" = "img2sixel";
"text/html" = "html | colorize";
};
};
};
};
}

View file

@ -8,8 +8,9 @@
terminal = config.programs.terminal;
termcmd = "${terminal}/bin/${terminal.pname}";
menucmd = config.programs.menu.drunCommand;
inherit (lib) mkPackageOption mkOption;
in {
options.programs = with lib; {
options.programs = {
menu = {
package = mkPackageOption pkgs "wofi" {
example = "pkgs.dmenu-wayland";

View file

@ -1,10 +1,8 @@
{
pkgs,
lib,
...
}: {
imports = [
./qutebrowser.nix
./pcmanfm.nix
./mpv.nix
./vscode.nix
@ -24,7 +22,6 @@
gimp
libreoffice
dbeaver-bin
bruno
drawio
# entertainment
@ -35,7 +32,6 @@
nheko
cinny-desktop
brave
vieb
bitwarden
];

View file

@ -1,9 +1,9 @@
{pkgs, ...}: {
programs.nixvim =
{
enable = true;
}
// import ../../../lib/nixvim.nix;
# programs.nixvim =
# {
# enable = true;
# }
# // import ../../../lib/nixvim.nix;
programs.vscode = {
extensions = [pkgs.vscode-extensions.asvetliakov.vscode-neovim];

View file

@ -14,20 +14,38 @@
services.nextcloud-client.enable = true;
programs.nixvim.plugins = {
lsp = {
servers.gdscript.enable = true;
};
godot.enable = true;
dap = {
enable = true;
adapters.servers.godot = {
host = "127.0.0.1";
port = 6006;
};
configurations.gdscript = [
{
type = "godot";
request = "launch";
name = "Launch scene";
project = "\${workspaceFolder}";
}
];
};
};
home.packages = with pkgs; [
godot_4
ardour
blender
# musescore
musescore
monero-gui
electrum
xmrig
transmission-remote-gtk
krita
organicmaps
anki
hugo
libsForQt5.neochat
bookworm
jellyfin-mpv-shim
];

43
home/programs/tmux.nix Normal file
View file

@ -0,0 +1,43 @@
{
programs.tmux = {
enable = true;
baseIndex = 1;
escapeTime = 0;
keyMode = "vi";
mouse = true;
terminal = "screen-256color";
historyLimit = 5000;
extraConfig = ''
bind -n M-s split-window -v
bind -n M-v split-window -h
bind -n M-Enter split-window -h
bind -n M-h select-pane -L
bind -n M-j select-pane -D
bind -n M-k select-pane -U
bind -n M-l select-pane -R
bind -n M-q kill-pane
bind -n M-< resize-pane -L 10
bind -n M-> resize-pane -R 10
bind -n M-- resize-pane -D 10
bind -n M-+ resize-pane -U 10
bind -n M-z resize-pane -Z
bind -n M-u copy-mode
bind -n M-p paste-buffer
bind -n M-n next-window
set-option -g renumber-windows on
'';
};
# programs.kitty = {
# enable = true;
# keybindings = {
# "alt+h" = "neighboring_window left";
# "alt+l" = "neighboring_window right";
# "alt+j" = "neighboring_window down";
# "alt+k" = "neighboring_window up";
# "alt+enter" = "new_window";
# };
# shellIntegration.enableZshIntegration = true;
# };
}

View file

@ -86,6 +86,11 @@
keymaps = {
lspBuf = {
"K" = "hover";
"<leader>a" = "code_action";
"gd" = "definition";
};
diagnostic = {
"<leader>e" = "open_float";
"<leader>ca" = "code_action";
"<C-.>" = "code_action";
"<leader>cr" = "rename";
@ -116,11 +121,11 @@
lazygit.enable = true;
which-key.enable = true;
toggleterm = {
enable = true;
settings = {open_mapping = "[[<c-`>]]";};
};
dap = {
enable = true;
extensions.dap-ui.enable = true;
};
harpoon = {
enable = true;
keymaps = {

View file

@ -98,44 +98,6 @@ in {
sops
];
programs.tmux.enable = true;
programs.tmux.extraConfig = ''
set-option -sa terminal-overrides ",xterm*:Tc"
set escape-time 0
bind -n M-s split-window -v
bind -n M-v split-window -h
bind -n M-Enter split-window -h
bind -n M-h select-pane -L
bind -n M-j select-pane -D
bind -n M-k select-pane -U
bind -n M-l select-pane -R
bind -n M-q kill-pane
bind -n M-< resize-pane -L 10
bind -n M-> resize-pane -R 10
bind -n M-- resize-pane -D 10
bind -n M-+ resize-pane -U 10
bind -n M-z resize-pane -Z
bind -n M-u copy-mode
bind -n M-p paste-buffer
bind -n M-n next-window
set-window-option -g mode-keys vi
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-selection
set -g mouse on
set -g base-index 1
set -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows on
bind -n "M-`" break-pane -d
bind -n "M-`" break-pane -d
'';
boot.kernel.sysctl = {
"net.ipv4.ip_unprivileged_port_start" = 53;
};

View file

@ -0,0 +1,13 @@
{config, ...}: {
programs.hyprland.enable = true;
security.pam.services.hyprlock = {};
imports = [
./pipewire.nix
../workstation.nix
];
home-manager.users.${config.user}.imports = [
../../home/desktop/hyprland/.
];
}

View file

@ -0,0 +1,15 @@
{
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
# pipewire raop
networking.firewall.allowedUDPPorts = [6002 6001];
# network streaming
networking.firewall.allowedTCPPorts = [4713];
}

View file

@ -2,34 +2,13 @@
inputs,
pkgs,
lib,
config,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
];
nixpkgs.config.permittedInsecurePackages = [
"electron-27.3.11"
];
programs.hyprland.enable = true;
# use pipewire
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
# pipewire raop
networking.firewall.allowedUDPPorts = [6002 6001];
# network streaming
networking.firewall.allowedTCPPorts = [4713];
security.pam.services.swaylock = {};
security.pam.services.hyprlock = {};
security.polkit.enable = true;
systemd.user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1";
@ -92,4 +71,8 @@
nerdfonts
interalia
];
home-manager.users.${config.user}.imports = [
../home/workstation.nix
];
}

View file

@ -4,20 +4,20 @@
fetchgit,
gitUpdater,
}:
buildLua rec {
buildLua {
pname = "mpv-skipsilence";
version = "1.0";
src = fetchgit {
url = "https://codeberg.org/ferreum/mpv-skipsilence.git";
hash = "sha256-aAzLegotOUILhpz7GcMJvCY4R3jSZCDIKOwVfM21kdY=";
hash = "sha256-fg8vfeb68nr0bTBIvr0FnRnoB48/kV957pn22tWcz1g=";
};
passthru.updateScript = gitUpdater {};
meta = with lib; {
description = "Increase playback speed during silence - a revolution in attention-deficit induction technology.";
homepage = "https://github.com/ferreum/mpv-skipsilence";
license = licenses.unlicense; # actually they don't have a license
license = licenses.gpl2;
maintainers = [];
};
}