Compare commits
No commits in common. "3f2b2f2a2063339faece0267f0cb5fc1e764868d" and "aff61966710b129fe043d3ae0ccad6ea4d14c60b" have entirely different histories.
3f2b2f2a20
...
aff6196671
|
@ -1,3 +0,0 @@
|
||||||
(defpoll time :interval "10s" "date '+%H:%M'")
|
|
||||||
(defpoll year :interval "10h" "date '+%Y'")
|
|
||||||
(defpoll date :interval "30m" "date '+%m-%d'")
|
|
|
@ -1,87 +0,0 @@
|
||||||
(defwidget notifications []
|
|
||||||
(eventbox :class "notifications"
|
|
||||||
""
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget audio []
|
|
||||||
(eventbox :class "audio"
|
|
||||||
:onclick "eww open --toggle audio"
|
|
||||||
""
|
|
||||||
))
|
|
||||||
|
|
||||||
(defwidget clipboard []
|
|
||||||
(eventbox :class "clipboard"
|
|
||||||
""
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget left []
|
|
||||||
(box :class "left"
|
|
||||||
:space-evenly "false"
|
|
||||||
:halign "start"
|
|
||||||
:valign "center"
|
|
||||||
:orientation "h"
|
|
||||||
(notifications)
|
|
||||||
(audio)
|
|
||||||
(clipboard)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget workspace-indicator []
|
|
||||||
". . . . . . . . . ."
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget center []
|
|
||||||
(box :class "center"
|
|
||||||
:space-evenly "false"
|
|
||||||
:halign "center"
|
|
||||||
:valign "center"
|
|
||||||
:orientation "h"
|
|
||||||
(workspace-indicator)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget time []
|
|
||||||
(eventbox :class "time"
|
|
||||||
time
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget date []
|
|
||||||
(eventbox :class "date"
|
|
||||||
"${year}-${date}"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget right []
|
|
||||||
(box :class "right"
|
|
||||||
:space-evenly "false"
|
|
||||||
:halign "end"
|
|
||||||
:valign "center"
|
|
||||||
:orientation "v"
|
|
||||||
(time)
|
|
||||||
(date)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget bar []
|
|
||||||
(box :class "bar"
|
|
||||||
:orientation "h"
|
|
||||||
(left)
|
|
||||||
(center)
|
|
||||||
(right)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwindow bar
|
|
||||||
:monitor 2
|
|
||||||
:geometry (geometry :x "0px"
|
|
||||||
:y "10px"
|
|
||||||
:width "1060px"
|
|
||||||
:height "48px"
|
|
||||||
:anchor "center top")
|
|
||||||
:stacking "fg"
|
|
||||||
:exclusive true
|
|
||||||
(bar)
|
|
||||||
)
|
|
|
@ -1,2 +0,0 @@
|
||||||
(include "_variables.yuck")
|
|
||||||
(include "bar.yuck")
|
|
|
@ -1,15 +0,0 @@
|
||||||
{ inputs
|
|
||||||
, lib
|
|
||||||
, config
|
|
||||||
, pkgs
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
programs.eww = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.eww-wayland;
|
|
||||||
|
|
||||||
configDir = ./config;
|
|
||||||
};
|
|
||||||
}
|
|
293
flake.lock
293
flake.lock
|
@ -1,82 +1,5 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"coq-8_18": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"nixpkgs": [
|
|
||||||
"vscoq",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1694096282,
|
|
||||||
"narHash": "sha256-WhiBs4nzPHQ0R24xAdM49kmxSCPOxiOVMA1iiMYunz4=",
|
|
||||||
"owner": "coq",
|
|
||||||
"repo": "coq",
|
|
||||||
"rev": "f022d5d194cb42c2321ea91cecbcce703a9bcad3",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "coq",
|
|
||||||
"ref": "V8.18.0",
|
|
||||||
"repo": "coq",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"discord-screenaudio": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1698432393,
|
|
||||||
"narHash": "sha256-pD3NtDRqpi3too7jKGvno9QkYN6pSbP/hycRqS2SwaE=",
|
|
||||||
"ref": "refs/heads/master",
|
|
||||||
"rev": "3f3f17949d13f479c2f21573d5471b5ecf33c633",
|
|
||||||
"revCount": 178,
|
|
||||||
"submodules": true,
|
|
||||||
"type": "git",
|
|
||||||
"url": "ssh://git@github.com/maltejur/discord-screenaudio?tag=v1.9.2"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"submodules": true,
|
|
||||||
"type": "git",
|
|
||||||
"url": "ssh://git@github.com/maltejur/discord-screenaudio?tag=v1.9.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681202837,
|
|
||||||
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils_2": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1689068808,
|
|
||||||
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -84,119 +7,44 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1704309533,
|
"lastModified": 1695108154,
|
||||||
"narHash": "sha256-n/krnzgnmYWdVoMv0MJfEMTOYCkoY13rCwKhQ4RVd2U=",
|
"narHash": "sha256-gSg7UTVtls2yO9lKtP0yb66XBHT1Fx5qZSZbGMpSn2c=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "992b38f29cd7e50d88a2ae069133750beda010a4",
|
"rev": "07682fff75d41f18327a871088d20af2710d4744",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "master",
|
"ref": "release-23.05",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hyprland-protocols": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"xdg-desktop-portal-hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"xdg-desktop-portal-hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1691753796,
|
|
||||||
"narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprland-protocols",
|
|
||||||
"rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprland-protocols",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprlang": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": "nixpkgs_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1704287638,
|
|
||||||
"narHash": "sha256-TuRXJGwtK440AXQNl5eiqmQqY4LZ/9+z/R7xC0ie3iA=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprlang",
|
|
||||||
"rev": "6624f2bb66d4d27975766e81f77174adbe58ec97",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprlang",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1703961334,
|
"lastModified": 1698562188,
|
||||||
"narHash": "sha256-M1mV/Cq+pgjk0rt6VxoyyD+O8cOUiai8t9Q6Yyq4noY=",
|
"narHash": "sha256-9nkxGnA/T+jLhHAMFRW157Qi/zfbf5dF1q7HfKROl3o=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9",
|
"rev": "3e10c80821dedb93592682379f476745f370a58e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-23.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1702645756,
|
|
||||||
"narHash": "sha256-qKI6OR3TYJYQB3Q8mAZ+DG4o/BR9ptcv9UnRV2hzljc=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "40c3c94c241286dd2243ea34d3aef8a488f9e4d0",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"plugin-harpoon1": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1703631439,
|
|
||||||
"narHash": "sha256-SIqssvuNnkw1YbEEElLYCHmh9OLnoHzggXNIZMb3jYI=",
|
|
||||||
"owner": "ThePrimeagen",
|
|
||||||
"repo": "harpoon",
|
|
||||||
"rev": "ccae1b9bec717ae284906b0bf83d720e59d12b91",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "ThePrimeagen",
|
|
||||||
"repo": "harpoon",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"plugin-rainbow-delimiters-nvim": {
|
"plugin-rainbow-delimiters-nvim": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1704196511,
|
"lastModified": 1698573782,
|
||||||
"narHash": "sha256-sUB85XGP3XQvF3TcdLhKLCDoSTFOeOlUiptK9DjYYqE=",
|
"narHash": "sha256-rJOWVz1cplThmx9HY7RqYSxUgKKq1yjzhS4Pb2ebFQ4=",
|
||||||
"owner": "HiPhish",
|
"owner": "HiPhish",
|
||||||
"repo": "rainbow-delimiters.nvim",
|
"repo": "rainbow-delimiters.nvim",
|
||||||
"rev": "4a90ac83c7c8e0ba8a1b6af38bed6d5ee1b04e08",
|
"rev": "df8cdf68234fbf056202a9684931c3dfa89988c1",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -208,11 +56,11 @@
|
||||||
"plugin-undotree-nvim": {
|
"plugin-undotree-nvim": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1703849391,
|
"lastModified": 1695641489,
|
||||||
"narHash": "sha256-clxoKM5kusRz8OR5+Z+4NS0WsoMx9tdyi9GG+sE6r3s=",
|
"narHash": "sha256-1d7OMaWsf0MW6w6Yzev9b3qF6Va4y8VNciSEdWq+VxY=",
|
||||||
"owner": "jiaoshijie",
|
"owner": "jiaoshijie",
|
||||||
"repo": "undotree",
|
"repo": "undotree",
|
||||||
"rev": "80552a0180b49e5ba072c89ae91ce5d4e3aed36b",
|
"rev": "41f56b30cc774ad26c4945c7e10673453893e7ad",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -221,123 +69,12 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"plugin-vscoq-nvim": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1702025258,
|
|
||||||
"narHash": "sha256-0ozz2vxmuEym/pR6AftgIZBt4fT4qJxEpngtZXqXT30=",
|
|
||||||
"owner": "tomtomjhj",
|
|
||||||
"repo": "vscoq.nvim",
|
|
||||||
"rev": "0dee175a75153fc6057605c90749e0d6eb131cd4",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tomtomjhj",
|
|
||||||
"repo": "vscoq.nvim",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"discord-screenaudio": "discord-screenaudio",
|
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"plugin-harpoon1": "plugin-harpoon1",
|
|
||||||
"plugin-rainbow-delimiters-nvim": "plugin-rainbow-delimiters-nvim",
|
"plugin-rainbow-delimiters-nvim": "plugin-rainbow-delimiters-nvim",
|
||||||
"plugin-undotree-nvim": "plugin-undotree-nvim",
|
"plugin-undotree-nvim": "plugin-undotree-nvim"
|
||||||
"plugin-vscoq-nvim": "plugin-vscoq-nvim",
|
|
||||||
"vscoq": "vscoq",
|
|
||||||
"xdg-desktop-portal-hyprland": "xdg-desktop-portal-hyprland"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1689347949,
|
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default-linux",
|
|
||||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default-linux",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"vscoq": {
|
|
||||||
"inputs": {
|
|
||||||
"coq-8_18": "coq-8_18",
|
|
||||||
"flake-utils": "flake-utils_2",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1701447720,
|
|
||||||
"narHash": "sha256-VXhHCP6Ni5/OcsgoI1EbJfYCpXzwkuR8kbbKrl6dfjU=",
|
|
||||||
"owner": "coq-community",
|
|
||||||
"repo": "vscoq",
|
|
||||||
"rev": "d4a702e676f2d17952e82df27962736d10810c37",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "coq-community",
|
|
||||||
"repo": "vscoq",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xdg-desktop-portal-hyprland": {
|
|
||||||
"inputs": {
|
|
||||||
"hyprland-protocols": "hyprland-protocols",
|
|
||||||
"hyprlang": "hyprlang",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": "systems_3"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1704308317,
|
|
||||||
"narHash": "sha256-/3IcC3oi0MPtC9OyE687HI/a7vat3m9Sx67I85tTcdI=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
|
||||||
"rev": "bd110073cfe6ac3ce756c1577af78d672f89e853",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
44
flake.nix
44
flake.nix
|
@ -3,15 +3,12 @@
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# Nixpkgs
|
# Nixpkgs
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05";
|
||||||
|
|
||||||
# Home manager
|
# Home manager
|
||||||
home-manager.url = "github:nix-community/home-manager/master";
|
home-manager.url = "github:nix-community/home-manager/release-23.05";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
# VS Coq language server
|
|
||||||
vscoq.url = "github:coq-community/vscoq";
|
|
||||||
vscoq.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
|
|
||||||
# Neovim plugins not in nixpkgs
|
# Neovim plugins not in nixpkgs
|
||||||
plugin-rainbow-delimiters-nvim.url = "gitlab:HiPhish/rainbow-delimiters.nvim";
|
plugin-rainbow-delimiters-nvim.url = "gitlab:HiPhish/rainbow-delimiters.nvim";
|
||||||
|
@ -19,45 +16,28 @@
|
||||||
|
|
||||||
plugin-undotree-nvim.url = "github:jiaoshijie/undotree";
|
plugin-undotree-nvim.url = "github:jiaoshijie/undotree";
|
||||||
plugin-undotree-nvim.flake = false;
|
plugin-undotree-nvim.flake = false;
|
||||||
|
|
||||||
plugin-vscoq-nvim.url = "github:tomtomjhj/vscoq.nvim";
|
|
||||||
plugin-vscoq-nvim.flake = false;
|
|
||||||
|
|
||||||
plugin-harpoon1.url = "github:ThePrimeagen/harpoon";
|
|
||||||
plugin-harpoon1.flake = false;
|
|
||||||
|
|
||||||
# Discord screen audio
|
|
||||||
discord-screenaudio.url = "git+ssh://git@github.com/maltejur/discord-screenaudio?tag=v1.9.2&submodules=1";
|
|
||||||
discord-screenaudio.flake = false;
|
|
||||||
|
|
||||||
# Track hyprland xdg desktop portal master until screenshots get released again
|
|
||||||
xdg-desktop-portal-hyprland.url = "github:hyprwm/xdg-desktop-portal-hyprland";
|
|
||||||
xdg-desktop-portal-hyprland.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs = {
|
||||||
{ self
|
self,
|
||||||
, nixpkgs
|
nixpkgs,
|
||||||
, home-manager
|
home-manager,
|
||||||
, ...
|
...
|
||||||
} @ inputs:
|
} @ inputs : let
|
||||||
let
|
|
||||||
inherit (self) outputs;
|
inherit (self) outputs;
|
||||||
in
|
in {
|
||||||
{
|
overlays = import ./overlays {inherit inputs;};
|
||||||
overlays = import ./overlays { inherit inputs; };
|
|
||||||
|
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
"kalle-pc" = nixpkgs.lib.nixosSystem {
|
"kalle-pc" = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = { inherit inputs outputs; };
|
specialArgs = {inherit inputs outputs;};
|
||||||
modules = [ ./nixos/kalle-pc/configuration.nix ];
|
modules = [ ./nixos/kalle-pc/configuration.nix ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
homeConfigurations = {
|
homeConfigurations = {
|
||||||
"kalle@kalle-pc" = home-manager.lib.homeManagerConfiguration {
|
"kalle@kalle-pc" = home-manager.lib.homeManagerConfiguration {
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||||
extraSpecialArgs = { inherit inputs outputs; };
|
extraSpecialArgs = {inherit inputs outputs;};
|
||||||
modules = [ ./home-manager/kalle-pc/kalle.nix ];
|
modules = [ ./home-manager/kalle-pc/kalle.nix ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -11,223 +11,14 @@
|
||||||
username = "kalle";
|
username = "kalle";
|
||||||
homeDirectory = "/home/kalle";
|
homeDirectory = "/home/kalle";
|
||||||
};
|
};
|
||||||
|
|
||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
../../nvim
|
../../nvim
|
||||||
../../eww
|
|
||||||
../../hyprland
|
|
||||||
../../hyprland/hyprpaper.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
hyprland =
|
|
||||||
let
|
|
||||||
mod = "SUPER"; in
|
|
||||||
{
|
|
||||||
mod = mod;
|
|
||||||
|
|
||||||
primaryMonitor = "DP-2";
|
|
||||||
|
|
||||||
monitors = [
|
|
||||||
{
|
|
||||||
name = "DP-2";
|
|
||||||
width = 1920;
|
|
||||||
height = 1080;
|
|
||||||
refreshRate = 144;
|
|
||||||
x = 0;
|
|
||||||
y = 1080;
|
|
||||||
vrr = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
name = "HDMI-A-1";
|
|
||||||
width = 1920;
|
|
||||||
height = 1080;
|
|
||||||
x = 1500;
|
|
||||||
y = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
name = "HDMI-A-2";
|
|
||||||
width = 1920;
|
|
||||||
height = 1080;
|
|
||||||
x = 1920;
|
|
||||||
y = 1080;
|
|
||||||
transform = 3;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
autoStart = [
|
|
||||||
# Bar
|
|
||||||
"${pkgs.dunst}/bin/dunst"
|
|
||||||
"${pkgs.firefox}/bin/firefox"
|
|
||||||
"${pkgs.discord}/bin/discord"
|
|
||||||
];
|
|
||||||
|
|
||||||
environment = {
|
|
||||||
XCURSOR_SIZE = "24";
|
|
||||||
QT_QPA_PLATFORMTHEME = "qt5ct";
|
|
||||||
};
|
|
||||||
|
|
||||||
sensitivity = 0.1;
|
|
||||||
|
|
||||||
keyboard = {
|
|
||||||
layout = "us";
|
|
||||||
variant = "";
|
|
||||||
options = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
inner_gaps = 5;
|
|
||||||
outer_gaps = 10;
|
|
||||||
|
|
||||||
border = {
|
|
||||||
size = 1;
|
|
||||||
active = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
|
||||||
inactive = "rgba(595959aa)";
|
|
||||||
};
|
|
||||||
|
|
||||||
layout = "dwindle";
|
|
||||||
|
|
||||||
rounding = 5;
|
|
||||||
|
|
||||||
layerRules = {
|
|
||||||
"gtk-layer-shell" = [ "blur" "ignorezero" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
windowRules = {
|
|
||||||
# Auto workspace
|
|
||||||
firefox = [ "workspace 1 silent" ];
|
|
||||||
discord = [ "workspace name:HDMI-A-2" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
windowRulesV2 = {
|
|
||||||
# ULauncher
|
|
||||||
"class:^(ulauncher)$" = [
|
|
||||||
"forceinput"
|
|
||||||
"dimaround"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Media keys
|
|
||||||
# bind = ,XF86AudioPlay, exec, playerctl --player plasma-browser-integration play-pause
|
|
||||||
# bind = ,XF86AudioPrev, exec, playerctl previous
|
|
||||||
# bind = ,XF86AudioNext, exec, playerctl next
|
|
||||||
# bind = ,XF86AudioLowerVolume, exec, playerctl --player plasma-browser-integration volume 0.01-
|
|
||||||
# bind = ,XF86AudioRaiseVolume, exec, playerctl --player plasma-browser-integration volume 0.01+
|
|
||||||
|
|
||||||
# This is a dumb work around for hyprland not passing ALT half the time with the pass dispatcher.
|
|
||||||
# bind = ALT, M, exec, xdotool key 'ALT+m'
|
|
||||||
# bind = ALT, B, exec, xdotool key 'ALT+b'
|
|
||||||
binds = {
|
|
||||||
"${mod}, return" = "exec, kitty";
|
|
||||||
"${mod}, E" = "exec, ulauncher-toggle #wofi --show drun";
|
|
||||||
"${mod}, Print" = "exec, bash -c \"grim -g \\\"$(slurp)\\\" - | wl-copy\"";
|
|
||||||
# Clipboard history
|
|
||||||
# bind = $mainMod, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy
|
|
||||||
};
|
|
||||||
|
|
||||||
mouseBinds = { };
|
|
||||||
};
|
|
||||||
|
|
||||||
hyprpaper = {
|
|
||||||
wallpaperFolder = "/home/kalle/Pictures/Wallpapers";
|
|
||||||
};
|
|
||||||
|
|
||||||
services.dunst = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
global = {
|
|
||||||
monitor = 0;
|
|
||||||
follow = "none";
|
|
||||||
width = 300;
|
|
||||||
height = 300;
|
|
||||||
origin = "top-left";
|
|
||||||
offset = "10x10";
|
|
||||||
scale = 0;
|
|
||||||
notification_limit = 20;
|
|
||||||
progress_bar = true;
|
|
||||||
progress_bar_height = 10;
|
|
||||||
progress_bar_frame_width = 0;
|
|
||||||
progress_bar_min_width = 150;
|
|
||||||
progress_bar_max_width = 300;
|
|
||||||
progress_bar_corner_radius = 0;
|
|
||||||
icon_corner_radius = 0;
|
|
||||||
indicate_hidden = "yes";
|
|
||||||
transparency = "0.3";
|
|
||||||
separator_height = 2;
|
|
||||||
padding = 8;
|
|
||||||
horizontal_padding = 8;
|
|
||||||
text_icon_padding = 0;
|
|
||||||
frame_width = 0;
|
|
||||||
frame_color = "#aaaaaa";
|
|
||||||
gap_size = 10;
|
|
||||||
separator_color = "frame";
|
|
||||||
sort = "yes";
|
|
||||||
font = "Monospace 8";
|
|
||||||
line_height = 0;
|
|
||||||
markup = "full";
|
|
||||||
format = "<b>%s</b>\n%b";
|
|
||||||
alignment = "left";
|
|
||||||
vertical_alignment = "center";
|
|
||||||
show_age_threshold = 60;
|
|
||||||
ellipsize = "middle";
|
|
||||||
ignore_newline = "no";
|
|
||||||
stack_duplicates = true;
|
|
||||||
hide_duplicate_count = false;
|
|
||||||
show_indicators = "yes";
|
|
||||||
enable_recursive_icon_lookup = true;
|
|
||||||
icon_theme = "Adwaita";
|
|
||||||
icon_position = "left";
|
|
||||||
min_icon_size = 32;
|
|
||||||
max_icon_size = 128;
|
|
||||||
icon_path = "/usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/";
|
|
||||||
sticky_history = "yes";
|
|
||||||
history_length = 20;
|
|
||||||
dmenu = "/usr/bin/dmenu -p dunst:";
|
|
||||||
browser = "/usr/bin/xdg-open";
|
|
||||||
always_run_script = true;
|
|
||||||
title = "Dunst";
|
|
||||||
class = "Dunst";
|
|
||||||
corner_radius = 0;
|
|
||||||
ignore_dbusclose = false;
|
|
||||||
force_xwayland = false;
|
|
||||||
force_xinerama = false;
|
|
||||||
mouse_left_click = "close_current";
|
|
||||||
mouse_middle_click = "do_action, close_current";
|
|
||||||
mouse_right_click = "close_all";
|
|
||||||
};
|
|
||||||
|
|
||||||
experimental = {
|
|
||||||
per_monitor_dpi = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
urgency_low = {
|
|
||||||
background = "#222222";
|
|
||||||
foreground = "#888888";
|
|
||||||
timeout = 10;
|
|
||||||
};
|
|
||||||
|
|
||||||
urgency_normal = {
|
|
||||||
background = "#285577";
|
|
||||||
foreground = "#ffffff";
|
|
||||||
timeout = 10;
|
|
||||||
};
|
|
||||||
|
|
||||||
urgency_critical = {
|
|
||||||
background = "#900000";
|
|
||||||
foreground = "#ffffff";
|
|
||||||
frame_color = "#ff0000";
|
|
||||||
timeout = 0;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
overlays = with outputs.overlays; [
|
overlays = with outputs.overlays; [
|
||||||
nvim-plugins
|
nvim-plugins
|
||||||
discord-screenaudio
|
|
||||||
];
|
];
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
@ -240,78 +31,32 @@
|
||||||
# environment.
|
# environment.
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
discord
|
discord
|
||||||
# discord-screenaudio # Not working with some EGL error
|
|
||||||
firefox
|
firefox
|
||||||
chromium
|
|
||||||
httpie
|
httpie
|
||||||
kate
|
kate
|
||||||
dolphin
|
kitty
|
||||||
ark
|
|
||||||
rustup
|
rustup
|
||||||
gcc
|
|
||||||
prismlauncher
|
|
||||||
pavucontrol
|
|
||||||
coq_8_18
|
|
||||||
difftastic
|
|
||||||
sops
|
|
||||||
|
|
||||||
cachix
|
# # It is sometimes useful to fine-tune packages, for example, by applying
|
||||||
|
# # overrides. You can do that directly here, just don't forget the
|
||||||
|
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
|
||||||
|
# # fonts?
|
||||||
|
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
|
||||||
|
|
||||||
|
# # You can also create simple shell scripts directly inside your
|
||||||
|
# # configuration. For example, this adds a command 'my-hello' to your
|
||||||
|
# # environment:
|
||||||
|
# (pkgs.writeShellScriptBin "my-hello" ''
|
||||||
|
# echo "Hello, ${config.home.username}!"
|
||||||
|
# '')
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
programs.bash.enable = true;
|
||||||
programs.bash = {
|
|
||||||
enable = true;
|
|
||||||
shellAliases = {
|
|
||||||
# Git aliases
|
|
||||||
gg = "git log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an (%ae)%C(reset)' --all";
|
|
||||||
gca = "git add -A; git commit -a --amend --no-edit";
|
|
||||||
gs = "git status";
|
|
||||||
|
|
||||||
# Replace some commands with better versions
|
|
||||||
ssh = "kitty +kitten ssh";
|
|
||||||
diff = "${pkgs.difftastic}/bin/difftastic";
|
|
||||||
};
|
|
||||||
initExtra = ''
|
|
||||||
function open() {
|
|
||||||
xdg-open $@ &> /dev/null &
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.kitty = {
|
|
||||||
enable = true;
|
|
||||||
theme = "Catppuccin-Mocha";
|
|
||||||
settings = {
|
|
||||||
background_opacity = "0.8";
|
|
||||||
allow_remote_control = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.starship = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
add_newline = true;
|
|
||||||
|
|
||||||
# Remove text from nix shell component
|
|
||||||
nix_shell.format = "via [$symbol]($style) ";
|
|
||||||
|
|
||||||
git_status.disabled = true;
|
|
||||||
package.disabled = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.direnv = {
|
|
||||||
enable = true;
|
|
||||||
enableBashIntegration = true;
|
|
||||||
nix-direnv.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "Kalle Struik";
|
userName = "Kalle Struik";
|
||||||
userEmail = "kalle@kallestruik.nl";
|
userEmail = "kalle@kallestruik.nl";
|
||||||
difftastic.enable = true;
|
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "main";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,429 +0,0 @@
|
||||||
{ inputs
|
|
||||||
, lib
|
|
||||||
, config
|
|
||||||
, pkgs
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
options =
|
|
||||||
let
|
|
||||||
inherit (lib) mkOption types;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
hyprland = {
|
|
||||||
mod = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "SUPER";
|
|
||||||
};
|
|
||||||
|
|
||||||
autoStart = mkOption {
|
|
||||||
type = types.listOf types.str;
|
|
||||||
default = [ ];
|
|
||||||
};
|
|
||||||
|
|
||||||
primaryMonitor = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
};
|
|
||||||
|
|
||||||
monitors = mkOption {
|
|
||||||
type = types.listOf (types.submodule {
|
|
||||||
options = {
|
|
||||||
name = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
};
|
|
||||||
width = mkOption {
|
|
||||||
type = types.int;
|
|
||||||
};
|
|
||||||
height = mkOption {
|
|
||||||
type = types.int;
|
|
||||||
};
|
|
||||||
refreshRate = mkOption {
|
|
||||||
type = types.int;
|
|
||||||
default = 60;
|
|
||||||
};
|
|
||||||
x = mkOption {
|
|
||||||
type = types.int;
|
|
||||||
default = 0;
|
|
||||||
};
|
|
||||||
y = mkOption {
|
|
||||||
type = types.int;
|
|
||||||
default = 0;
|
|
||||||
};
|
|
||||||
transform = mkOption {
|
|
||||||
type = types.int;
|
|
||||||
default = 0;
|
|
||||||
};
|
|
||||||
vrr = mkOption {
|
|
||||||
type = types.int;
|
|
||||||
default = 0;
|
|
||||||
};
|
|
||||||
enabled = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
});
|
|
||||||
default = [ ];
|
|
||||||
};
|
|
||||||
|
|
||||||
environment = mkOption {
|
|
||||||
type = types.attrsOf types.str;
|
|
||||||
default = { };
|
|
||||||
};
|
|
||||||
|
|
||||||
sensitivity = mkOption {
|
|
||||||
type = types.float;
|
|
||||||
default = 0.0;
|
|
||||||
};
|
|
||||||
|
|
||||||
keyboard = {
|
|
||||||
layout = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "us";
|
|
||||||
};
|
|
||||||
|
|
||||||
variant = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "qwerty";
|
|
||||||
};
|
|
||||||
|
|
||||||
options = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
inner_gaps = mkOption { type = types.int; };
|
|
||||||
|
|
||||||
outer_gaps = mkOption { type = types.int; };
|
|
||||||
|
|
||||||
border = {
|
|
||||||
size = mkOption { type = types.int; };
|
|
||||||
active = mkOption { type = types.str; };
|
|
||||||
inactive = mkOption { type = types.str; };
|
|
||||||
};
|
|
||||||
|
|
||||||
animations = {
|
|
||||||
enable = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
beziers = mkOption {
|
|
||||||
type = types.listOf types.str;
|
|
||||||
default = [
|
|
||||||
"myBezier, 0.05, 0.9, 0.1, 1.05"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
windows = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "1, 3, myBezier";
|
|
||||||
};
|
|
||||||
|
|
||||||
windowsOut = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "1, 3, default, popin 80%";
|
|
||||||
};
|
|
||||||
|
|
||||||
border = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "1, 5, default";
|
|
||||||
};
|
|
||||||
|
|
||||||
borderangle = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "1, 4, default";
|
|
||||||
};
|
|
||||||
|
|
||||||
fade = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "1, 3, default";
|
|
||||||
};
|
|
||||||
|
|
||||||
workspaces = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "1, 2, default";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
layout = mkOption { type = types.str; };
|
|
||||||
rounding = mkOption { type = types.int; };
|
|
||||||
|
|
||||||
blur = {
|
|
||||||
enable = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
size = mkOption {
|
|
||||||
type = types.int;
|
|
||||||
default = 3;
|
|
||||||
};
|
|
||||||
|
|
||||||
passes = mkOption {
|
|
||||||
type = types.int;
|
|
||||||
default = 1;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
shadow = {
|
|
||||||
enable = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
range = mkOption {
|
|
||||||
type = types.int;
|
|
||||||
default = 4;
|
|
||||||
};
|
|
||||||
|
|
||||||
strength = mkOption {
|
|
||||||
type = types.int;
|
|
||||||
default = 3;
|
|
||||||
};
|
|
||||||
|
|
||||||
color = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "rgba(1a1a1aee)";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
layerRules = mkOption {
|
|
||||||
type = types.attrsOf (types.listOf types.str);
|
|
||||||
default = { };
|
|
||||||
};
|
|
||||||
|
|
||||||
windowRules = mkOption {
|
|
||||||
type = types.attrsOf (types.listOf types.str);
|
|
||||||
default = { };
|
|
||||||
};
|
|
||||||
|
|
||||||
windowRulesV2 = mkOption {
|
|
||||||
type = types.attrsOf (types.listOf types.str);
|
|
||||||
default = { };
|
|
||||||
};
|
|
||||||
|
|
||||||
generateWorkspaceBinds = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
generateWindowManagementBinds = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
binds = mkOption {
|
|
||||||
type = types.attrsOf types.str;
|
|
||||||
default = { };
|
|
||||||
};
|
|
||||||
|
|
||||||
mouseBinds = mkOption {
|
|
||||||
type = types.attrsOf types.str;
|
|
||||||
default = { };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config =
|
|
||||||
let
|
|
||||||
cfg = config.hyprland;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
wl-clipboard
|
|
||||||
cliphist
|
|
||||||
ulauncher
|
|
||||||
];
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
monitor = map
|
|
||||||
(m:
|
|
||||||
let
|
|
||||||
resolution = "${toString m.width}x${toString m.height}@${toString m.refreshRate}";
|
|
||||||
position = "${toString m.x}x${toString m.y}";
|
|
||||||
vrr = if m.vrr != 0 then ",vrr,${toString m.vrr}" else "";
|
|
||||||
transform = if m.transform != 0 then ",transform,${toString m.transform}" else "";
|
|
||||||
in
|
|
||||||
"${m.name},${if m.enabled then "${resolution},${position},1${vrr}${transform}" else "disable"}"
|
|
||||||
)
|
|
||||||
(cfg.monitors)
|
|
||||||
# Automatically detect newly connected monitors
|
|
||||||
++ [ ",preferred,auto,auto" ];
|
|
||||||
|
|
||||||
exec-once = [
|
|
||||||
"${pkgs.wl-clipboard}/bin/wl-paste --watch ${pkgs.cliphist}/bin/cliphist store"
|
|
||||||
"${pkgs.ulauncher}/bin/ulauncher --no-window-shadow --hide-window"
|
|
||||||
"${pkgs.libsForQt5.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"
|
|
||||||
# kde-connect (somehow, wasnt working well last time)
|
|
||||||
] ++ cfg.autoStart;
|
|
||||||
|
|
||||||
env = lib.mapAttrsToList (k: v: "${toString k},${v}") cfg.environment;
|
|
||||||
|
|
||||||
input = {
|
|
||||||
kb_layout = cfg.keyboard.layout;
|
|
||||||
kb_variant = cfg.keyboard.variant;
|
|
||||||
kb_options = cfg.keyboard.options;
|
|
||||||
|
|
||||||
follow_mouse = 1;
|
|
||||||
|
|
||||||
touchpad = {
|
|
||||||
natural_scroll = "yes";
|
|
||||||
};
|
|
||||||
|
|
||||||
sensitivity = cfg.sensitivity;
|
|
||||||
accel_profile = "flat";
|
|
||||||
};
|
|
||||||
|
|
||||||
general = {
|
|
||||||
gaps_in = cfg.inner_gaps;
|
|
||||||
gaps_out = cfg.outer_gaps;
|
|
||||||
|
|
||||||
border_size = cfg.border.size;
|
|
||||||
"col.active_border" = cfg.border.active;
|
|
||||||
"col.inactive_border" = cfg.border.inactive;
|
|
||||||
|
|
||||||
layout = cfg.layout;
|
|
||||||
};
|
|
||||||
|
|
||||||
decoration = {
|
|
||||||
rounding = cfg.rounding;
|
|
||||||
|
|
||||||
blur = {
|
|
||||||
enabled = if cfg.blur.enable then "yes" else "no";
|
|
||||||
size = cfg.blur.size;
|
|
||||||
passes = cfg.blur.passes;
|
|
||||||
new_optimizations = "on";
|
|
||||||
};
|
|
||||||
|
|
||||||
drop_shadow = if cfg.shadow.enable then "yes" else "no";
|
|
||||||
shadow_range = cfg.shadow.range;
|
|
||||||
shadow_render_power = cfg.shadow.strength;
|
|
||||||
"col.shadow" = cfg.shadow.color;
|
|
||||||
};
|
|
||||||
|
|
||||||
dwindle = {
|
|
||||||
pseudotile = "yes";
|
|
||||||
preserve_split = "yes";
|
|
||||||
};
|
|
||||||
|
|
||||||
master = {
|
|
||||||
new_is_master = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
gestures = {
|
|
||||||
workspace_swipe = "on";
|
|
||||||
};
|
|
||||||
|
|
||||||
animations = {
|
|
||||||
enabled = if cfg.animations.enable then "yes" else "no";
|
|
||||||
|
|
||||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
|
||||||
|
|
||||||
bezier = cfg.animations.beziers;
|
|
||||||
|
|
||||||
animation = [
|
|
||||||
"windows, ${cfg.animations.windows}"
|
|
||||||
"windowsOut, ${cfg.animations.windowsOut}"
|
|
||||||
"border, ${cfg.animations.border}"
|
|
||||||
"borderangle, ${cfg.animations.borderangle}"
|
|
||||||
"fade, ${cfg.animations.fade}"
|
|
||||||
"workspaces, ${cfg.animations.workspaces}"
|
|
||||||
];
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
layerrule =
|
|
||||||
let
|
|
||||||
y = ident: value: "${value},${ident}";
|
|
||||||
x = ident: values: map (y ident) values;
|
|
||||||
in
|
|
||||||
lib.flatten (lib.mapAttrsToList x cfg.layerRules);
|
|
||||||
|
|
||||||
workspace =
|
|
||||||
let
|
|
||||||
# Create one work space for each non primary monitor
|
|
||||||
perMonitorWorkspaces = map
|
|
||||||
(m: "${m.name}, name:${m.name}")
|
|
||||||
(lib.filter
|
|
||||||
(m: m.name != cfg.primaryMonitor)
|
|
||||||
cfg.monitors
|
|
||||||
);
|
|
||||||
|
|
||||||
# Create 10 work spaces on the primary monitor
|
|
||||||
primaryMonitorWorkspaces = map (i: "${toString i}, monitor:${cfg.primaryMonitor}") (lib.range 1 10);
|
|
||||||
|
|
||||||
in
|
|
||||||
primaryMonitorWorkspaces ++ perMonitorWorkspaces;
|
|
||||||
|
|
||||||
bind =
|
|
||||||
let
|
|
||||||
# Create binds to switch workspaces and move windows between them
|
|
||||||
workspaceBinds =
|
|
||||||
if cfg.generateWorkspaceBinds then
|
|
||||||
lib.flatten
|
|
||||||
(map
|
|
||||||
(i:
|
|
||||||
let
|
|
||||||
k = if i == 10 then 0 else i;
|
|
||||||
in
|
|
||||||
[
|
|
||||||
"${cfg.mod}, ${toString k}, workspace, ${toString i}"
|
|
||||||
"${cfg.mod} SHIFT, ${toString k}, movetoworkspace, ${toString i}"
|
|
||||||
]
|
|
||||||
)
|
|
||||||
(lib.range 1 10)
|
|
||||||
)
|
|
||||||
else
|
|
||||||
[ ];
|
|
||||||
|
|
||||||
# Create binds to manage wiwdows
|
|
||||||
windowManagementBinds =
|
|
||||||
if cfg.generateWindowManagementBinds then [
|
|
||||||
"${cfg.mod} SHIFT, Q, killactive"
|
|
||||||
"${cfg.mod}, F, togglefloating"
|
|
||||||
"${cfg.mod} SHIFT, F, fullscreen"
|
|
||||||
]
|
|
||||||
else
|
|
||||||
[ ];
|
|
||||||
|
|
||||||
configBinds = lib.mapAttrsToList (k: v: "${k}, ${v}") cfg.binds;
|
|
||||||
in
|
|
||||||
configBinds ++ workspaceBinds ++ windowManagementBinds;
|
|
||||||
|
|
||||||
bindm =
|
|
||||||
let
|
|
||||||
windowManagementBinds =
|
|
||||||
if cfg.generateWindowManagementBinds then [
|
|
||||||
"${cfg.mod}, mouse:272, movewindow"
|
|
||||||
"${cfg.mod}, mouse:273, resizewindow"
|
|
||||||
]
|
|
||||||
else
|
|
||||||
[ ];
|
|
||||||
|
|
||||||
configBinds = lib.mapAttrsToList (k: v: "${k}, ${v}") cfg.mouseBinds;
|
|
||||||
|
|
||||||
in
|
|
||||||
configBinds ++ windowManagementBinds;
|
|
||||||
|
|
||||||
windowrule =
|
|
||||||
let
|
|
||||||
y = ident: value: "${value},${ident}";
|
|
||||||
x = ident: values: map (y ident) values;
|
|
||||||
in
|
|
||||||
lib.flatten (lib.mapAttrsToList x cfg.windowRules);
|
|
||||||
|
|
||||||
windowrulev2 =
|
|
||||||
let
|
|
||||||
y = ident: value: "${value},${ident}";
|
|
||||||
x = ident: values: map (y ident) values;
|
|
||||||
in
|
|
||||||
lib.flatten (lib.mapAttrsToList x cfg.windowRulesV2);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,59 +0,0 @@
|
||||||
{ inputs
|
|
||||||
, lib
|
|
||||||
, config
|
|
||||||
, pkgs
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
options =
|
|
||||||
let
|
|
||||||
inherit (lib) mkOption types;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
hyprpaper = {
|
|
||||||
wallpaperFolder = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config =
|
|
||||||
let
|
|
||||||
cfg = config.hyprpaper;
|
|
||||||
hyprlandCfg = config.hyprland;
|
|
||||||
|
|
||||||
changeWallpaperScript =
|
|
||||||
pkgs.writeShellScriptBin
|
|
||||||
"change-wallpaper"
|
|
||||||
(lib.concatStringsSep
|
|
||||||
"\n"
|
|
||||||
(lib.flatten
|
|
||||||
(map
|
|
||||||
(m:
|
|
||||||
let
|
|
||||||
output = m.name;
|
|
||||||
wallpaper = "\"$(${pkgs.findutils}/bin/find -L \"${cfg.wallpaperFolder}\" -type f | ${pkgs.coreutils}/bin/shuf -n 1)\"";
|
|
||||||
in
|
|
||||||
[
|
|
||||||
"wallpaper=${wallpaper}"
|
|
||||||
"${pkgs.hyprland}/bin/hyprctl hyprpaper preload $wallpaper"
|
|
||||||
"${pkgs.hyprland}/bin/hyprctl hyprpaper wallpaper ${output},$wallpaper"
|
|
||||||
]
|
|
||||||
)
|
|
||||||
hyprlandCfg.monitors)
|
|
||||||
++ [ "${pkgs.hyprland}/bin/hyprctl hyprpaper unload all" ])
|
|
||||||
);
|
|
||||||
in
|
|
||||||
{
|
|
||||||
hyprland.autoStart = [
|
|
||||||
"${pkgs.hyprpaper}/bin/hyprpaper"
|
|
||||||
"sleep 2; ${changeWallpaperScript}/bin/change-wallpaper"
|
|
||||||
];
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
hyprpaper
|
|
||||||
changeWallpaperScript
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,13 +1,8 @@
|
||||||
{ inputs
|
{ config, pkgs, ... }:
|
||||||
, config
|
|
||||||
, pkgs
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[
|
[ # Include the results of the hardware scan.
|
||||||
# Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./hardware-configuration.override.nix
|
./hardware-configuration.override.nix
|
||||||
];
|
];
|
||||||
|
@ -35,33 +30,23 @@
|
||||||
|
|
||||||
# Select internationalisation properties.
|
# Select internationalisation properties.
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
console = {
|
console = {
|
||||||
font = "Lat2-Terminus16";
|
font = "Lat2-Terminus16";
|
||||||
useXkbConfig = true; # use xkbOptions in tty.
|
useXkbConfig = true; # use xkbOptions in tty.
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable the X11 windowing system.
|
# Enable the X11 windowing system.
|
||||||
services.xserver = {
|
services.xserver.enable = true;
|
||||||
enable = true;
|
|
||||||
|
|
||||||
|
# Enable the Plasma 5 Desktop Environment.
|
||||||
|
services.xserver.displayManager.sddm.enable = true;
|
||||||
|
services.xserver.desktopManager.plasma5.enable = true;
|
||||||
|
|
||||||
displayManager.sddm.enable = true;
|
|
||||||
|
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
layout = "us";
|
services.xserver.layout = "dvorak";
|
||||||
# xkbVariant = "dvorak";
|
services.xserver.xkbOptions = "eurosign:e,caps:escape";
|
||||||
# xkbOptions = "eurosign:e,caps:escape";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Allow flashing ZSA keyboards
|
|
||||||
hardware.keyboard.zsa.enable = true;
|
|
||||||
|
|
||||||
programs.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
portalPackage = inputs.xdg-desktop-portal-hyprland.packages.x86_64-linux.xdg-desktop-portal-hyprland;
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
# Enable CUPS to print documents.
|
||||||
services.printing.enable = true;
|
services.printing.enable = true;
|
||||||
|
@ -86,54 +71,10 @@
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
xdg-user-dirs
|
xdg-user-dirs
|
||||||
|
|
||||||
grim # For xdg-desktop-portal-hyprland which does not declare this dependency
|
|
||||||
slurp # Some for this one
|
|
||||||
|
|
||||||
qemu_full
|
|
||||||
gamescope
|
|
||||||
];
|
];
|
||||||
|
|
||||||
fonts = {
|
|
||||||
enableDefaultPackages = true;
|
|
||||||
packages = with pkgs; [
|
|
||||||
noto-fonts
|
|
||||||
noto-fonts-cjk
|
|
||||||
noto-fonts-color-emoji
|
|
||||||
|
|
||||||
fira-code
|
|
||||||
fira-code-symbols
|
|
||||||
|
|
||||||
(nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; })
|
|
||||||
];
|
|
||||||
|
|
||||||
fontconfig = {
|
|
||||||
defaultFonts = {
|
|
||||||
serif = [ "Noto Serif" "Symbols Nerd Font" ];
|
|
||||||
sansSerif = [ "Noto Sans" "Symbols Nerd Font" ];
|
|
||||||
monospace = [ "Fira Code" "Symbols Nerd Font Mono" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Steam needs to be installed on system level, because reasons
|
# Steam needs to be installed on system level, because reasons
|
||||||
programs.steam = {
|
programs.steam.enable = true;
|
||||||
enable = true;
|
|
||||||
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
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
# Enable the OpenSSH daemon.
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
|
|
@ -19,22 +19,14 @@
|
||||||
vimdiffAlias = true;
|
vimdiffAlias = true;
|
||||||
|
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
nodejs_21 # Required for copilot-vim
|
|
||||||
ripgrep # Required for telescope
|
|
||||||
wl-clipboard # Required for clipboard sync
|
|
||||||
|
|
||||||
# Language servers
|
|
||||||
clang-tools
|
|
||||||
lua-language-server
|
lua-language-server
|
||||||
rnix-lsp
|
rnix-lsp
|
||||||
nodePackages.typescript-language-server
|
|
||||||
tailwindcss-language-server
|
ripgrep
|
||||||
inputs.vscoq.packages.x86_64-linux.vscoq-language-server
|
wl-clipboard
|
||||||
];
|
];
|
||||||
|
|
||||||
plugins = with pkgs.vimPlugins; [
|
plugins = with pkgs.vimPlugins; [
|
||||||
yuck-vim
|
|
||||||
|
|
||||||
{
|
{
|
||||||
plugin = which-key-nvim;
|
plugin = which-key-nvim;
|
||||||
config = toLua "require('which-key').setup()";
|
config = toLua "require('which-key').setup()";
|
||||||
|
@ -43,20 +35,14 @@
|
||||||
neodev-nvim
|
neodev-nvim
|
||||||
plenary-nvim
|
plenary-nvim
|
||||||
|
|
||||||
{
|
telescope-nvim
|
||||||
plugin = telescope-nvim;
|
|
||||||
config = toLuaFile ./plugin/telescope.lua;
|
|
||||||
}
|
|
||||||
telescope-ui-select-nvim
|
telescope-ui-select-nvim
|
||||||
|
|
||||||
FTerm-nvim
|
FTerm-nvim
|
||||||
|
|
||||||
{
|
neogit
|
||||||
plugin = neogit;
|
|
||||||
config = toLua "require('neogit').setup()";
|
|
||||||
}
|
|
||||||
|
|
||||||
harpoon1
|
harpoon
|
||||||
|
|
||||||
{
|
{
|
||||||
plugin = undotree-nvim;
|
plugin = undotree-nvim;
|
||||||
|
@ -89,7 +75,6 @@
|
||||||
cmp-git
|
cmp-git
|
||||||
cmp-calc
|
cmp-calc
|
||||||
cmp_luasnip
|
cmp_luasnip
|
||||||
copilot-cmp
|
|
||||||
luasnip
|
luasnip
|
||||||
friendly-snippets
|
friendly-snippets
|
||||||
{
|
{
|
||||||
|
@ -111,29 +96,23 @@
|
||||||
rainbow-delimiters-nvim
|
rainbow-delimiters-nvim
|
||||||
|
|
||||||
{
|
{
|
||||||
plugin = (nvim-treesitter.withAllGrammars);
|
plugin = (nvim-treesitter.withPlugins (p: [
|
||||||
|
p.tree-sitter-nix
|
||||||
|
p.tree-sitter-vim
|
||||||
|
p.tree-sitter-bash
|
||||||
|
p.tree-sitter-lua
|
||||||
|
p.tree-sitter-python
|
||||||
|
p.tree-sitter-json
|
||||||
|
p.tree-sitter-yaml
|
||||||
|
p.tree-sitter-rust
|
||||||
|
p.tree-sitter-javascript
|
||||||
|
p.tree-sitter-typescript
|
||||||
|
p.tree-sitter-c
|
||||||
|
p.tree-sitter-cpp
|
||||||
|
]));
|
||||||
config = toLuaFile ./plugin/treesitter.lua;
|
config = toLuaFile ./plugin/treesitter.lua;
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
|
||||||
plugin = Coqtail;
|
|
||||||
# Don't load Coqtail with neovim
|
|
||||||
config = ''
|
|
||||||
let g:loaded_coqtail = 1
|
|
||||||
let g:coqtail#supported = 0
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
vscoq-nvim
|
|
||||||
|
|
||||||
{
|
|
||||||
plugin = copilot-lua;
|
|
||||||
config = toLua ''
|
|
||||||
require("copilot").setup({
|
|
||||||
suggestion = { enabled = false },
|
|
||||||
panel = { enabled = false },
|
|
||||||
})
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
|
|
||||||
extraLuaConfig = ''
|
extraLuaConfig = ''
|
||||||
|
|
|
@ -1,14 +1,6 @@
|
||||||
local cmp = require 'cmp'
|
local cmp = require 'cmp'
|
||||||
local luasnip = require 'luasnip'
|
local luasnip = require 'luasnip'
|
||||||
|
|
||||||
require("copilot_cmp").setup()
|
|
||||||
|
|
||||||
local has_words_before = function()
|
|
||||||
if vim.api.nvim_buf_get_option(0, "buftype") == "prompt" then return false end
|
|
||||||
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
|
||||||
return col ~= 0 and vim.api.nvim_buf_get_text(0, line - 1, 0, line - 1, col, {})[1]:match("^%s*$") == nil
|
|
||||||
end
|
|
||||||
|
|
||||||
cmp.setup({
|
cmp.setup({
|
||||||
snippet = {
|
snippet = {
|
||||||
expand = function(args)
|
expand = function(args)
|
||||||
|
@ -29,7 +21,7 @@ cmp.setup({
|
||||||
end
|
end
|
||||||
end, { 'i', 's' }),
|
end, { 'i', 's' }),
|
||||||
['<Tab>'] = cmp.mapping(function(fallback)
|
['<Tab>'] = cmp.mapping(function(fallback)
|
||||||
if cmp.visible() and has_words_before() then
|
if cmp.visible() then
|
||||||
cmp.select_next_item()
|
cmp.select_next_item()
|
||||||
elseif luasnip.expand_or_jumpable() then
|
elseif luasnip.expand_or_jumpable() then
|
||||||
luasnip.expand_or_jump()
|
luasnip.expand_or_jump()
|
||||||
|
@ -47,7 +39,6 @@ cmp.setup({
|
||||||
})
|
})
|
||||||
}),
|
}),
|
||||||
sources = cmp.config.sources({
|
sources = cmp.config.sources({
|
||||||
{ name = "copilot", group_index = 2 },
|
|
||||||
{ name = 'path' }, -- file paths
|
{ name = 'path' }, -- file paths
|
||||||
{ name = 'nvim_lsp' }, -- from language server
|
{ name = 'nvim_lsp' }, -- from language server
|
||||||
{ name = 'nvim_lsp_signature_help' }, -- display function signatures with current parameter emphasized
|
{ name = 'nvim_lsp_signature_help' }, -- display function signatures with current parameter emphasized
|
||||||
|
|
|
@ -67,10 +67,6 @@ vim.diagnostic.config({
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.cmd([[
|
|
||||||
autocmd CursorHold * lua vim.diagnostic.open_float(nil, { focusable = false })
|
|
||||||
]])
|
|
||||||
|
|
||||||
-- LSP Configuration
|
-- LSP Configuration
|
||||||
|
|
||||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
|
@ -105,21 +101,6 @@ require('lspconfig').rnix.setup {
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
}
|
}
|
||||||
|
|
||||||
require('lspconfig').tsserver.setup {
|
|
||||||
on_attach = on_attach,
|
|
||||||
capabilities = capabilities,
|
|
||||||
}
|
|
||||||
|
|
||||||
require('lspconfig').tailwindcss.setup {
|
|
||||||
on_attach = on_attach,
|
|
||||||
capabilities = capabilities,
|
|
||||||
}
|
|
||||||
|
|
||||||
require('lspconfig').clangd.setup {
|
|
||||||
on_attach = on_attach,
|
|
||||||
capabilities = capabilities,
|
|
||||||
}
|
|
||||||
|
|
||||||
require('rust-tools').setup({
|
require('rust-tools').setup({
|
||||||
server = {
|
server = {
|
||||||
on_attach = on_attach,
|
on_attach = on_attach,
|
||||||
|
@ -132,20 +113,3 @@ require('rust-tools').setup({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
require 'vscoq'.setup {
|
|
||||||
-- Configuration for vscoq, used in both the client and the server.
|
|
||||||
-- See "configuration" in https://github.com/coq-community/vscoq/blob/main/client/package.json.
|
|
||||||
-- The following is an example.
|
|
||||||
vscoq = {
|
|
||||||
proof = {
|
|
||||||
mode = 1, -- automatic mode
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- The configuration forwarded to `:help lspconfig-setup`.
|
|
||||||
-- The following is an example.
|
|
||||||
lsp = {
|
|
||||||
on_attach = on_attach,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
require('telescope').setup {
|
|
||||||
defaults = {
|
|
||||||
mappings = {
|
|
||||||
i = {
|
|
||||||
['<C-u>'] = false,
|
|
||||||
['<C-d>'] = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
require("telescope").load_extension("ui-select")
|
|
||||||
pcall(require('telescope').load_extension, 'fzf')
|
|
|
@ -1,5 +1,6 @@
|
||||||
{ inputs
|
{
|
||||||
, ...
|
inputs,
|
||||||
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -14,56 +15,6 @@
|
||||||
name = "undotree.nvim";
|
name = "undotree.nvim";
|
||||||
src = inputs.plugin-undotree-nvim;
|
src = inputs.plugin-undotree-nvim;
|
||||||
};
|
};
|
||||||
|
|
||||||
vscoq-nvim = prev.vimUtils.buildVimPlugin {
|
|
||||||
name = "vscoq.nvim";
|
|
||||||
src = inputs.plugin-vscoq-nvim;
|
|
||||||
};
|
|
||||||
|
|
||||||
harpoon1 = prev.vimUtils.buildVimPlugin {
|
|
||||||
name = "harpoon";
|
|
||||||
src = inputs.plugin-harpoon1;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
discord-screenaudio = final: prev: {
|
|
||||||
discord-screenaudio = prev.stdenv.mkDerivation
|
|
||||||
rec {
|
|
||||||
pname = "discord-screenaudio";
|
|
||||||
version = "1.9.1";
|
|
||||||
|
|
||||||
src = inputs.discord-screenaudio;
|
|
||||||
|
|
||||||
nativeBuildInputs = with prev; [
|
|
||||||
qt6.wrapQtAppsHook
|
|
||||||
cmake
|
|
||||||
pkg-config
|
|
||||||
qt6.qtbase
|
|
||||||
qt6.qtwebengine
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = with prev; [
|
|
||||||
pipewire
|
|
||||||
];
|
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
# version.cmake either uses git tags or a version.txt file to get app version.
|
|
||||||
# Since cmake can't access git tags, write the version to a version.txt ourselves.
|
|
||||||
echo "${version}" > version.txt
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru.updateScript = prev.nix-update-script { };
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "A custom discord client that supports streaming with audio on Linux";
|
|
||||||
homepage = "https://github.com/maltejur/discord-screenaudio";
|
|
||||||
downloadPage = "https://github.com/maltejur/discord-screenaudio/releases";
|
|
||||||
changelog = "https://github.com/maltejur/discord-screenaudio/releases/tag/v${version}";
|
|
||||||
# license = lib.licenses.gpl3Only;
|
|
||||||
# maintainers = with lib.maintainers; [ huantian ];
|
|
||||||
# platforms = lib.platforms.linux;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue