Compare commits
45 Commits
kodi-hdr
...
4a41533ba8
| Author | SHA1 | Date | |
|---|---|---|---|
| 4a41533ba8 | |||
| 9d45449fce | |||
| 877bc2c739 | |||
| cd6e028142 | |||
| 421b27f76f | |||
| 1f4a72d28c | |||
| a8f19af989 | |||
| d4b0fe5b9e | |||
| 09cff42222 | |||
| 0183e7c823 | |||
| 29cdd1e239 | |||
| 7ced8f11ba | |||
| 244b7c0888 | |||
| 80744bcbf1 | |||
| 56d03f4228 | |||
| 32d0c7fa5a | |||
| 1c2aae93b7 | |||
| 0ab6562694 | |||
| 986ee06a46 | |||
| 34abaeeec9 | |||
| 11638cfa1b | |||
| 1ce431b0e5 | |||
| 98ef9b1443 | |||
| 4c779663df | |||
| e2bb87fcf1 | |||
| ef47c5dc9a | |||
| 7da089daa3 | |||
| 8134d7cb33 | |||
| 24f1a64f3c | |||
| 19531074ca | |||
| a30c130f21 | |||
| e088ee2dc8 | |||
| 366a7e2ea3 | |||
| 9116e44dfe | |||
| e3ef710bdb | |||
| e1a804cfed | |||
| ec59936012 | |||
| 844d17a855 | |||
| b19dc65c6d | |||
| 6db2c78e0b | |||
| 475aafa33e | |||
| 09562f0af9 | |||
| ae543d9628 | |||
| c7716d2bca | |||
| 54cf339d52 |
121
flake.lock
generated
121
flake.lock
generated
@@ -1,5 +1,44 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"doomemacs": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733434763,
|
||||||
|
"narHash": "sha256-sebujw5VvBWMS+wXyjiGF81iyjPM/QQDnw5l7tDJCvk=",
|
||||||
|
"owner": "doomemacs",
|
||||||
|
"repo": "doomemacs",
|
||||||
|
"rev": "ba1dca322f9a07bc2b7bec6a98f2c3c55c0bbd77",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "doomemacs",
|
||||||
|
"repo": "doomemacs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"emacs-overlay": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nix-doom-emacs-unstraightened"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": [
|
||||||
|
"nix-doom-emacs-unstraightened"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1735870044,
|
||||||
|
"narHash": "sha256-3t/AdIIniLZHetkG5An08oeB/z/gOAhC4iViw4Aig+Q=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "emacs-overlay",
|
||||||
|
"rev": "57ad4a6cfaf4666c9ce71b81bd7243e4ed2d8b01",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "emacs-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -7,11 +46,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729459288,
|
"lastModified": 1735925111,
|
||||||
"narHash": "sha256-gBOVJv+q6Mx8jGvwX7cE6J8+sZmi1uxpRVsO7WxvVuQ=",
|
"narHash": "sha256-/NptDI4njO5hH0ZVQ2yzbvTXmBOabZaGYkjhnMJ37TY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "1e27f213d77fc842603628bcf2df6681d7d08f7e",
|
"rev": "ef64efdbaca99f9960f75efab991e4c49e79a5f1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -20,13 +59,36 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-doom-emacs-unstraightened": {
|
||||||
|
"inputs": {
|
||||||
|
"doomemacs": "doomemacs",
|
||||||
|
"emacs-overlay": "emacs-overlay",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1735893424,
|
||||||
|
"narHash": "sha256-/FAzolzHPQiyba5AhzSQcLGDZtBVsMgs87rHMrWMHNk=",
|
||||||
|
"owner": "marienz",
|
||||||
|
"repo": "nix-doom-emacs-unstraightened",
|
||||||
|
"rev": "f90d619eb3d423e6cd3024879a073680ba2f9eba",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "marienz",
|
||||||
|
"repo": "nix-doom-emacs-unstraightened",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729256560,
|
"lastModified": 1735834308,
|
||||||
"narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
|
"narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
|
"rev": "6df24922a1400241dae323af55f30e4318a6ca65",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -36,22 +98,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1729357638,
|
|
||||||
"narHash": "sha256-66RHecx+zohbZwJVEPF7uuwHeqf8rykZTMCTqIrOew4=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "bb8c2cf7ea0dd2e18a52746b2c3a5b0c73b93c22",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "release-24.05",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"plasma-manager": {
|
"plasma-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": [
|
"home-manager": [
|
||||||
@@ -62,11 +108,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729372184,
|
"lastModified": 1735049224,
|
||||||
"narHash": "sha256-Tb2/jJ74pt0nmfprkOW1g5zZphJTNbzLnyDENM+c5+I=",
|
"narHash": "sha256-fWUd9kyXdepphJ7cCzOsuSo7l0kbFCkUqfgKqZyFZzE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "plasma-manager",
|
"repo": "plasma-manager",
|
||||||
"rev": "9390dadadc58ffda8e494b31ef66a4ae041f6dd1",
|
"rev": "d16bbded0ae452bc088489e7dca3ef58d8d1830b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -78,6 +124,7 @@
|
|||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
"nix-doom-emacs-unstraightened": "nix-doom-emacs-unstraightened",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"plasma-manager": "plasma-manager",
|
"plasma-manager": "plasma-manager",
|
||||||
"sops-nix": "sops-nix"
|
"sops-nix": "sops-nix"
|
||||||
@@ -87,15 +134,14 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
]
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729394972,
|
"lastModified": 1735844895,
|
||||||
"narHash": "sha256-fADlzOzcSaGsrO+THUZ8SgckMMc7bMQftztKFCLVcFI=",
|
"narHash": "sha256-CIRlqX9tBK2awJkmVu2cKuap/0QziDXStQZ/u/+e8Z4=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "c504fd7ac946d7a1b17944d73b261ca0a0b226a5",
|
"rev": "24d89184adf76d7ccc99e659dc5f3838efb5ee32",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -103,6 +149,21 @@
|
|||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|||||||
16
flake.nix
16
flake.nix
@@ -19,6 +19,11 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
inputs.home-manager.follows = "home-manager";
|
inputs.home-manager.follows = "home-manager";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nix-doom-emacs-unstraightened = {
|
||||||
|
url = "github:marienz/nix-doom-emacs-unstraightened";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, ... } @ inputs: let
|
outputs = { self, nixpkgs, ... } @ inputs: let
|
||||||
@@ -29,7 +34,10 @@
|
|||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.sharedModules = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
|
home-manager.sharedModules = [
|
||||||
|
inputs.plasma-manager.homeManagerModules.plasma-manager
|
||||||
|
inputs.nix-doom-emacs-unstraightened.hmModule
|
||||||
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
in {
|
in {
|
||||||
@@ -40,8 +48,6 @@
|
|||||||
./machines/z790prors/configuration.nix
|
./machines/z790prors/configuration.nix
|
||||||
{
|
{
|
||||||
home-manager.users.johno = import ./home/home-z790prors.nix;
|
home-manager.users.johno = import ./home/home-z790prors.nix;
|
||||||
home-manager.extraSpecialArgs.customPkgs =
|
|
||||||
nixpkgs.legacyPackages."${system}".callPackage ./packages {};
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@@ -52,8 +58,6 @@
|
|||||||
./machines/nix-book/configuration.nix
|
./machines/nix-book/configuration.nix
|
||||||
{
|
{
|
||||||
home-manager.users.johno = import ./home/home-nix-book.nix;
|
home-manager.users.johno = import ./home/home-nix-book.nix;
|
||||||
home-manager.extraSpecialArgs.customPkgs =
|
|
||||||
nixpkgs.legacyPackages."${system}".callPackage ./packages {};
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@@ -65,8 +69,6 @@
|
|||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager.users.johno = import ./home/home-default.nix;
|
home-manager.users.johno = import ./home/home-default.nix;
|
||||||
home-manager.extraSpecialArgs.customPkgs =
|
|
||||||
nixpkgs.legacyPackages."${system}".callPackage ./packages {};
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
{ pkgs, customPkgs, ... }:
|
{ pkgs, customPkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
customPkgs = pkgs.callPackage ../packages {};
|
||||||
|
in
|
||||||
{
|
{
|
||||||
# Home Manager needs a bit of information about you and the paths it should
|
# Home Manager needs a bit of information about you and the paths it should
|
||||||
# manage.
|
# manage.
|
||||||
@@ -95,6 +98,7 @@
|
|||||||
# /etc/profiles/per-user/johno/etc/profile.d/hm-session-vars.sh
|
# /etc/profiles/per-user/johno/etc/profile.d/hm-session-vars.sh
|
||||||
#
|
#
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
|
ENABLE_GAMESCOPE_WSI = "1";
|
||||||
};
|
};
|
||||||
|
|
||||||
home.sessionPath = [
|
home.sessionPath = [
|
||||||
@@ -107,6 +111,7 @@
|
|||||||
./modules/i3+sway
|
./modules/i3+sway
|
||||||
./modules/lutris
|
./modules/lutris
|
||||||
./modules/plasma-manager
|
./modules/plasma-manager
|
||||||
|
./modules/tmux
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.bash.enable = true;
|
programs.bash.enable = true;
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./home-default.nix
|
./home-default.nix
|
||||||
./modules/hyprland/nix-book.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home.i3_sway.extraSwayConfig = {
|
home.i3_sway.extraSwayConfig = {
|
||||||
|
|||||||
@@ -3,6 +3,5 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./home-default.nix
|
./home-default.nix
|
||||||
./modules/hyprland/z790prors.nix
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,15 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
{
|
||||||
doomSync = (let
|
|
||||||
git = pkgs.git;
|
|
||||||
in ''
|
|
||||||
export PATH=${pkgs.emacs}/bin:${git}/bin:$PATH
|
|
||||||
${config.xdg.configHome}/emacs/bin/doom sync -u -j $((`nproc`/4*3))
|
|
||||||
'');
|
|
||||||
in {
|
|
||||||
config = {
|
config = {
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs.emacs-all-the-icons-fonts
|
pkgs.emacs-all-the-icons-fonts
|
||||||
pkgs.fontconfig
|
pkgs.fontconfig
|
||||||
pkgs.graphviz
|
pkgs.graphviz
|
||||||
pkgs.isort
|
pkgs.isort
|
||||||
pkgs.nerdfonts
|
pkgs.nerd-fonts.fira-code
|
||||||
|
pkgs.nerd-fonts.droid-sans-mono
|
||||||
pkgs.nil # nix lsp language server
|
pkgs.nil # nix lsp language server
|
||||||
pkgs.nixfmt-rfc-style
|
pkgs.nixfmt-rfc-style
|
||||||
(pkgs.ripgrep.override {withPCRE2 = true;})
|
(pkgs.ripgrep.override {withPCRE2 = true;})
|
||||||
@@ -25,43 +19,15 @@ in {
|
|||||||
pkgs.python3
|
pkgs.python3
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.doom-emacs = {
|
||||||
|
enable = true;
|
||||||
|
doomDir = ./doom;
|
||||||
|
};
|
||||||
|
|
||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
|
|
||||||
home.file = {
|
|
||||||
".config/emacs" = {
|
|
||||||
source = fetchGit {
|
|
||||||
url = "https://github.com/doomemacs/doomemacs.git";
|
|
||||||
# When updating me, remember to run `doom sync`
|
|
||||||
rev = "5ad99220b86ae1bf421861dfad24492d768ac4d9";
|
|
||||||
};
|
|
||||||
# We need to use recursive mode here or else doom fails to sync for
|
|
||||||
# some reason related to the permissions on the synced path. I'm not
|
|
||||||
# quite sure of everything that's going on here.
|
|
||||||
recursive = true;
|
|
||||||
|
|
||||||
# Because `recursive = true` will cause this to sync every single
|
|
||||||
# activation, we turn this off here.
|
|
||||||
#
|
|
||||||
# There's probably a way we could do better detection of this within
|
|
||||||
# our onChange shell?
|
|
||||||
#
|
|
||||||
# onChange = doomSync;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
DOOMLOCALDIR = "${config.xdg.dataHome}/doom";
|
|
||||||
EDITOR = "emacs -nw";
|
EDITOR = "emacs -nw";
|
||||||
};
|
};
|
||||||
|
|
||||||
home.sessionPath = [
|
|
||||||
"${config.xdg.configHome}/emacs/bin"
|
|
||||||
];
|
|
||||||
|
|
||||||
xdg.configFile."doom" = {
|
|
||||||
source = ./doom;
|
|
||||||
# Sync doom if we updated the config
|
|
||||||
onChange = doomSync;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to
|
;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to
|
||||||
;; refresh your font settings. If Emacs still can't find your font, it likely
|
;; refresh your font settings. If Emacs still can't find your font, it likely
|
||||||
;; wasn't installed correctly. Font issues are rarely Doom issues!
|
;; wasn't installed correctly. Font issues are rarely Doom issues!
|
||||||
|
(setq doom-font (font-spec :family "Fira Code"))
|
||||||
|
|
||||||
;; There are two ways to load a theme. Both assume the theme is installed and
|
;; There are two ways to load a theme. Both assume the theme is installed and
|
||||||
;; available. You can either set `doom-theme' or manually load a theme with the
|
;; available. You can either set `doom-theme' or manually load a theme with the
|
||||||
@@ -43,7 +44,11 @@
|
|||||||
(setq org-directory "~/org/")
|
(setq org-directory "~/org/")
|
||||||
(after! org
|
(after! org
|
||||||
(setq org-agenda-span 'week
|
(setq org-agenda-span 'week
|
||||||
org-agenda-files `(,org-directory ,(concat org-directory "roam/"))
|
my-agenda-dirs '("projects" "roam")
|
||||||
|
org-agenda-files (cons org-directory (mapcan (lambda (x) (directory-files-recursively
|
||||||
|
(expand-file-name x org-directory)
|
||||||
|
"\.org$"))
|
||||||
|
my-agenda-dirs))
|
||||||
org-log-done 'time
|
org-log-done 'time
|
||||||
org-agenda-custom-commands '(("n" "Agenda"
|
org-agenda-custom-commands '(("n" "Agenda"
|
||||||
((agenda "")
|
((agenda "")
|
||||||
|
|||||||
@@ -149,7 +149,7 @@
|
|||||||
;;lua ; one-based indices? one-based indices
|
;;lua ; one-based indices? one-based indices
|
||||||
markdown ; writing docs for people to ignore
|
markdown ; writing docs for people to ignore
|
||||||
;;nim ; python + lisp at the speed of c
|
;;nim ; python + lisp at the speed of c
|
||||||
(nix +tree-sitter +lsp) ; I hereby declare "nix geht mehr!"
|
(nix +tree-sitter) ; I hereby declare "nix geht mehr!"
|
||||||
;;ocaml ; an objective camel
|
;;ocaml ; an objective camel
|
||||||
(org +roam2) ; organize your plain life in plain text
|
(org +roam2) ; organize your plain life in plain text
|
||||||
;;php ; perl's insecure younger brother
|
;;php ; perl's insecure younger brother
|
||||||
|
|||||||
@@ -1,94 +0,0 @@
|
|||||||
{ inputs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./hyprpaper.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
plugins = [ inputs.hy3.packages.x86_64-linux.hy3 ];
|
|
||||||
settings = {
|
|
||||||
"$mod" = "SUPER";
|
|
||||||
"$terminal" = "kitty";
|
|
||||||
"$fileManager" = "dolphin";
|
|
||||||
"$menu" = "wofi --show drun";
|
|
||||||
|
|
||||||
exec-once = [
|
|
||||||
"waybar"
|
|
||||||
"dunst"
|
|
||||||
];
|
|
||||||
|
|
||||||
xwayland = {
|
|
||||||
force_zero_scaling = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
input = {
|
|
||||||
kb_layout = "us";
|
|
||||||
kb_options = "caps:escape";
|
|
||||||
follow_mouse = 1;
|
|
||||||
touchpad.natural_scroll = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
windowrulev2 = [
|
|
||||||
# I can guess, but I should figure out what this actually does
|
|
||||||
"suppressevent maximize, class:.*"
|
|
||||||
];
|
|
||||||
|
|
||||||
general.layout = "hy3";
|
|
||||||
|
|
||||||
bind =
|
|
||||||
[
|
|
||||||
"SHIFT_$mod, Q, killactive"
|
|
||||||
"SHIFT_$mod, M, exit"
|
|
||||||
|
|
||||||
"$mod, D, exec, $menu"
|
|
||||||
"$mod, Return, exec, $terminal"
|
|
||||||
|
|
||||||
"$mod, H, hy3:movefocus, l"
|
|
||||||
"$mod, L, hy3:movefocus, r"
|
|
||||||
"$mod, K, hy3:movefocus, u"
|
|
||||||
"$mod, J, hy3:movefocus, d"
|
|
||||||
|
|
||||||
"SHIFT_$mod, H, hy3:movewindow, l"
|
|
||||||
"SHIFT_$mod, L, hy3:movewindow, r"
|
|
||||||
"SHIFT_$mod, K, hy3:movewindow, u"
|
|
||||||
"SHIFT_$mod, J, hy3:movewindow, d"
|
|
||||||
|
|
||||||
"$mod, V, hy3:makegroup, opposite"
|
|
||||||
"$mod, W, hy3:changegroup, toggletab"
|
|
||||||
|
|
||||||
"$mod, A, hy3:changefocus, raise"
|
|
||||||
"SHIFT_$mod, A, hy3:changefocus, lower"
|
|
||||||
|
|
||||||
"$mod, M, fullscreen, 0"
|
|
||||||
"$mod, E, hy3:expand, expand"
|
|
||||||
"SHIFT_$mod, E, hy3:expand, base"
|
|
||||||
|
|
||||||
"$mod, Q, hy3:warpcursor"
|
|
||||||
]
|
|
||||||
++ (
|
|
||||||
# workspaces
|
|
||||||
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
|
|
||||||
builtins.concatLists (builtins.genList (
|
|
||||||
x: let
|
|
||||||
ws = let
|
|
||||||
c = (x + 1) / 10;
|
|
||||||
in
|
|
||||||
builtins.toString (x + 1 - (c * 10));
|
|
||||||
in [
|
|
||||||
"$mod, ${ws}, workspace, ${toString (x + 1)}"
|
|
||||||
"$mod SHIFT, ${ws}, hy3:movetoworkspace, ${toString (x + 1)}"
|
|
||||||
]
|
|
||||||
)
|
|
||||||
10)
|
|
||||||
);
|
|
||||||
|
|
||||||
bindm =
|
|
||||||
[
|
|
||||||
"$mod, mouse:272, movewindow"
|
|
||||||
"$mod, mouse:273, resizewindow"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
services.hyprpaper = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
ipc = "on";
|
|
||||||
splash = false;
|
|
||||||
preload = [
|
|
||||||
"${config.xdg.dataHome}/wallpaper.jpg"
|
|
||||||
];
|
|
||||||
wallpaper = [
|
|
||||||
",${config.xdg.dataHome}/wallpaper.jpg"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.dataFile."wallpaper.jpg" = {
|
|
||||||
source = ./wallpaper.jpg;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
wayland.windowManager.hyprland.settings.monitor = ",preferred,2880x1800@90.00Hz,1.33333";
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 842 KiB |
@@ -1,16 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
wayland.windowManager.hyprland.settings.monitor = "DP-1,3440x1440@164.90,0x0,1.33333,vrr,1";
|
|
||||||
wayland.windowManager.hyprland.settings.env = [
|
|
||||||
"LIBVA_DRIVER_NAME,nvidia"
|
|
||||||
"XDG_SESSION_TYPE,wayland"
|
|
||||||
"GBM_BACKEND,nvidia-drm"
|
|
||||||
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
|
||||||
"NVD_BACKEND,direct"
|
|
||||||
"ELECTRON_OZONE_PLATFORM_HINT,auto"
|
|
||||||
"NIXOS_OZONE_WL,1"
|
|
||||||
];
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland.settings.cursor.no_hardware_cursors = true;
|
|
||||||
}
|
|
||||||
@@ -1,27 +1,18 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
|
||||||
# The following can be generated with the command:
|
# The current KDE config can be output with the command:
|
||||||
# nix run github:nix-community/plasma-manager
|
# nix run github:nix-community/plasma-manager
|
||||||
#
|
#
|
||||||
# Plasma-manager options documentation
|
# Plasma-manager options documentation
|
||||||
# https://nix-community.github.io/plasma-manager/options.xhtml
|
# https://nix-community.github.io/plasma-manager/options.xhtml
|
||||||
#
|
#
|
||||||
# Polonium usage
|
# TODO: (ambitious) Add Kmail support to plasma-manager
|
||||||
# https://github.com/zeroxoneafour/polonium/blob/master/docs/usage.md
|
|
||||||
#
|
|
||||||
# TODO: Extract this configuration into something that's a bit easier to manage
|
|
||||||
# TODO: Update shortcuts for better window/tiling/desktop management akin to i3wm
|
|
||||||
# TODO(ambitious): Add Kmail support to plasma-manager
|
|
||||||
{
|
{
|
||||||
programs.plasma = {
|
programs.plasma = {
|
||||||
enable = true;
|
enable = true;
|
||||||
overrideConfig = true;
|
overrideConfig = true;
|
||||||
|
|
||||||
kwin = {
|
|
||||||
scripts.polonium.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
hotkeys.commands."launch-konsole" = {
|
hotkeys.commands."launch-konsole" = {
|
||||||
name = "Launch Konsole";
|
name = "Launch Konsole";
|
||||||
key = "Meta+Return";
|
key = "Meta+Return";
|
||||||
@@ -67,46 +58,7 @@
|
|||||||
|
|
||||||
"Activate Window Demanding Attention" = "Meta+Ctrl+A";
|
"Activate Window Demanding Attention" = "Meta+Ctrl+A";
|
||||||
|
|
||||||
"PoloniumCycleEngine" = "Meta+|,none,Polonium: Cycle Engine";
|
|
||||||
"PoloniumFocusAbove" = "Meta+K,none,Polonium: Focus Above";
|
|
||||||
"PoloniumFocusBelow" = "Meta+J,none,Polonium: Focus Below";
|
|
||||||
"PoloniumFocusLeft" = "Meta+H,none,Polonium: Focus Left";
|
|
||||||
"PoloniumFocusRight" = "Meta+L,none,Polonium: Focus Right";
|
|
||||||
"PoloniumInsertAbove" = "Meta+Shift+K,none,Polonium: Insert Above";
|
|
||||||
"PoloniumInsertBelow" = "Meta+Shift+J,none,Polonium: Insert Below";
|
|
||||||
"PoloniumInsertLeft" = "Meta+Shift+H,none,Polonium: Insert Left";
|
|
||||||
"PoloniumInsertRight" = "Meta+Shift+L,none,Polonium: Insert Right";
|
|
||||||
"PoloniumOpenSettings" = "Meta+\\\\,none,Polonium: Open Settings Dialog";
|
|
||||||
"PoloniumResizeAbove" = "Meta+Ctrl+K,none,Polonium: Resize Above";
|
|
||||||
"PoloniumResizeBelow" = "Meta+Ctrl+J,none,Polonium: Resize Below";
|
|
||||||
"PoloniumResizeLeft" = "Meta+Ctrl+H,none,Polonium: Resize Left";
|
|
||||||
"PoloniumResizeRight" = "Meta+Ctrl+L,none,Polonium: Resize Right";
|
|
||||||
"PoloniumRetileWindow" = "Meta+Shift+Space,none,Polonium: Retile Window";
|
|
||||||
"PoloniumSwitchBTree" = [ ];
|
|
||||||
"PoloniumSwitchHalf" = [ ];
|
|
||||||
"PoloniumSwitchKwin" = [ ];
|
|
||||||
"PoloniumSwitchMonocle" = [ ];
|
|
||||||
"PoloniumSwitchThreeColumn" = [ ];
|
|
||||||
|
|
||||||
"Show Desktop" = "Meta+D";
|
"Show Desktop" = "Meta+D";
|
||||||
"Switch to Desktop 1" = "Meta+1,,Switch to Desktop 1";
|
|
||||||
"Switch to Desktop 2" = "Meta+2,,Switch to Desktop 2";
|
|
||||||
"Switch to Desktop 3" = "Meta+3,,Switch to Desktop 3";
|
|
||||||
"Switch to Desktop 4" = "Meta+4,,Switch to Desktop 4";
|
|
||||||
"Switch to Desktop 5" = "Meta+5,,Switch to Desktop 5";
|
|
||||||
"Switch to Desktop 6" = "none,,Switch to Desktop 6";
|
|
||||||
"Switch to Desktop 7" = "none,,Switch to Desktop 7";
|
|
||||||
"Switch to Desktop 8" = "none,,Switch to Desktop 8";
|
|
||||||
"Switch to Desktop 9" = "none,,Switch to Desktop 9";
|
|
||||||
"Window to Desktop 1" = "Meta+!,,Window to Desktop 1";
|
|
||||||
"Window to Desktop 2" = "Meta+@,,Window to Desktop 2";
|
|
||||||
"Window to Desktop 3" = "Meta+#,,Window to Desktop 3";
|
|
||||||
"Window to Desktop 4" = "Meta+$,,Window to Desktop 4";
|
|
||||||
"Window to Desktop 5" = "Meta+%,,Window to Desktop 5";
|
|
||||||
"Window to Desktop 6" = "none,,Window to Desktop 6";
|
|
||||||
"Window to Desktop 7" = "none,,Window to Desktop 7";
|
|
||||||
"Window to Desktop 8" = "none,,Window to Desktop 8";
|
|
||||||
"Window to Desktop 9" = "none,,Window to Desktop 9";
|
|
||||||
|
|
||||||
"Walk Through Windows" = "Alt+Tab";
|
"Walk Through Windows" = "Alt+Tab";
|
||||||
"Walk Through Windows (Reverse)" = "Alt+Shift+Tab";
|
"Walk Through Windows (Reverse)" = "Alt+Shift+Tab";
|
||||||
@@ -155,9 +107,21 @@
|
|||||||
|
|
||||||
configFile = {
|
configFile = {
|
||||||
kwinrc.Desktops.Number = {
|
kwinrc.Desktops.Number = {
|
||||||
value = 9;
|
value = 10;
|
||||||
immutable = true;
|
immutable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
kcminputrc.Libinput = {
|
||||||
|
AccelerationProfile = "adaptive";
|
||||||
|
PointerAcceleration = 0.5;
|
||||||
|
};
|
||||||
|
|
||||||
|
kcminputrc.Mouse = {
|
||||||
|
X11LibInputXAccelProfileFlat = false;
|
||||||
|
XLbInptAccelProfileFlat = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
kdeglobals.KDE.LookAndFeelPackage = "org.kde.breezedark.desktop";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
58
home/modules/tmux/default.nix
Normal file
58
home/modules/tmux/default.nix
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
tokyo-night = pkgs.tmuxPlugins.mkTmuxPlugin {
|
||||||
|
pluginName = "tokyo-night";
|
||||||
|
rtpFilePath = "tokyo-night.tmux";
|
||||||
|
version = "1.6.1";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "janoamaral";
|
||||||
|
repo = "tokyo-night-tmux";
|
||||||
|
rev = "d610ced20d5f602a7995854931440e4a1e0ab780";
|
||||||
|
sha256 = "sha256-17vEgkL7C51p/l5gpT9dkOy0bY9n8l0/LV51mR1k+V8=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.tmux.enable = true;
|
||||||
|
programs.tmux.escapeTime = 0;
|
||||||
|
programs.tmux.mouse = true;
|
||||||
|
programs.tmux.newSession = true;
|
||||||
|
programs.tmux.historyLimit = 50000;
|
||||||
|
programs.tmux.clock24 = true;
|
||||||
|
programs.tmux.baseIndex = 1;
|
||||||
|
programs.tmux.prefix = "`";
|
||||||
|
|
||||||
|
programs.tmux.extraConfig = ''
|
||||||
|
set -g mouse on
|
||||||
|
set -g default-terminal "screen-256color"
|
||||||
|
|
||||||
|
bind -n S-Left previous-window
|
||||||
|
bind -n S-Right next-window
|
||||||
|
'';
|
||||||
|
|
||||||
|
programs.tmux.plugins = with pkgs; [
|
||||||
|
tmuxPlugins.cpu
|
||||||
|
tmuxPlugins.battery
|
||||||
|
tmuxPlugins.better-mouse-mode
|
||||||
|
tmuxPlugins.net-speed
|
||||||
|
tmuxPlugins.online-status
|
||||||
|
tmuxPlugins.pain-control
|
||||||
|
tmuxPlugins.tilish
|
||||||
|
tmuxPlugins.yank
|
||||||
|
|
||||||
|
{
|
||||||
|
plugin = tmuxPlugins.resurrect;
|
||||||
|
extraConfig = "set -g @resurrect-strategy-nvim 'session'";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
plugin = tmuxPlugins.continuum;
|
||||||
|
extraConfig = ''
|
||||||
|
set -g @continuum-restore 'on'
|
||||||
|
set -g @continuum-save-interval '15' # minutes
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
||||||
|
tokyo-night
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -19,10 +19,6 @@ with lib;
|
|||||||
autologin = true;
|
autologin = true;
|
||||||
wayland = true;
|
wayland = true;
|
||||||
};
|
};
|
||||||
spotifyd = {
|
|
||||||
enable = true;
|
|
||||||
deviceType = "t_v";
|
|
||||||
};
|
|
||||||
users.enable = true;
|
users.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,10 @@
|
|||||||
roles = {
|
roles = {
|
||||||
audio.enable = true;
|
audio.enable = true;
|
||||||
bluetooth.enable = true;
|
bluetooth.enable = true;
|
||||||
desktop.enable = true;
|
desktop = {
|
||||||
|
enable = true;
|
||||||
|
waylandOnly = true;
|
||||||
|
};
|
||||||
nfs-mounts.enable = true;
|
nfs-mounts.enable = true;
|
||||||
printing.enable = true;
|
printing.enable = true;
|
||||||
spotifyd.enable = true;
|
spotifyd.enable = true;
|
||||||
|
|||||||
@@ -29,6 +29,7 @@
|
|||||||
swapDevices =
|
swapDevices =
|
||||||
[ { device = "/dev/disk/by-uuid/ec1f70ea-27b6-4646-ad3b-eac41bd83e3e"; }
|
[ { device = "/dev/disk/by-uuid/ec1f70ea-27b6-4646-ad3b-eac41bd83e3e"; }
|
||||||
];
|
];
|
||||||
|
zramSwap.enable = true;
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|||||||
@@ -29,9 +29,14 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
#boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
boot.loader.grub.useOSProber = true;
|
boot.loader.efi.efiSysMountPoint = "/boot";
|
||||||
|
boot.loader.grub = {
|
||||||
|
enable = true;
|
||||||
|
useOSProber = true;
|
||||||
|
devices = [ "nodev" ];
|
||||||
|
};
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "z790prors-nix"; # Define your hostname.
|
hostName = "z790prors-nix"; # Define your hostname.
|
||||||
@@ -50,6 +55,9 @@
|
|||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
time.timeZone = "America/Los_Angeles";
|
||||||
|
time.hardwareClockInLocalTime = true;
|
||||||
|
|
||||||
# TODO: Figure out something with this
|
# TODO: Figure out something with this
|
||||||
nix.settings.secret-key-files = /root/cache-priv-key.pem;
|
nix.settings.secret-key-files = /root/cache-priv-key.pem;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, modulesPath, ... }:
|
{ config, lib, modulesPath, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
@@ -15,6 +15,7 @@
|
|||||||
"nvidia_uvm"
|
"nvidia_uvm"
|
||||||
"nvidia_drm"
|
"nvidia_drm"
|
||||||
];
|
];
|
||||||
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
"nvidia_drm.fbdev=1"
|
"nvidia_drm.fbdev=1"
|
||||||
"nvidia_drm.modeset=1"
|
"nvidia_drm.modeset=1"
|
||||||
@@ -32,7 +33,7 @@
|
|||||||
powerManagement.finegrained = false;
|
powerManagement.finegrained = false;
|
||||||
open = false;
|
open = false;
|
||||||
nvidiaSettings = true;
|
nvidiaSettings = true;
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.production;
|
package = config.boot.kernelPackages.nvidiaPackages.latest;
|
||||||
#package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
|
#package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
|
||||||
#version = "555.58";
|
#version = "555.58";
|
||||||
|
|
||||||
@@ -57,9 +58,16 @@
|
|||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/arch" =
|
fileSystems."/steam" =
|
||||||
{ device = "/dev/disk/by-label/endeavouros";
|
{ device = "/dev/disk/by-uuid/E494DA9A94DA6E94";
|
||||||
fsType = "btrfs";
|
fsType = "ntfs";
|
||||||
|
options = [
|
||||||
|
"nofail"
|
||||||
|
"rw"
|
||||||
|
"user"
|
||||||
|
"exec" # This needs to go after "user". See https://askubuntu.com/questions/30243/why-does-ubuntu-refuse-to-execute-files-from-an-ntfs-partition
|
||||||
|
"umask=000"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
nextcloudTalkDesktop = pkgs.callPackage ./nextcloud-talk-desktop {};
|
nextcloudTalkDesktop = pkgs.callPackage ./nextcloud-talk-desktop {};
|
||||||
|
vulkanHDRLayer = pkgs.callPackage ./vulkan-hdr-layer {};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,39 +1,40 @@
|
|||||||
{ lib
|
{
|
||||||
, stdenv
|
lib,
|
||||||
, fetchzip
|
stdenv,
|
||||||
, autoPatchelfHook
|
fetchzip,
|
||||||
|
autoPatchelfHook,
|
||||||
, nss
|
nss,
|
||||||
, cairo
|
cairo,
|
||||||
, xorg
|
xorg,
|
||||||
, libxkbcommon
|
libxkbcommon,
|
||||||
, alsa-lib
|
alsa-lib,
|
||||||
, at-spi2-core
|
at-spi2-core,
|
||||||
, mesa
|
mesa,
|
||||||
, pango
|
pango,
|
||||||
, libdrm
|
libdrm,
|
||||||
, vivaldi-ffmpeg-codecs
|
vivaldi-ffmpeg-codecs,
|
||||||
, gtk3
|
gtk3,
|
||||||
, libGL
|
libGL,
|
||||||
, libglvnd
|
libglvnd,
|
||||||
, systemd
|
systemd,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: rec {
|
||||||
pname = "nextcloud-talk-desktop";
|
pname = "nextcloud-talk-desktop";
|
||||||
version = "0.29.0";
|
version = "0.39.0";
|
||||||
|
|
||||||
# Building from source would require building also building Server and Talk components
|
# Building from source would require building also building Server and Talk components
|
||||||
# See https://github.com/nextcloud/talk-desktop?tab=readme-ov-file#%EF%B8%8F-prerequisites
|
# See https://github.com/nextcloud/talk-desktop?tab=readme-ov-file#%EF%B8%8F-prerequisites
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://github.com/nextcloud-releases/talk-desktop/releases/download/v${finalAttrs.version}/Nextcloud.Talk-linux-x64-${finalAttrs.version}.zip";
|
url = "https://github.com/nextcloud-releases/talk-desktop/releases/download/v${finalAttrs.version}/Nextcloud.Talk-linux-x64-${finalAttrs.version}.zip";
|
||||||
hash = "sha256-fBIeNv8tfrVTFExLQDBPhIazvbsJ7a76+W9G0cuQDlw=";
|
hash = "sha256-f8X6I2Je9wgstMTuYGaX7AXAqpZC92RUAltDVsHr9Vo=";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoPatchelfHook ];
|
nativeBuildInputs = [ autoPatchelfHook ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs =
|
||||||
|
[
|
||||||
nss
|
nss
|
||||||
cairo
|
cairo
|
||||||
alsa-lib
|
alsa-lib
|
||||||
@@ -46,7 +47,15 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
mesa
|
mesa
|
||||||
libGL
|
libGL
|
||||||
libglvnd
|
libglvnd
|
||||||
] ++ (with xorg; [libX11 libXcomposite libXdamage libXrandr libXfixes libXcursor]);
|
]
|
||||||
|
++ (with xorg; [
|
||||||
|
libX11
|
||||||
|
libXcomposite
|
||||||
|
libXdamage
|
||||||
|
libXrandr
|
||||||
|
libXfixes
|
||||||
|
libXcursor
|
||||||
|
]);
|
||||||
|
|
||||||
# Required to launch the application and proceed past the zygote_linux fork() process
|
# Required to launch the application and proceed past the zygote_linux fork() process
|
||||||
# Fixes `Zygote could not fork`
|
# Fixes `Zygote could not fork`
|
||||||
@@ -55,25 +64,23 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
preInstall = ''
|
preInstall = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
mkdir -p $out/opt
|
mkdir -p $out/opt
|
||||||
|
|
||||||
cp -r $src/* $out/opt/
|
cp -r $src/* $out/opt/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
# Link the application in $out/bin away from contents of `preInstall`
|
# Link the application in $out/bin away from contents of `preInstall`
|
||||||
ln -s "$out/opt/Nextcloud Talk-linux-x64/Nextcloud Talk" $out/bin/${finalAttrs.pname}
|
ln -s "$out/opt/Nextcloud Talk" $out/bin/nextcloud-talk-desktop
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Nextcloud Talk Desktop Client Preview";
|
description = "Nextcloud Talk Desktop Client";
|
||||||
homepage = "https://github.com/nextcloud/talk-desktop";
|
homepage = "https://github.com/nextcloud/talk-desktop";
|
||||||
changelog = "https://github.com/nextcloud/talk-desktop/blob/${finalAttrs.version}/CHANGELOG.md";
|
changelog = "https://github.com/nextcloud/talk-desktop/blob/${finalAttrs.version}/CHANGELOG.md";
|
||||||
license = licenses.agpl3Only;
|
license = licenses.agpl3Only;
|
||||||
maintainers = with maintainers; [ kashw2 ];
|
maintainers = with maintainers; [ kashw2 ];
|
||||||
mainProgram = finalAttrs.pname;
|
mainProgram = "nextcloud-talk-desktop";
|
||||||
|
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|||||||
34
packages/vulkan-hdr-layer/default.nix
Normal file
34
packages/vulkan-hdr-layer/default.nix
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
{ lib, stdenv, fetchFromGitHub, meson, pkg-config, vulkan-loader, ninja, writeText, vulkan-headers, vulkan-utility-libraries, jq, libX11, libXrandr, libxcb, wayland, wayland-scanner }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "vulkan-hdr-layer";
|
||||||
|
version = "63d2eec";
|
||||||
|
|
||||||
|
src = (fetchFromGitHub {
|
||||||
|
owner = "Zamundaaa";
|
||||||
|
repo = "VK_hdr_layer";
|
||||||
|
rev = "869199cd2746e7f69cf19955153080842b6dacfc";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
hash = "sha256-xfVYI+Aajmnf3BTaY2Ysg5fyDO6SwDFGyU0L+F+E3is=";
|
||||||
|
}).overrideAttrs (_: {
|
||||||
|
GIT_CONFIG_COUNT = 1;
|
||||||
|
GIT_CONFIG_KEY_0 = "url.https://github.com/.insteadOf";
|
||||||
|
GIT_CONFIG_VALUE_0 = "git@github.com:";
|
||||||
|
});
|
||||||
|
|
||||||
|
nativeBuildInputs = [ vulkan-headers meson ninja pkg-config jq ];
|
||||||
|
|
||||||
|
buildInputs = [ vulkan-headers vulkan-loader vulkan-utility-libraries libX11 libXrandr libxcb wayland wayland-scanner ];
|
||||||
|
|
||||||
|
# Help vulkan-loader find the validation layers
|
||||||
|
setupHook = writeText "setup-hook" ''
|
||||||
|
addToSearchPath XDG_DATA_DIRS @out@/share
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Layers providing Vulkan HDR";
|
||||||
|
homepage = "https://github.com/Zamundaaa/VK_hdr_layer";
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.mit;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -13,19 +13,22 @@ in
|
|||||||
config = mkIf cfg.enable
|
config = mkIf cfg.enable
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
alsa-utils
|
|
||||||
paprefs
|
paprefs
|
||||||
pavucontrol
|
pavucontrol
|
||||||
pulsemixer
|
pulsemixer
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.pulseaudio.enable = true;
|
services.pipewire = {
|
||||||
hardware.pulseaudio.package = pkgs.pulseaudioFull;
|
enable = true;
|
||||||
hardware.pulseaudio.support32Bit = true;
|
pulse.enable = true;
|
||||||
hardware.pulseaudio.extraConfig = "
|
};
|
||||||
|
services.pulseaudio = {
|
||||||
|
package = pkgs.pulseaudioFull;
|
||||||
|
extraConfig = ''
|
||||||
load-module module-combine-sink
|
load-module module-combine-sink
|
||||||
load-module module-switch-on-connect
|
load-module module-switch-on-connect
|
||||||
";
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,16 +31,26 @@ with lib;
|
|||||||
};
|
};
|
||||||
time.timeZone = "America/Los_Angeles";
|
time.timeZone = "America/Los_Angeles";
|
||||||
|
|
||||||
|
# Don't go to emergency mode if we aren't able to mount filesystems.
|
||||||
|
# This is silly if you have multiple hard drives or partitions
|
||||||
|
# configured on a machine and then one goes away intentionally or
|
||||||
|
# unintentionally. If the system is already booting, let it continue
|
||||||
|
# to try and boot.
|
||||||
|
systemd.enableEmergencyMode = false;
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
# Enable the OpenSSH daemon.
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
|
||||||
git
|
git
|
||||||
|
pciutils
|
||||||
|
tree
|
||||||
|
usbutils
|
||||||
|
vim
|
||||||
];
|
];
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
package = pkgs.nixFlakes;
|
package = pkgs.nix;
|
||||||
distributedBuilds = true;
|
distributedBuilds = true;
|
||||||
buildMachines = [{
|
buildMachines = [{
|
||||||
hostName = "z790prors.oglehome";
|
hostName = "z790prors.oglehome";
|
||||||
@@ -56,7 +66,6 @@ with lib;
|
|||||||
max-jobs = "auto";
|
max-jobs = "auto";
|
||||||
trusted-users = [ "johno" ];
|
trusted-users = [ "johno" ];
|
||||||
substituters = [
|
substituters = [
|
||||||
"https://hyprland.cachix.org"
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -5,14 +5,20 @@ with lib;
|
|||||||
let
|
let
|
||||||
cfg = config.roles.desktop;
|
cfg = config.roles.desktop;
|
||||||
|
|
||||||
|
customPackages = pkgs.callPackage ../../packages {};
|
||||||
|
|
||||||
basePackages = with pkgs; [
|
basePackages = with pkgs; [
|
||||||
|
bambu-studio
|
||||||
|
blender
|
||||||
brightnessctl
|
brightnessctl
|
||||||
|
ghostty
|
||||||
mangohud # Should probably get refactored with steam/gamescope out to a gaming role
|
mangohud # Should probably get refactored with steam/gamescope out to a gaming role
|
||||||
polonium # auto tiling kwin addon
|
protonup-qt
|
||||||
|
|
||||||
|
#customPackages.vulkanHDRLayer
|
||||||
];
|
];
|
||||||
|
|
||||||
x11BasePackages = with pkgs; [
|
x11BasePackages = with pkgs; [
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
x11OnlyPackages = with pkgs; [
|
x11OnlyPackages = with pkgs; [
|
||||||
@@ -37,6 +43,10 @@ in
|
|||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
};
|
};
|
||||||
|
waylandOnly = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable
|
config = mkIf cfg.enable
|
||||||
@@ -105,6 +115,9 @@ in
|
|||||||
gamescopeSession = {
|
gamescopeSession = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
extraCompatPackages = with pkgs; [
|
||||||
|
proton-ge-bin
|
||||||
|
];
|
||||||
#package = pkgs.steam.override {
|
#package = pkgs.steam.override {
|
||||||
#withJava = true;
|
#withJava = true;
|
||||||
#withPrimus = true;
|
#withPrimus = true;
|
||||||
@@ -113,7 +126,7 @@ in
|
|||||||
};
|
};
|
||||||
services.sunshine = {
|
services.sunshine = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autoStart = true;
|
autoStart = false;
|
||||||
capSysAdmin = true;
|
capSysAdmin = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
@@ -123,11 +136,10 @@ in
|
|||||||
|
|
||||||
environment.systemPackages = with pkgs; mkMerge [
|
environment.systemPackages = with pkgs; mkMerge [
|
||||||
basePackages
|
basePackages
|
||||||
x11BasePackages
|
(mkIf (!cfg.waylandOnly) x11BasePackages)
|
||||||
(mkIf cfg.x11Only x11OnlyPackages)
|
(mkIf cfg.x11Only x11OnlyPackages)
|
||||||
# TODO: Do we need a "wayland only" mode?
|
|
||||||
(mkIf (!cfg.x11Only) waylandBasePackages)
|
(mkIf (!cfg.x11Only) waylandBasePackages)
|
||||||
(mkIf (!cfg.x11Only) waylandOnlyPackages)
|
(mkIf (cfg.waylandOnly) waylandOnlyPackages)
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -38,18 +38,7 @@ in
|
|||||||
(mkIf cfg.wayland {
|
(mkIf cfg.wayland {
|
||||||
cage = mkIf cfg.wayland {
|
cage = mkIf cfg.wayland {
|
||||||
user = "kodi";
|
user = "kodi";
|
||||||
#program = "gamescope -f --hdr-enabled ${kodiPkg}/bin/kodi-standalone";
|
program = "${kodiPkg}/bin/kodi-standalone";
|
||||||
program =
|
|
||||||
let
|
|
||||||
kodiGamescope = pkgs.writeShellApplication {
|
|
||||||
name = "kodi-gamescope";
|
|
||||||
runtimeInputs = [ kodiPkg pkgs.gamescope ];
|
|
||||||
text = ''
|
|
||||||
${pkgs.gamescope}/bin/gamescope --hdr-enabled -f -- ${kodiPkg}/bin/kodi-standalone
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
in
|
|
||||||
"${lib.getExe kodiGamescope}";
|
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
xserver = {
|
xserver = {
|
||||||
|
|||||||
@@ -8,38 +8,29 @@ in
|
|||||||
{
|
{
|
||||||
options.roles.spotifyd = {
|
options.roles.spotifyd = {
|
||||||
enable = mkEnableOption "Enable the spotifyd role";
|
enable = mkEnableOption "Enable the spotifyd role";
|
||||||
deviceType = mkOption {
|
|
||||||
default = "computer";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable
|
config = mkIf cfg.enable
|
||||||
{
|
{
|
||||||
roles.audio.enable = true;
|
roles.audio.enable = true;
|
||||||
hardware.pulseaudio.enable = true;
|
|
||||||
hardware.pulseaudio.extraConfig = ''
|
|
||||||
unload-module module-native-protocol-unix
|
|
||||||
load-module module-native-protocol-unix auth-anonymous=1
|
|
||||||
'';
|
|
||||||
hardware.pulseaudio.systemWide = true;
|
|
||||||
|
|
||||||
services.spotifyd = {
|
services.spotifyd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
global = {
|
global = {
|
||||||
use_mpris = false;
|
use_mpris = false;
|
||||||
backend = "pulseaudio";
|
backend = "alsa";
|
||||||
|
device = "sysdefault";
|
||||||
bitrate = 320;
|
bitrate = 320;
|
||||||
cache_path = "";
|
cache_path = "";
|
||||||
zeroconf_port = 5354;
|
zeroconf_port = 1234;
|
||||||
autoplay = false;
|
autoplay = false;
|
||||||
device_type = cfg.deviceType;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [
|
networking.firewall.allowedTCPPorts = [
|
||||||
5354
|
1234
|
||||||
57621
|
57621
|
||||||
];
|
];
|
||||||
networking.firewall.allowedUDPPorts = [
|
networking.firewall.allowedUDPPorts = [
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ in
|
|||||||
users.users.johno = {
|
users.users.johno = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "John Ogle";
|
description = "John Ogle";
|
||||||
extraGroups = [ "wheel" "networkmanager" "audio" ] ++ cfg.extraGroups;
|
extraGroups = [ "wheel" "networkmanager" "audio" "video" ] ++ cfg.extraGroups;
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.eli = mkIf cfg.kids {
|
users.users.eli = mkIf cfg.kids {
|
||||||
|
|||||||
Reference in New Issue
Block a user