Generic commit

modules/sound: added jack and other stuff
satori: kernel and pkg changes
home/xmonad: some keybind changes
emacs: some more configuration updates, this took me quite some time to configure but i dont see myself using it at all since neovim is still much much more efficient for me
This commit is contained in:
2022-01-09 00:12:04 +05:30
parent 8b4212aa27
commit 7ef5e47827
16 changed files with 484 additions and 143 deletions

90
flake.lock generated
View File

@@ -5,11 +5,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1638837456, "lastModified": 1640802000,
"narHash": "sha256-WHLOxthAGx/wXw3QUa/lFE3mr6cQtnXfFYZ0DNyYwt4=", "narHash": "sha256-ZiI94Zv/IgW64fqKrtVaQqfUCkn9STvAjgfFmvtqcQ8=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "57806bf7e340f4cae705c91748d4fdf8519293a9", "rev": "c5558c88b2941bf94886dfdede6926b1ba5f5629",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -36,11 +36,11 @@
}, },
"emacs": { "emacs": {
"locked": { "locked": {
"lastModified": 1640256373, "lastModified": 1641149178,
"narHash": "sha256-ipzq2W+905/qFEkPcgJoSg7jUDbp9J8F7IEAL7xqE0A=", "narHash": "sha256-Mt+oT5YZ6G9zHctDKV5pY+3vIdsMmAg0HMvz6rxsIc0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "abce25bc28ffff32f6beb7b3072753116a2b7fcf", "rev": "f3c435a5e5cfa3ce1b2f50ba37b9cacfec4139d9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -115,11 +115,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1640126586, "lastModified": 1641121012,
"narHash": "sha256-Brja0wQZFSl+hduOcBfE/oVPs0QattbILSMHC7/9fEg=", "narHash": "sha256-svaOMxNMQgFHjcxdmLojOxTxfqSENtnO+S3kb+npIwY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "1b03a8ab7af9385b70b7d7c319c4a31a58c5cfa5", "rev": "8e7a10602d1eb1d242c9d3f9b822203d5751a8c6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -171,11 +171,11 @@
}, },
"master": { "master": {
"locked": { "locked": {
"lastModified": 1640272179, "lastModified": 1641155364,
"narHash": "sha256-xY4NlVQi6ZrolXDy/sB0H9wQnurj571YJRa2256Mhi0=", "narHash": "sha256-7OXbMNAVeO5Yn916tADri1UIzl5bU27PjIDSLZB4G9A=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2d3d4867c4f96b701ff9a3edc1bd961b0414464f", "rev": "03985162cf0d012b5ebdad5271c26e0cfacd1aa2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -212,11 +212,11 @@
}, },
"locked": { "locked": {
"dir": "contrib", "dir": "contrib",
"lastModified": 1640212476, "lastModified": 1641106516,
"narHash": "sha256-479GRRtuk0JL0aQLvfAx+R1DvuNke1W3Fe8hTcuPUno=", "narHash": "sha256-zx9GDn7rXvqvrQaRiop7Xx8qqSt3FPppVcShmneSqHs=",
"owner": "neovim", "owner": "neovim",
"repo": "neovim", "repo": "neovim",
"rev": "7b8fbbdebe90a2dbf0d57464c93c7d5bfc3da449", "rev": "e42c9065972f93e4666fbd8e06fc56333e9e5d24",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -232,11 +232,11 @@
"utils": "utils_3" "utils": "utils_3"
}, },
"locked": { "locked": {
"lastModified": 1638710960, "lastModified": 1640904492,
"narHash": "sha256-C6M/Nt2XMn26RiyMHb37YbKd+RiaiOIyvB1drDv5Ni8=", "narHash": "sha256-KrFdQl9sRxfkA18OnfY10+wvcRsExEjl0HHUQH2Di8E=",
"owner": "fufexan", "owner": "fufexan",
"repo": "nix-gaming", "repo": "nix-gaming",
"rev": "e6c087d81eed40b5f147fc48cc969c590ede3124", "rev": "57f79e1181805df1ec1c6336dca40aee9671cee0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -306,11 +306,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1640234302, "lastModified": 1641104204,
"narHash": "sha256-dALA+cOam5jQ2KOYdWiv6H6Y2stcYG6eclWQQVGx/FI=", "narHash": "sha256-mCjEJNKaeS/BhQQFNSxHfA0/XtujbTAAJpustt1hIxI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "81cbfc8f2a1e218249b7bff74013b63150171496", "rev": "28d58b979250ef33f049fe1c74daa50b7515126b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -320,11 +320,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1640234302, "lastModified": 1641104204,
"narHash": "sha256-dALA+cOam5jQ2KOYdWiv6H6Y2stcYG6eclWQQVGx/FI=", "narHash": "sha256-mCjEJNKaeS/BhQQFNSxHfA0/XtujbTAAJpustt1hIxI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "81cbfc8f2a1e218249b7bff74013b63150171496", "rev": "28d58b979250ef33f049fe1c74daa50b7515126b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -380,11 +380,11 @@
}, },
"nixpkgs_7": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1640234302, "lastModified": 1641104204,
"narHash": "sha256-dALA+cOam5jQ2KOYdWiv6H6Y2stcYG6eclWQQVGx/FI=", "narHash": "sha256-mCjEJNKaeS/BhQQFNSxHfA0/XtujbTAAJpustt1hIxI=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "81cbfc8f2a1e218249b7bff74013b63150171496", "rev": "28d58b979250ef33f049fe1c74daa50b7515126b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -396,11 +396,11 @@
}, },
"nixpkgs_8": { "nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1640139330, "lastModified": 1640959792,
"narHash": "sha256-Nkp3wUOGwtoQ7EH28RLVJ7EqB/e0TU7VcsM7GLy+SdY=", "narHash": "sha256-zYSR//06FU2TDOpKKj0Hkff6unsxk3NwwNFuB1loU6E=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "81cef6b70fb5d5cdba5a0fef3f714c2dadaf0d6d", "rev": "59bfda72480496f32787cec8c557182738b1bd3f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -412,11 +412,11 @@
}, },
"nixpkgs_9": { "nixpkgs_9": {
"locked": { "locked": {
"lastModified": 1640139330, "lastModified": 1640871638,
"narHash": "sha256-Nkp3wUOGwtoQ7EH28RLVJ7EqB/e0TU7VcsM7GLy+SdY=", "narHash": "sha256-ty6sGnJUQEkCd43At5U3DRQZD7rPARz5VginSW6hZ3k=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "81cef6b70fb5d5cdba5a0fef3f714c2dadaf0d6d", "rev": "5b091d4fbe3b7b7493c3b46fe0842e4b30ea24b3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -428,11 +428,11 @@
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1640266271, "lastModified": 1641155785,
"narHash": "sha256-LhzidQfDb+w4Y/YFbJ+TtnNGftxTyhERZ51c8fgno8c=", "narHash": "sha256-QDnIQ7sfawBaQckDTIQqsSevftrJpxluQUhzX0goWg4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "f80f18f9a59e34e0932143ddd56a994e7ce08d0d", "rev": "9dc87bdd533db31f14bd5fdc4f7fb6aab6a40056",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -448,11 +448,11 @@
"nixpkgs": "nixpkgs_9" "nixpkgs": "nixpkgs_9"
}, },
"locked": { "locked": {
"lastModified": 1640247287, "lastModified": 1641111239,
"narHash": "sha256-LjWjopWwbwdLN6Fmct59aJK0LYsUwbIgcQ5sY+n4N0g=", "narHash": "sha256-w1jUAuVmImMQGhaUY8dNVAxE4SNULI32RqyRX6DXzBo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "neovim-nightly-overlay", "repo": "neovim-nightly-overlay",
"rev": "f8886b6b3cedf8a38dd6daa6dfe64df9c710bd65", "rev": "5906176ea9464d9a33c229b124fd713584bcfa57",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -485,11 +485,11 @@
"nixpkgs": "nixpkgs_10" "nixpkgs": "nixpkgs_10"
}, },
"locked": { "locked": {
"lastModified": 1640227139, "lastModified": 1641091280,
"narHash": "sha256-FN22WSu7hObDtBvhqNuCAW4qCN+FE9Gv97O8oO1E3L0=", "narHash": "sha256-atemDjUQXazv/VQvEb7VC6JQ6oe2n7D2r/09qRsbthc=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "5c8f3e3facc8b2d183bd18bbf9eb760ed37b5a49", "rev": "13b6bd69cd0ecf985fba18105a23464c5e76b24a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -500,11 +500,11 @@
}, },
"stable": { "stable": {
"locked": { "locked": {
"lastModified": 1640077788, "lastModified": 1641046839,
"narHash": "sha256-YMSDk3hlucJTTARaHNOeQEF6zEW3A/x4sXgrz94VbS0=", "narHash": "sha256-9XJgfDKU1hhC0E16FxDJe//Utrm79AQxesPhTltwjQ4=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9ab7d12287ced0e1b4c03b61c781901f178d9d77", "rev": "d1e59cfc49961e121583abe32e2f3db1550fbcff",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -57,7 +57,7 @@
./modules/nvidia-offload.nix ./modules/nvidia-offload.nix
./modules/sound.nix ./modules/sound.nix
./modules/xorg.nix ./modules/xorg.nix
# ./modules/emacs ./modules/emacs
]; ];
commonModules = [ commonModules = [
./modules/nvim ./modules/nvim

View File

@@ -59,10 +59,10 @@ myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $
, ((modMask, xK_p), , ((modMask, xK_p),
spawn "mpc toggle") spawn "mpc toggle")
, ((modMask, xK_n), , ((modMask, xK_h),
spawn "mpc next") spawn "mpc next")
, ((modMask, xK_e), , ((modMask, xK_k),
spawn "mpc prev") spawn "mpc prev")
, ((modMask .|. shiftMask, xK_a), , ((modMask .|. shiftMask, xK_a),
@@ -110,10 +110,10 @@ myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $
, ((modMask, xK_r), , ((modMask, xK_r),
refresh) refresh)
, ((modMask, xK_j), , ((modMask, xK_n),
windows W.focusDown) windows W.focusDown)
, ((modMask, xK_k), windows W.focusUp ) , ((modMask, xK_e), windows W.focusUp )
, ((modMask .|. shiftMask, xK_h), , ((modMask .|. shiftMask, xK_h),
windows W.focusMaster ) windows W.focusMaster )
@@ -121,34 +121,34 @@ myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $
, ((modMask .|. shiftMask, xK_Return), , ((modMask .|. shiftMask, xK_Return),
windows W.swapMaster) windows W.swapMaster)
, ((modMask .|. shiftMask, xK_j), , ((modMask .|. shiftMask, xK_n),
windows W.swapDown ) windows W.swapDown )
, ((modMask .|. shiftMask, xK_k), , ((modMask .|. shiftMask, xK_e),
windows W.swapUp ) windows W.swapUp )
, ((mod1Mask, xK_h), , ((mod1Mask, xK_m),
sendMessage Expand) sendMessage Expand)
, ((mod1Mask, xK_l), , ((mod1Mask, xK_i),
sendMessage Shrink) sendMessage Shrink)
, ((mod1Mask, xK_j), , ((mod1Mask, xK_n),
sendMessage MirrorExpand) sendMessage MirrorExpand)
, ((mod1Mask, xK_k), , ((mod1Mask, xK_e),
sendMessage MirrorShrink) sendMessage MirrorShrink)
, ((mod1Mask .|. shiftMask, xK_h), , ((modMask .|. mod1Mask .|. shiftMask, xK_m),
withFocused (keysMoveWindow (-30, 0))) withFocused (keysMoveWindow (-30, 0)))
, ((mod1Mask .|. shiftMask, xK_l), , ((modMask .|. mod1Mask .|. shiftMask, xK_i),
withFocused (keysMoveWindow (30, 0))) withFocused (keysMoveWindow (30, 0)))
, ((mod1Mask .|. shiftMask, xK_j), , ((modMask .|. mod1Mask .|. shiftMask, xK_n),
withFocused (keysMoveWindow (0, 30))) withFocused (keysMoveWindow (0, 30)))
, ((mod1Mask .|. shiftMask, xK_k), , ((modMask .|. mod1Mask .|. shiftMask, xK_e),
withFocused (keysMoveWindow (0, -30))) withFocused (keysMoveWindow (0, -30)))
, ((modMask, xK_t), , ((modMask, xK_t),

View File

@@ -48,7 +48,6 @@ in
xfce.xfconf xfce.xfconf
xfce.tumbler xfce.tumbler
master.discord master.discord
customscripts
mpd_discord_richpresence mpd_discord_richpresence
sox sox
qbittorrent qbittorrent
@@ -94,11 +93,18 @@ in
pulseaudio pulseaudio
(texlive.combine { inherit (texlive) scheme-small babel lm graphics-def url; }) (texlive.combine { inherit (texlive) scheme-small babel lm graphics-def url; })
(qjackctl.override { jackSession = true; }) (qjackctl.override { jackSession = true; })
ardour
carla carla
electrum electrum
anki-bin anki-bin
spotify spotify
deluge
teams
libreoffice
google-drive-ocamlfuse
customscripts
stable.ardour
stable.calf
stable.blender
]; ];
file = { file = {

View File

@@ -2,7 +2,7 @@
{ {
boot = { boot = {
kernelPackages = pkgs.unstable.linuxPackages_latest; kernelPackages = pkgs.unstable.linuxPackages_zen;
initrd={ initrd={
availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "vfio-pci"]; availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "vfio-pci"];
/* preDeviceCommands = '' /* preDeviceCommands = ''
@@ -15,7 +15,7 @@
kernelModules = []; kernelModules = [];
}; };
kernelParams = [ "intel_pstate=active" "intel_iommu=on" ]; kernelParams = [ "intel_pstate=active" "intel_iommu=on" ];
kernelModules = [ "kvm-intel" "snd-seq" "snd-rawmidi" ]; kernelModules = [ "kvm-intel" "snd-seq" "snd-rawmidi" "joydev" ];
extraModulePackages = with config.boot.kernelPackages; [ nvidia_x11 v4l2loopback]; extraModulePackages = with config.boot.kernelPackages; [ nvidia_x11 v4l2loopback];
loader = { loader = {
efi = { efi = {

View File

@@ -29,6 +29,7 @@
fsType = "btrfs"; fsType = "btrfs";
options = [ "compress-force=zstd:3" ]; options = [ "compress-force=zstd:3" ];
}; };
swapDevices = [ ]; swapDevices = [ ];
zramSwap = { zramSwap = {
enable = true; enable = true;

View File

@@ -1,4 +1,4 @@
{config, pkgs, ... }: { config, pkgs, ... }:
{ {
networking = { networking = {
@@ -13,10 +13,10 @@
enp7s0.useDHCP = true; enp7s0.useDHCP = true;
wlp0s20f3 = { wlp0s20f3 = {
useDHCP = true; useDHCP = true;
ipv4.addresses = [ { ipv4.addresses = [{
prefixLength = 24; prefixLength = 24;
address = "192.168.0.109"; address = "192.168.0.109";
} ]; }];
}; };
}; };
wireguard.interfaces.wg0 = { wireguard.interfaces.wg0 = {
@@ -25,11 +25,11 @@
privateKeyFile = "/var/wg"; privateKeyFile = "/var/wg";
peers = [ peers = [
{ {
#Oracle VM1 #Oracle VM1
publicKey = "z0Y2VNEWcyVQVSqRHiwmiJ5/0MgSPM+HZfEcwIccSxM="; publicKey = "z0Y2VNEWcyVQVSqRHiwmiJ5/0MgSPM+HZfEcwIccSxM=";
allowedIPs = [ "10.55.0.0/24" ]; allowedIPs = [ "10.55.0.0/24" ];
endpoint = "weirdnatto.in:17840"; endpoint = "weirdnatto.in:17840";
persistentKeepalive = 25; persistentKeepalive = 25;
} }
]; ];
}; };

View File

@@ -2,6 +2,7 @@
{ {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
w3m
tmux tmux
bc bc
gnumake gnumake
@@ -11,6 +12,7 @@
python3 python3
htop htop
nodejs nodejs
ghc
wget wget
ripgrep ripgrep
kbd kbd
@@ -29,10 +31,16 @@
rnix-lsp rnix-lsp
python3Packages.python-lsp-server python3Packages.python-lsp-server
haskell-language-server haskell-language-server
fly
(steam.override {
extraLibraries = pkgs: [ pkgs.pipewire ];
extraProfile = ''
unset VK_ICD_FILENAMES
export VK_ICD_FILENAMES=${config.hardware.nvidia.package}/share/vulkan/icd.d/nvidia_icd.json:${config.hardware.nvidia.package.lib32}/share/vulkan/icd.d/nvidia_icd32.json'';
})
]; ];
programs = { programs = {
steam.enable = true;
gnupg = { gnupg = {
agent = { agent = {
enableSSHSupport = true; enableSSHSupport = true;
@@ -104,7 +112,7 @@
nix = { nix = {
package = pkgs.nixUnstable; package = pkgs.nixUnstable;
extraOptions = '' extraOptions = ''
experimental-features = nix-command ca-references flakes experimental-features = nix-command flakes
''; '';
trustedUsers = [ "root" "natto" ]; trustedUsers = [ "root" "natto" ];
binaryCaches = [ binaryCaches = [

View File

@@ -1,7 +1,44 @@
{lib, config, pkgs, ... }: { lib, config, pkgs, ... }:
{ {
services = { services = {
/* openvpn.servers = {
satori = {
config = ''
remote weirdnatto.in
dev tun
ifconfig 10.55.0.3 10.55.0.1
secret /var/secrets/openvpn.key
'';
};
};*/
vault-agent = {
enable = true;
settings = {
vault = {
address = "https://10.55.0.2:8800";
client_cert = "/var/vault/cert.pem";
client_key = "/var/vault/key.pem";
};
auto_auth = {
method = [
{
"cert" = {
name = "Satori";
};
}
];
};
template = [
{
source = pkgs.writeText "openvpn.tpl" ''
{{ with secret "kv/openvpn" }}{{ .Data.data.secret }}{{ end }}
'';
destination = "/var/secrets/openvpn.key";
}
];
};
};
tor.enable = true; tor.enable = true;
logmein-hamachi.enable = true; logmein-hamachi.enable = true;
openssh = { openssh = {
@@ -18,18 +55,18 @@
}; };
}; };
systemd.services = { systemd.services = {
tor.wantedBy = lib.mkForce []; tor.wantedBy = lib.mkForce [ ];
mysql.wantedBy = lib.mkForce []; mysql.wantedBy = lib.mkForce [ ];
logmein-hamachi.wantedBy = lib.mkForce []; logmein-hamachi.wantedBy = lib.mkForce [ ];
openssh.wantedBy = lib.mkForce []; openssh.wantedBy = lib.mkForce [ ];
#printing.wantedBy = lib.mkForce []; #printing.wantedBy = lib.mkForce [];
#vault.wantedBy = lib.mkForce []; #vault.wantedBy = lib.mkForce [];
}; };
security.pki.certificateFiles = [ ../../cert.pem ]; security.pki.certificateFiles = [ ../../cert.pem ];
/* virtualisation.libvirtd = { /* virtualisation.libvirtd = {
enable = true; enable = true;
onBoot = "ignore"; onBoot = "ignore";
onShutdown = "shutdown"; onShutdown = "shutdown";
qemuRunAsRoot = false; qemuRunAsRoot = false;
};*/ };*/
} }

221
modules/emacs/#init.el# Normal file
View File

@@ -0,0 +1,221 @@
;; -*- lexical-binding:t -*-
;;colors
(setq
c-bg "#1d2021"
c-fg "#d5c4a1"
c-red "#cc241d"
c-green "#98971a"
c-yellow "#d79921"
c-blue "#458588"
c-magenta "#b16286"
c-cyan "#689d6a"
c-white "#a89984"
c-black "#928374"
c-red-2 "#fb4934"
c-green-2 "#b8bb26"
c-yellow-2 "#fabd2f"
c-blue-2 "#83a598"
c-magenta-2 "#d3869b"
c-cyan-2 "#8ec07c"
c-white-2 "#ebdbb2")
;;settings
(setq display-line-numbers-type 'relative)
(setq inhibit-startup-screen t)
(set-face-attribute 'default nil :font "Monoid" :height 120)
(global-hl-line-mode 1)
(scroll-bar-mode 0)
(tool-bar-mode 0)
(menu-bar-mode 0)
(tab-bar-mode t)
(fringe-mode 0)
(global-display-line-numbers-mode 1)
(setq initial-major-mode 'emacs-lisp-mode)
(setq frame-resize-pixelwise t)
(setq auto-window-vscroll nil)
(setq scroll-step 1)
;;add packages and shit
(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/"))
(package-initialize)
(require 'use-package)
;;package config and modes
(use-package gruvbox-theme
:init (load-theme 'gruvbox-dark-hard t))
(use-package ivy
:config
(define-key ivy-minibuffer-map (kbd "C-n") 'ivy-next-line)
(define-key ivy-minibuffer-map (kbd "C-e") 'ivy-previous-line)
(define-key ivy-minibuffer-map (kbd "C-i") 'ivy-done)
(ivy-mode 1))
(use-package elcord
:config
(elcord-mode 1))
(use-package undo-tree
:config
(global-undo-tree-mode 1))
(use-package evil
:config
(evil-set-undo-system 'undo-tree)
(evil-mode 1))
(use-package evil-colemak-basics
:init
(setq evil-colemak-basics-layout-mod 'mod-dh)
:config
(global-evil-colemak-basics-mode 1))
(use-package treemacs
:config
(treemacs-filewatch-mode 1)
; (treemacs-display-current-project-exclusively)
(treemacs-git-mode 'deferred))
(use-package treemacs-evil
:config
(define-key evil-treemacs-state-map (kbd "n") #'treemacs-next-line)
(define-key evil-treemacs-state-map (kbd "e") #'treemacs-previous-line)
(define-key evil-treemacs-state-map (kbd "M-n") #'treemacs-next-neighbour)
(define-key evil-treemacs-state-map (kbd "M-e") #'treemacs-previous-neighbour)
(define-key evil-treemacs-state-map (kbd "M-N") #'treemacs-next-line-other-window)
(define-key evil-treemacs-state-map (kbd "M-E") #'treemacs-previous-line-other-window)
(define-key evil-treemacs-state-map (kbd "M") #'treemacs-collapse-parent-node)
(evil-define-key 'treemacs treemacs-mode-map (kbd "m") #'treemacs-COLLAPSE-action)
(evil-define-key 'treemacs treemacs-mode-map (kbd "i") #'treemacs-RET-action)
)
(use-package lsp-mode
:init
(setq )
:config
(lsp-mode 1))
(use-package lsp-treemacs
:config
(lsp-treemacs-sync-mode 1))
(use-package lsp-ui
:init
(setq lsp-ui-doc-show-with-cursor t)
:config
(lsp-ui-peek-enable 1)
(lsp-ui-doc-enable 1))
(use-package company
:after lsp-mode
:config
(define-key company-active-map (kbd "C-n") 'company-select-next)
(define-key company-active-map (kbd "C-e") 'company-select-previous)
(define-key company-search-map (kbd "C-n") 'company-select-next)
(define-key company-search-map (kbd "C-e") 'company-select-previous))
(use-package tree-sitter-langs)
(use-package tree-sitter
:config
(global-tree-sitter-mode)
:init
(add-to-list 'tree-sitter-major-mode-language-alist '(fundamental-mode . bash))
(add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode))
(use-package rainbow-delimiters
:hook (prog-mode . rainbow-delimiters-mode))
(use-package flex-autopair
:config
(flex-autopair-mode 1))
(use-package rainbow-mode
:config
(rainbow-mode 1))
(use-package rustic)
(use-package magit)
(use-package nix-mode
:mode "\\.nix\\'")
(defface bufname
`((t :foreground ,c-fg
:background ,c-bg
:weight bold
))
"Custom face for buffer name"
:group 'mode-line-faces )
(defface majmode
`((t :foreground ,c-fg
:background ,c-bg
))
"Custom face for major mode"
:group 'mode-line-faces )
(defface gitmode
`((t :foreground ,c-fg
:background ,c-red-2
:weight bold
))
"Custom face for VC"
:group 'mode-line-faces )
(defface infomode
`((t :foreground ,c-bg
:background ,c-green
:weight bold
))
"For showing line and column number"
:group 'mode-line-faces )
(setq-default mode-line-format
'((:propertize " %b " face bufname)
(vc-mode (:propertize (" " vc-mode " " ) face gitmode))
(:propertize (" " mode-name " ") face majmode)
(:propertize ("[[ %l | %c || %p . %+%@ ]]") face infomode)
("%-")))
(setq exclude-ln '(term-mode-hook eshell-mode-hook shell-mode-hook))
(while exclude-ln
(add-hook (car exclude-ln) (lambda () (display-line-numbers-mode 0)))
(setq exclude-ln (cdr exclude-ln)))
(let ((default-color (cons (face-background 'mode-line)
(face-foreground 'mode-line))))
(add-hook 'post-command-hook
(lambda ()
(let ((color (cond ((minibufferp) default-color)
((evil-insert-state-p) (cons c-magenta c-fg))
((evil-visual-state-p) (cons c-cyan c-fg))
((evil-normal-state-p) (cons c-fg c-bg))
((buffer-modified-p) (cons c-blue c-fg))
(t default-color))))
(set-face-background 'bufname (car color))
(set-face-foreground 'bufname (cdr color))
))))
;;keybinds
(add-hook 'emacs-startup-hook (lambda ()
(when (get-buffer "*scratch*")
(kill-buffer "*scratch*"))))
(global-set-key (kbd "M-o") 'treemacs)
(global-set-key (kbd "M-v") 'split-window-vertically)
(global-set-key (kbd "M-h") 'split-window-horizontally)
(global-set-key (kbd "M-C-m") 'shrink-window-horizontally)
(global-set-key (kbd "M-C-i") 'enlarge-window-horizontally)
(global-set-key (kbd "M-C-e") 'shrink-window)
(global-set-key (kbd "M-C-n") 'enlarge-window)
(global-set-key (kbd "C-S-m") 'windmove-left)
(global-set-key (kbd "C-S-i") 'windmove-right)
(global-set-key (kbd "C-S-e") 'windmove-up)
(global-set-key (kbd "C-S-n") 'windmove-down)
(global-set-key (kbd "M-S-,") 'previous-buffer)
(global-set-key (kbd "M-S-.") 'next-buffer)
(global-set-key (kbd "M-C-S-q") '(kill-buffer))

View File

@@ -1,56 +1,66 @@
{pkgs, ... }: { pkgs, ... }:
{ {
services.emacs = { services.emacs = {
enable = true; enable = true;
package = with pkgs; emacsWithPackagesFromUsePackage { package = with pkgs; emacsWithPackagesFromUsePackage {
config = ./init.el; config = ./init.el;
package = emacsGcc; package = emacsGcc;
alwaysEnsure = true; alwaysEnsure = true;
extraEmacsPackages = epkgs: with epkgs; [ extraEmacsPackages = epkgs: with epkgs; [
use-package use-package
tsc tsc
]; ];
#https://github.com/NixOS/nixpkgs/issues/108089 #https://github.com/NixOS/nixpkgs/issues/108089
override = epkgs : epkgs // { override = epkgs: epkgs // {
tsc = epkgs.melpaPackages.tsc.overrideAttrs(oa: tsc = epkgs.melpaPackages.tsc.overrideAttrs (oa:
let let
version = "0.15.2"; version = "0.16.1";
tsc-dyn = fetchurl { tsc-dyn = fetchurl {
url = "https://github.com/emacs-tree-sitter/elisp-tree-sitter/releases/download/${version}/tsc-dyn.so"; url = "https://github.com/emacs-tree-sitter/elisp-tree-sitter/releases/download/${version}/tsc-dyn.so";
sha256 = "sha256-oOq/TAooHRUo7JypCblrB/ztABowAHv2LRhFL/ZmVrg="; sha256 = "sha256-l2mVxnnO43rzLWbOAnX5UZ0a7uk0EPE2x0Jl9rd2D1A=";
}; };
in { in
postInstall = '' {
cp ${tsc-dyn} $out/share/emacs/site-lisp/elpa/tsc-${oa.version}/tsc-dyn.so postInstall = ''
echo -n ${version} > $out/share/emacs/site-lisp/elpa/tsc-${oa.version}/DYN-VERSION cp ${tsc-dyn} $out/share/emacs/site-lisp/elpa/tsc-${oa.version}/tsc-dyn.so
''; echo -n ${version} > $out/share/emacs/site-lisp/elpa/tsc-${oa.version}/DYN-VERSION
}); '';
tree-sitter-langs = epkgs.melpaPackages.tree-sitter-langs.overrideAttrs (oa: });
let tree-sitter-langs = epkgs.melpaPackages.tree-sitter-langs.overrideAttrs (oa:
tree-sitter-grammars = super.stdenv.mkDerivation rec { let
name = "tree-sitter-grammars"; version = "0.10.14";
version = "0.10.7"; tree-sitter-grammars = super.stdenv.mkDerivation rec {
src = fetchzip { inherit version;
url = "https://github.com/emacs-tree-sitter/tree-sitter-langs/releases/download/${version}/tree-sitter-grammars-linux-${version}.tar.gz"; name = "tree-sitter-grammars";
sha256 = "sha256-pdSMyTUUAj4JsRLbJMUMbQSOaSEYlsaqVdmaXtXtSJw="; src = fetchzip {
stripRoot = false; url = "https://github.com/emacs-tree-sitter/tree-sitter-langs/releases/download/${version}/tree-sitter-grammars-linux-${version}.tar.gz";
}; sha256 = "sha256-J8VplZWhyWN8ur74Ep0CTl4nPtESzfs2Gh6MxfY5Zqc=";
installPhase = '' stripRoot = false;
install -d $out/langs/bin };
install -m444 * $out/langs/bin installPhase = ''
''; install -d $out/langs/bin
postInstall = '' echo -n "${version}" > $out/langs/bin/BUNDLE-VERSION
echo -n "${version}" > $out/langs/bin/BUNDLE-VERSION install -m444 * $out/langs/bin
''; '';
}; };
in { in
postPatch = oa.postPatch or "" + '' {
substituteInPlace ./tree-sitter-langs-build.el \ src = fetchFromGitHub {
--replace "tree-sitter-langs-grammar-dir tree-sitter-langs--dir" "tree-sitter-langs-grammar-dir \"${tree-sitter-grammars}/langs\"" owner = "emacs-tree-sitter";
''; repo = "tree-sitter-langs";
}); rev = version;
gruvbox-theme = epkgs.melpaPackages.gruvbox-theme.overrideAttrs(_: { patches = [ ./gruvbox-el.patch ]; } ); sha256 = "sha256-uKfkhcm1k2Ov4fSr7ALVnpQoX/l9ssEWMn761pa7Y/c=";
};
postPatch = ''
substituteInPlace ./tree-sitter-langs-build.el \
--replace "tree-sitter-langs-grammar-dir tree-sitter-langs--dir" "tree-sitter-langs-grammar-dir \"${tree-sitter-grammars}/langs\""
'';
});
gruvbox-theme = epkgs.melpaPackages.gruvbox-theme.overrideAttrs (_: { patches = [ ./gruvbox-el.patch ]; });
};
}; };
};}; };
} }

View File

@@ -1,5 +1,4 @@
;; -*- lexical-binding:t -*- ;; -*- lexical-binding:t -*-
;;colors ;;colors
(setq (setq
c-bg "#1d2021" c-bg "#1d2021"
@@ -24,7 +23,8 @@ c-white-2 "#ebdbb2")
(setq inhibit-startup-screen t) (setq inhibit-startup-screen t)
(set-face-attribute 'default nil :font "Monoid" :height 120) (set-face-attribute 'default nil :font "Monoid" :height 120)
(global-hl-line-mode 1) (global-hl-line-mode 1)
(scroll-bar-mode 0) (tool-bar-mode 0) (scroll-bar-mode 0)
(tool-bar-mode 0)
(menu-bar-mode 0) (menu-bar-mode 0)
(fringe-mode 0) (fringe-mode 0)
(global-display-line-numbers-mode 1) (global-display-line-numbers-mode 1)
@@ -73,10 +73,10 @@ c-white-2 "#ebdbb2")
(use-package treemacs (use-package treemacs
:config :config
(treemacs-filewatch-mode 1) (treemacs-filewatch-mode 1)
; (treemacs-display-current-project-exclusively)
(treemacs-git-mode 'deferred)) (treemacs-git-mode 'deferred))
(use-package treemacs-evil (use-package treemacs-evil :config
:config
(define-key evil-treemacs-state-map (kbd "n") #'treemacs-next-line) (define-key evil-treemacs-state-map (kbd "n") #'treemacs-next-line)
(define-key evil-treemacs-state-map (kbd "e") #'treemacs-previous-line) (define-key evil-treemacs-state-map (kbd "e") #'treemacs-previous-line)
(define-key evil-treemacs-state-map (kbd "M-n") #'treemacs-next-neighbour) (define-key evil-treemacs-state-map (kbd "M-n") #'treemacs-next-neighbour)
@@ -89,18 +89,30 @@ c-white-2 "#ebdbb2")
) )
(use-package lsp-mode (use-package lsp-mode
:init
(setq )
:config :config
(lsp-mode 1)) (lsp-mode 1))
(use-package lsp-treemacs (use-package lsp-treemacs
:config :config
(lsp-treemacs-sync-mode)) (lsp-treemacs-sync-mode 1))
(use-package lsp-ui (use-package lsp-ui
:init
(setq lsp-ui-doc-show-with-cursor t)
:config :config
(lsp-ui-peek-enable 1) (lsp-ui-peek-enable 1)
(lsp-ui-doc-enable 1)) (lsp-ui-doc-enable 1))
(use-package company
:after lsp-mode
:config
(define-key company-active-map (kbd "C-n") 'company-select-next)
(define-key company-active-map (kbd "C-e") 'company-select-previous)
(define-key company-search-map (kbd "C-n") 'company-select-next)
(define-key company-search-map (kbd "C-e") 'company-select-previous))
(use-package tree-sitter-langs) (use-package tree-sitter-langs)
(use-package tree-sitter (use-package tree-sitter
@@ -128,6 +140,23 @@ c-white-2 "#ebdbb2")
(use-package nix-mode (use-package nix-mode
:mode "\\.nix\\'") :mode "\\.nix\\'")
(use-package projectile)
(use-package vterm)
(use-package vterm-toggle
:config
(setq vterm-toggle-fullscreen-p nil)
(add-to-list 'display-buffer-alist
'((lambda(bufname _) (with-current-buffer bufname (equal major-mode 'vterm-mode)))
(display-buffer-reuse-window display-buffer-at-bottom)
(reusable-frames . visible)
(window-height . 0.4)))
(global-set-key [f1] 'vterm-toggle)
(global-set-key [C-f1] 'vterm-toggle-cd)
(define-key vterm-mode-map (kbd "C-N") 'vterm-toggle-forward)
(define-key vterm-mode-map (kbd "C-E") 'vterm-toggle-backward))
(defface bufname (defface bufname
`((t :foreground ,c-fg `((t :foreground ,c-fg
:background ,c-bg :background ,c-bg
@@ -135,7 +164,6 @@ c-white-2 "#ebdbb2")
)) ))
"Custom face for buffer name" "Custom face for buffer name"
:group 'mode-line-faces ) :group 'mode-line-faces )
(defface majmode (defface majmode
`((t :foreground ,c-fg `((t :foreground ,c-fg
:background ,c-bg :background ,c-bg
@@ -183,3 +211,19 @@ c-white-2 "#ebdbb2")
(set-face-background 'bufname (car color)) (set-face-background 'bufname (car color))
(set-face-foreground 'bufname (cdr color)) (set-face-foreground 'bufname (cdr color))
)))) ))))
;;keybinds
(global-set-key (kbd "M-o") 'treemacs)
(global-set-key (kbd "M-v") 'split-window-vertically)
(global-set-key (kbd "M-h") 'split-window-horizontally)
(global-set-key (kbd "M-C-m") 'shrink-window-horizontally)
(global-set-key (kbd "M-C-i") 'enlarge-window-horizontally)
(global-set-key (kbd "M-C-e") 'shrink-window)
(global-set-key (kbd "M-C-n") 'enlarge-window)
(global-set-key (kbd "C-S-m") 'windmove-left)
(global-set-key (kbd "C-S-i") 'windmove-right)
(global-set-key (kbd "C-S-e") 'windmove-up)
(global-set-key (kbd "C-S-n") 'windmove-down)
(global-set-key (kbd "M->") 'previous-buffer)
(global-set-key (kbd "M-<") 'next-buffer)
(global-set-key (kbd "M-C-S-q") 'kill-buffer)

View File

@@ -15,8 +15,7 @@ in
hardware = { hardware = {
opengl = { opengl = {
driSupport32Bit = true; driSupport32Bit = true;
#package = pkgs.mesa_drivers; # extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
enable = true; enable = true;
}; };
nvidia = { nvidia = {

View File

@@ -12,7 +12,7 @@
jack.enable = true; jack.enable = true;
socketActivation = true; socketActivation = true;
# https://nixos.wiki/wiki/PipeWire#Low-latency_setup # https://nixos.wiki/wiki/PipeWire#Low-latency_setup
config.pipewire = { config.pipewire = {
context.objects = [ context.objects = [
{ {
@@ -20,7 +20,7 @@
args = { args = {
factory.name = "support.node.driver"; factory.name = "support.node.driver";
node.name = "Dummy-Driver"; node.name = "Dummy-Driver";
priority.driver = 8000; priority.driver= 8000;
}; };
} }
]; ];

11
nohup.out Normal file
View File

@@ -0,0 +1,11 @@
Error while parsing hooks JSON. Error: "ENOENT: no such file or directory, open '/home/natto/.config/Microsoft/Microsoft Teams/hooks.json'"
(node:5989) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(node:5989) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 ecsSettingsUpdated listeners added to [EventEmitter]. Use emitter.setMaxListeners() to increase limit
(node:5989) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 appInitialized listeners added to [EventEmitter]. Use emitter.setMaxListeners() to increase limit
Error while parsing hooks JSON. Error: "ENOENT: no such file or directory, open '/home/natto/.config/Microsoft/Microsoft Teams/hooks.json'"
(node:6134) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
[5989:0101/032649.226286:FATAL:gpu_data_manager_impl_private.cc(442)] GPU process isn't usable. Goodbye.
Cannot upload crash dump: cannot exec /usr/bin/wget
Server response:
Cannot upload crash dump: cannot exec /usr/bin/wget
Server response:

View File

@@ -0,0 +1,4 @@
#!/usr/bin/env bash
su $USERNAME -l -c "google-drive-ocamlfuse -label $1 $*"
exit 0