Formatting with alejandra
This commit is contained in:
parent
4bb96c16be
commit
d331343012
60 changed files with 1061 additions and 907 deletions
205
flake.nix
205
flake.nix
|
@ -69,31 +69,37 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, sops, ha-now-playing, pamedia, ... }@inputs:
|
outputs = {
|
||||||
with inputs;
|
self,
|
||||||
let
|
sops,
|
||||||
|
ha-now-playing,
|
||||||
|
pamedia,
|
||||||
|
...
|
||||||
|
} @ inputs:
|
||||||
|
with inputs; let
|
||||||
defSystem = system: baseConfig:
|
defSystem = system: baseConfig:
|
||||||
nixpkgs.lib.nixosSystem {
|
nixpkgs.lib.nixosSystem {
|
||||||
system = "${system}";
|
system = "${system}";
|
||||||
modules = [
|
modules = [
|
||||||
{ _module.args.inputs = inputs; }
|
{_module.args.inputs = inputs;}
|
||||||
{ _module.args.self-overlay = self.overlay; }
|
{_module.args.self-overlay = self.overlay;}
|
||||||
({ ... }: {
|
({...}: {
|
||||||
imports = builtins.attrValues self.nixosModules ++ [
|
imports =
|
||||||
{
|
builtins.attrValues self.nixosModules
|
||||||
nix.nixPath = [ "nixpkgs=${nixpkgs}" ];
|
++ [
|
||||||
nixpkgs.overlays = [
|
{
|
||||||
self.overlay
|
nix.nixPath = ["nixpkgs=${nixpkgs}"];
|
||||||
ha-now-playing.overlays.${system}
|
nixpkgs.overlays = [
|
||||||
pamedia.overlays.${system}
|
self.overlay
|
||||||
];
|
ha-now-playing.overlays.${system}
|
||||||
}
|
pamedia.overlays.${system}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
baseConfig
|
baseConfig
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{ home-manager.useUserPackages = true; }
|
{home-manager.useUserPackages = true;}
|
||||||
];
|
];
|
||||||
|
|
||||||
system.configurationRevision = nixpkgs.lib.mkIf (self ? rev) self.rev;
|
system.configurationRevision = nixpkgs.lib.mkIf (self ? rev) self.rev;
|
||||||
nix.registry.nixpkgs.flake = nixpkgs;
|
nix.registry.nixpkgs.flake = nixpkgs;
|
||||||
|
@ -107,23 +113,25 @@
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
format = "lxc";
|
format = "lxc";
|
||||||
modules = [
|
modules = [
|
||||||
{ _module.args.inputs = inputs; }
|
{_module.args.inputs = inputs;}
|
||||||
{ _module.args.self-overlay = self.overlay; }
|
{_module.args.self-overlay = self.overlay;}
|
||||||
({ ... }: {
|
({...}: {
|
||||||
imports = builtins.attrValues self.nixosModules ++ [
|
imports =
|
||||||
{
|
builtins.attrValues self.nixosModules
|
||||||
nix.nixPath = [ "nixpkgs=${nixpkgs}" ];
|
++ [
|
||||||
nixpkgs.overlays = [
|
{
|
||||||
self.overlay
|
nix.nixPath = ["nixpkgs=${nixpkgs}"];
|
||||||
ha-now-playing.overlays.${system}
|
nixpkgs.overlays = [
|
||||||
pamedia.overlays.${system}
|
self.overlay
|
||||||
];
|
ha-now-playing.overlays.${system}
|
||||||
}
|
pamedia.overlays.${system}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
baseConfig
|
baseConfig
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{ home-manager.useUserPackages = true; }
|
{home-manager.useUserPackages = true;}
|
||||||
];
|
];
|
||||||
|
|
||||||
system.configurationRevision = nixpkgs.lib.mkIf (self ? rev) self.rev;
|
system.configurationRevision = nixpkgs.lib.mkIf (self ? rev) self.rev;
|
||||||
nix.registry.nixpkgs.flake = nixpkgs;
|
nix.registry.nixpkgs.flake = nixpkgs;
|
||||||
|
@ -131,72 +139,71 @@
|
||||||
sops.nixosModules.sops
|
sops.nixosModules.sops
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
overlay = import ./overlays;
|
overlay = import ./overlays;
|
||||||
# overlay = final: prev: {
|
# overlay = final: prev: {
|
||||||
# unstable = import nixpkgs {
|
# unstable = import nixpkgs {
|
||||||
# system = "x86_64-linux";
|
# system = "x86_64-linux";
|
||||||
# config.allowUnfree = true;
|
# config.allowUnfree = true;
|
||||||
# };
|
# };
|
||||||
# };
|
# };
|
||||||
|
|
||||||
nixosModules = builtins.listToAttrs (map
|
nixosModules = builtins.listToAttrs (map
|
||||||
(x: {
|
(x: {
|
||||||
name = x;
|
name = x;
|
||||||
value = import (./modules + "/${x}");
|
value = import (./modules + "/${x}");
|
||||||
})
|
})
|
||||||
(builtins.attrNames (builtins.readDir ./modules)));
|
(builtins.attrNames (builtins.readDir ./modules)));
|
||||||
|
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
vm1 = defSystem "x86_64-linux" {
|
vm1 = defSystem "x86_64-linux" {
|
||||||
imports = [
|
imports = [
|
||||||
(import (./machines/vm1/configuration.nix) { inherit self; })
|
(import ./machines/vm1/configuration.nix {inherit self;})
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
vm2 = defSystem "x86_64-linux" {
|
vm2 = defSystem "x86_64-linux" {
|
||||||
imports = [
|
imports = [
|
||||||
(import (./machines/vm2/configuration.nix) { inherit self; })
|
(import ./machines/vm2/configuration.nix {inherit self;})
|
||||||
];
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
loki = defSystem "x86_64-linux" {
|
||||||
|
imports = [
|
||||||
|
(import ./machines/loki/configuration.nix {inherit self;})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
drone = defSystem "x86_64-linux" {
|
||||||
|
imports = [
|
||||||
|
(import ./machines/drone/configuration.nix {inherit self;})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
proxy = defSystem "x86_64-linux" {
|
||||||
|
imports = [
|
||||||
|
(import ./machines/proxy/configuration.nix {inherit self;})
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
loki = defSystem "x86_64-linux" {
|
nixosContainers = {
|
||||||
imports = [
|
drone = defContainer "x86_64-linux" {
|
||||||
(import (./machines/loki/configuration.nix) { inherit self; })
|
imports = [
|
||||||
];
|
(import ./machines/drone/configuration.nix {inherit self;})
|
||||||
};
|
];
|
||||||
|
};
|
||||||
|
|
||||||
drone = defSystem "x86_64-linux" {
|
proxy = defContainer "x86_64-linux" {
|
||||||
imports = [
|
imports = [
|
||||||
(import (./machines/drone/configuration.nix) { inherit self; })
|
(import ./machines/proxy/configuration.nix {inherit self;})
|
||||||
];
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
}
|
||||||
proxy = defSystem "x86_64-linux" {
|
// (flake-utils.lib.eachSystem ["aarch64-linux" "x86_64-linux"])
|
||||||
imports = [
|
(
|
||||||
(import (./machines/proxy/configuration.nix) { inherit self; })
|
system: let
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nixosContainers = {
|
|
||||||
drone = defContainer "x86_64-linux" {
|
|
||||||
imports = [
|
|
||||||
(import (./machines/drone/configuration.nix) { inherit self; })
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
proxy = defContainer "x86_64-linux" {
|
|
||||||
imports = [
|
|
||||||
(import (./machines/proxy/configuration.nix) { inherit self; })
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
} //
|
|
||||||
(flake-utils.lib.eachSystem [ "aarch64-linux" "x86_64-linux" ])
|
|
||||||
(system:
|
|
||||||
let
|
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
overlays = [
|
overlays = [
|
||||||
|
@ -209,8 +216,7 @@
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in rec {
|
||||||
rec {
|
|
||||||
packages = flake-utils.lib.flattenTree {
|
packages = flake-utils.lib.flattenTree {
|
||||||
rofi-wayland = pkgs.rofi-wayland;
|
rofi-wayland = pkgs.rofi-wayland;
|
||||||
nix-plugins = pkgs.nix-plugins;
|
nix-plugins = pkgs.nix-plugins;
|
||||||
|
@ -218,15 +224,16 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
apps = {
|
apps = {
|
||||||
rofi-wayland = flake-utils.lib.mkApp { drv = packages.rofi-wayland; };
|
rofi-wayland = flake-utils.lib.mkApp {drv = packages.rofi-wayland;};
|
||||||
nix-plugins = flake-utils.lib.mkApp { drv = packages.nix-plugins; };
|
nix-plugins = flake-utils.lib.mkApp {drv = packages.nix-plugins;};
|
||||||
backscrub = flake-utils.lib.mkApp { drv = packages.backscrub; };
|
backscrub = flake-utils.lib.mkApp {drv = packages.backscrub;};
|
||||||
};
|
};
|
||||||
|
|
||||||
devShell = with pkgs; mkShell {
|
devShell = with pkgs;
|
||||||
nativeBuildInputs = [ sops ssh-to-pgp ];
|
mkShell {
|
||||||
packages = [ sops ];
|
nativeBuildInputs = [sops ssh-to-pgp];
|
||||||
};
|
packages = [sops];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +1,25 @@
|
||||||
{ lib, pkgs, config, ... }:
|
{
|
||||||
with lib;
|
lib,
|
||||||
let
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
cfg = config.eboskma.programs.alacritty;
|
cfg = config.eboskma.programs.alacritty;
|
||||||
importYAML = name: yamlFile: (lib.importJSON ((pkgs.runCommandNoCC name { } ''
|
importYAML = name: yamlFile: (lib.importJSON ((pkgs.runCommandNoCC name {} ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
${pkgs.yaml2json}/bin/yaml2json < ${yamlFile} | ${pkgs.jq}/bin/jq -a '.' > $out/tmp.json
|
${pkgs.yaml2json}/bin/yaml2json < ${yamlFile} | ${pkgs.jq}/bin/jq -a '.' > $out/tmp.json
|
||||||
'').outPath + "/tmp.json"));
|
'')
|
||||||
|
.outPath
|
||||||
|
+ "/tmp.json"));
|
||||||
theme = importYAML "theme" (builtins.fetchurl {
|
theme = importYAML "theme" (builtins.fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/dracula/alacritty/05faff15c0158712be87d200081633d9f4850a7d/dracula.yml";
|
url = "https://raw.githubusercontent.com/dracula/alacritty/05faff15c0158712be87d200081633d9f4850a7d/dracula.yml";
|
||||||
sha256 = "1366rvvni2shbqlcrbypjv4f7p7ccdr6bvr685jnj8ipwqjjb6rn";
|
sha256 = "1366rvvni2shbqlcrbypjv4f7p7ccdr6bvr685jnj8ipwqjjb6rn";
|
||||||
});
|
});
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options.eboskma.programs.alacritty.enable = mkEnableOption "Enable alacritty";
|
options.eboskma.programs.alacritty.enable = mkEnableOption "Enable alacritty";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
programs.alacritty = {
|
programs.alacritty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
@ -99,7 +103,6 @@ in
|
||||||
mouse = {
|
mouse = {
|
||||||
hide_when_typing = true;
|
hide_when_typing = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let cfg = config.eboskma.programs.bat;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.programs.bat;
|
||||||
|
in {
|
||||||
options.eboskma.programs.bat = {
|
options.eboskma.programs.bat = {
|
||||||
enable = mkEnableOption "enable bat";
|
enable = mkEnableOption "enable bat";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
{ lib, pkgs, config, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.programs.dropbox;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
options.eboskma.programs.dropbox = { enable = mkEnableOption "activate dropbox"; };
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.programs.dropbox;
|
||||||
|
in {
|
||||||
|
options.eboskma.programs.dropbox = {enable = mkEnableOption "activate dropbox";};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
services.dropbox.enable = true;
|
services.dropbox.enable = true;
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.programs.dunst;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.programs.dunst;
|
||||||
|
in {
|
||||||
options.eboskma.programs.dunst = {
|
options.eboskma.programs.dunst = {
|
||||||
enable = mkEnableOption "activate dunst";
|
enable = mkEnableOption "activate dunst";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.programs.electron;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.programs.electron;
|
||||||
|
in {
|
||||||
options.eboskma.programs.electron = {
|
options.eboskma.programs.electron = {
|
||||||
enable = mkEnableOption "activate electron settings";
|
enable = mkEnableOption "activate electron settings";
|
||||||
wayland = mkEnableOption "set Wayland compatibility settings";
|
wayland = mkEnableOption "set Wayland compatibility settings";
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.programs.emacs;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
options.eboskma.programs.emacs = { enable = mkEnableOption "activate emacs"; };
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.programs.emacs;
|
||||||
|
in {
|
||||||
|
options.eboskma.programs.emacs = {enable = mkEnableOption "activate emacs";};
|
||||||
|
|
||||||
# imports = [ inputs.nix-doom-emacs.hmModule ];
|
# imports = [ inputs.nix-doom-emacs.hmModule ];
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
{ pkgs, config, lib, ... }:
|
{
|
||||||
with lib;
|
pkgs,
|
||||||
|
config,
|
||||||
let
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
cfg = config.eboskma.programs.firefox;
|
cfg = config.eboskma.programs.firefox;
|
||||||
|
|
||||||
profileSettings = {
|
profileSettings = {
|
||||||
|
@ -19,9 +22,23 @@ let
|
||||||
};
|
};
|
||||||
|
|
||||||
nonDefaultDesktop = pkgs.makeDesktopItem {
|
nonDefaultDesktop = pkgs.makeDesktopItem {
|
||||||
name = "firefox-" + (if cfg.work then "private" else "horus");
|
name =
|
||||||
desktopName = "Firefox (" + (if cfg.work then "Private" else "Horus") + ")";
|
"firefox-"
|
||||||
exec = "firefox -P " + (if cfg.work then "private" else "horus") + " %u";
|
+ (if cfg.work
|
||||||
|
then "private"
|
||||||
|
else "horus");
|
||||||
|
desktopName =
|
||||||
|
"Firefox ("
|
||||||
|
+ (if cfg.work
|
||||||
|
then "Private"
|
||||||
|
else "Horus")
|
||||||
|
+ ")";
|
||||||
|
exec =
|
||||||
|
"firefox -P "
|
||||||
|
+ (if cfg.work
|
||||||
|
then "private"
|
||||||
|
else "horus")
|
||||||
|
+ " %u";
|
||||||
icon = "firefox";
|
icon = "firefox";
|
||||||
categories = "GNOME;GTK;Network;WebBrowser";
|
categories = "GNOME;GTK;Network;WebBrowser";
|
||||||
mimeType = "text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;";
|
mimeType = "text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;";
|
||||||
|
@ -30,8 +47,7 @@ let
|
||||||
"X-MultipleArgs" = "false";
|
"X-MultipleArgs" = "false";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options.eboskma.programs.firefox = {
|
options.eboskma.programs.firefox = {
|
||||||
enable = mkEnableOption "enable firefox";
|
enable = mkEnableOption "enable firefox";
|
||||||
work = mkOption {
|
work = mkOption {
|
||||||
|
@ -61,6 +77,6 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = [ nonDefaultDesktop ];
|
home.packages = [nonDefaultDesktop];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let cfg = config.eboskma.programs.fish;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.programs.fish;
|
||||||
|
in {
|
||||||
options.eboskma.programs.fish = {
|
options.eboskma.programs.fish = {
|
||||||
enable = mkEnableOption "Enable fish shell";
|
enable = mkEnableOption "Enable fish shell";
|
||||||
};
|
};
|
||||||
|
@ -11,7 +14,7 @@ in
|
||||||
config = mkIf (cfg.enable) {
|
config = mkIf (cfg.enable) {
|
||||||
programs.fish = {
|
programs.fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
functions = (import ./functions.nix { inherit (pkgs) git; });
|
functions = import ./functions.nix {inherit (pkgs) git;};
|
||||||
|
|
||||||
plugins = [
|
plugins = [
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ git }:
|
{git}: {
|
||||||
{
|
|
||||||
reload = {
|
reload = {
|
||||||
body = ''
|
body = ''
|
||||||
history --save
|
history --save
|
||||||
|
@ -28,7 +27,7 @@
|
||||||
for f in $files
|
for f in $files
|
||||||
set file (realpath $repo_path/$f)
|
set file (realpath $repo_path/$f)
|
||||||
echo "Processing $file"
|
echo "Processing $file"
|
||||||
|
|
||||||
set ext (string match -r ".*\.([^\.]+)\$" $file)[2]
|
set ext (string match -r ".*\.([^\.]+)\$" $file)[2]
|
||||||
|
|
||||||
if contains $ext $source_exts
|
if contains $ext $source_exts
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ lib, pkgs, config, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.programs.foot;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.programs.foot;
|
||||||
|
in {
|
||||||
options.eboskma.programs.foot = {
|
options.eboskma.programs.foot = {
|
||||||
enable = mkEnableOption "activate foot";
|
enable = mkEnableOption "activate foot";
|
||||||
server = mkEnableOption "enable foot server";
|
server = mkEnableOption "enable foot server";
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let cfg = config.eboskma.programs.git;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.programs.git;
|
||||||
|
in {
|
||||||
options.eboskma.programs.git = {
|
options.eboskma.programs.git = {
|
||||||
enable = mkEnableOption "enable git";
|
enable = mkEnableOption "enable git";
|
||||||
|
|
||||||
|
@ -59,7 +63,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
credential.helper = "${pkgs.git.override { withLibsecret = true; }}/bin/git-credential-libsecret";
|
credential.helper = "${pkgs.git.override {withLibsecret = true;}}/bin/git-credential-libsecret";
|
||||||
init = {
|
init = {
|
||||||
defaultBranch = "main";
|
defaultBranch = "main";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let cfg = config.eboskma.programs.gpg;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.programs.gpg;
|
||||||
|
in {
|
||||||
options.eboskma.programs.gpg = {
|
options.eboskma.programs.gpg = {
|
||||||
enable = mkEnableOption "enable gpg";
|
enable = mkEnableOption "enable gpg";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
{ lib, pkgs, config, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.programs.neovim;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
options.eboskma.programs.neovim = { enable = mkEnableOption "activate neovim"; };
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.programs.neovim;
|
||||||
|
in {
|
||||||
|
options.eboskma.programs.neovim = {enable = mkEnableOption "activate neovim";};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
# unfortunately this does properly support a Lua based config
|
# unfortunately this does properly support a Lua based config
|
||||||
|
@ -25,7 +28,7 @@ in
|
||||||
# '';
|
# '';
|
||||||
# };
|
# };
|
||||||
|
|
||||||
home.packages = with pkgs; [ neovim ];
|
home.packages = with pkgs; [neovim];
|
||||||
|
|
||||||
xdg.configFile.nvim = {
|
xdg.configFile.nvim = {
|
||||||
source = ./config;
|
source = ./config;
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
{ lib, pkgs, config, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.programs.obs-studio;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
options.eboskma.programs.obs-studio = { enable = mkEnableOption "activate obs-studio"; };
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.programs.obs-studio;
|
||||||
|
in {
|
||||||
|
options.eboskma.programs.obs-studio = {enable = mkEnableOption "activate obs-studio";};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.obs-studio = {
|
programs.obs-studio = {
|
||||||
|
|
|
@ -1,13 +1,15 @@
|
||||||
{ lib, pkgs, config, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.programs.rofi;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.programs.rofi;
|
||||||
|
in {
|
||||||
options.eboskma.programs.rofi.enable = mkEnableOption "Enable rofi";
|
options.eboskma.programs.rofi.enable = mkEnableOption "Enable rofi";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.rofi-wayland;
|
package = pkgs.rofi-wayland;
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.programs.solvespace;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
options.eboskma.programs.solvespace = { enable = mkEnableOption "activate solvespace"; };
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.programs.solvespace;
|
||||||
|
in {
|
||||||
|
options.eboskma.programs.solvespace = {enable = mkEnableOption "activate solvespace";};
|
||||||
|
|
||||||
config = mkIf (cfg.enable) {
|
config = mkIf (cfg.enable) {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.programs.ssh;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
options.eboskma.programs.ssh = { enable = mkEnableOption "activate ssh"; };
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.programs.ssh;
|
||||||
|
in {
|
||||||
|
options.eboskma.programs.ssh = {enable = mkEnableOption "activate ssh";};
|
||||||
|
|
||||||
config = mkIf (cfg.enable) {
|
config = mkIf (cfg.enable) {
|
||||||
programs.ssh = {
|
programs.ssh = {
|
||||||
|
|
|
@ -1,13 +1,16 @@
|
||||||
{ lib, pkgs, config, ... }:
|
{
|
||||||
with lib;
|
lib,
|
||||||
let
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
cfg = config.eboskma.programs.sway;
|
cfg = config.eboskma.programs.sway;
|
||||||
mod = "Mod4";
|
mod = "Mod4";
|
||||||
swaylockcmd = "${pkgs.swaylock-effects}/bin/swaylock --ignore-empty-password --daemonize --show-failed-attempts --indicator-caps-lock --clock --image ~/.wallpapers/river-2560.png --fade-in 0.5 --scaling fill";
|
swaylockcmd = "${pkgs.swaylock-effects}/bin/swaylock --ignore-empty-password --daemonize --show-failed-attempts --indicator-caps-lock --clock --image ~/.wallpapers/river-2560.png --fade-in 0.5 --scaling fill";
|
||||||
# swaylockcmd = "${pkgs.swaylock}/bin/swaylock --ignore-empty-password --daemonize --show-failed-attempts --indicator-caps-lock --image ~/.wallpapers/river-2560.png --scaling fill";
|
# swaylockcmd = "${pkgs.swaylock}/bin/swaylock --ignore-empty-password --daemonize --show-failed-attempts --indicator-caps-lock --image ~/.wallpapers/river-2560.png --scaling fill";
|
||||||
rofiPower = pkgs.writeShellScriptBin "rofi-power" (builtins.readFile ./powermenu.sh);
|
rofiPower = pkgs.writeShellScriptBin "rofi-power" (builtins.readFile ./powermenu.sh);
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options.eboskma.programs.sway.enable = mkEnableOption "Enable sway";
|
options.eboskma.programs.sway.enable = mkEnableOption "Enable sway";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
@ -17,10 +20,10 @@ in
|
||||||
modifier = mod;
|
modifier = mod;
|
||||||
|
|
||||||
assigns = {
|
assigns = {
|
||||||
"1" = [{ app_id = "firefox"; }];
|
"1" = [{app_id = "firefox";}];
|
||||||
"2" = [{ app_id = "Alacritty"; } { app_id = "foot"; }];
|
"2" = [{app_id = "Alacritty";} {app_id = "foot";}];
|
||||||
"3" = [{ class = "Code"; }];
|
"3" = [{class = "Code";}];
|
||||||
"10" = [{ class = "telegramdesktop"; } { app_id = "Signal"; }];
|
"10" = [{class = "telegramdesktop";} {app_id = "Signal";}];
|
||||||
};
|
};
|
||||||
bars = [
|
bars = [
|
||||||
{
|
{
|
||||||
|
@ -76,12 +79,12 @@ in
|
||||||
right = "o";
|
right = "o";
|
||||||
|
|
||||||
floating = {
|
floating = {
|
||||||
criteria = [{ app_id = "gnome-calculator"; }];
|
criteria = [{app_id = "gnome-calculator";}];
|
||||||
modifier = mod;
|
modifier = mod;
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
names = [ "Iosevka Nerd Font" ];
|
names = ["Iosevka Nerd Font"];
|
||||||
style = "Regular";
|
style = "Regular";
|
||||||
size = 12.0;
|
size = 12.0;
|
||||||
};
|
};
|
||||||
|
@ -166,26 +169,16 @@ in
|
||||||
"${mod}+9" = "workspace number 9";
|
"${mod}+9" = "workspace number 9";
|
||||||
"${mod}+0" = "workspace number 10";
|
"${mod}+0" = "workspace number 10";
|
||||||
|
|
||||||
"${mod}+Shift+1" =
|
"${mod}+Shift+1" = "move container to workspace number 1";
|
||||||
"move container to workspace number 1";
|
"${mod}+Shift+2" = "move container to workspace number 2";
|
||||||
"${mod}+Shift+2" =
|
"${mod}+Shift+3" = "move container to workspace number 3";
|
||||||
"move container to workspace number 2";
|
"${mod}+Shift+4" = "move container to workspace number 4";
|
||||||
"${mod}+Shift+3" =
|
"${mod}+Shift+5" = "move container to workspace number 5";
|
||||||
"move container to workspace number 3";
|
"${mod}+Shift+6" = "move container to workspace number 6";
|
||||||
"${mod}+Shift+4" =
|
"${mod}+Shift+7" = "move container to workspace number 7";
|
||||||
"move container to workspace number 4";
|
"${mod}+Shift+8" = "move container to workspace number 8";
|
||||||
"${mod}+Shift+5" =
|
"${mod}+Shift+9" = "move container to workspace number 9";
|
||||||
"move container to workspace number 5";
|
"${mod}+Shift+0" = "move container to workspace number 10";
|
||||||
"${mod}+Shift+6" =
|
|
||||||
"move container to workspace number 6";
|
|
||||||
"${mod}+Shift+7" =
|
|
||||||
"move container to workspace number 7";
|
|
||||||
"${mod}+Shift+8" =
|
|
||||||
"move container to workspace number 8";
|
|
||||||
"${mod}+Shift+9" =
|
|
||||||
"move container to workspace number 9";
|
|
||||||
"${mod}+Shift+0" =
|
|
||||||
"move container to workspace number 10";
|
|
||||||
|
|
||||||
"${mod}+Shift+minus" = "move scratchpad";
|
"${mod}+Shift+minus" = "move scratchpad";
|
||||||
"${mod}+minus" = "scratchpad show";
|
"${mod}+minus" = "scratchpad show";
|
||||||
|
@ -222,7 +215,6 @@ in
|
||||||
hide_cursor = "when-typing enable";
|
hide_cursor = "when-typing enable";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
assign [app_id="firefox"] 1
|
assign [app_id="firefox"] 1
|
||||||
|
@ -237,7 +229,7 @@ in
|
||||||
for_window [shell="xwayland"] title_format "%title [XWayland]"
|
for_window [shell="xwayland"] title_format "%title [XWayland]"
|
||||||
|
|
||||||
exec --no-startup-id ${pkgs.networkmanagerapplet}/bin/nm-applet --indicator
|
exec --no-startup-id ${pkgs.networkmanagerapplet}/bin/nm-applet --indicator
|
||||||
|
|
||||||
include /etc/sway/config.d/*
|
include /etc/sway/config.d/*
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -282,11 +274,20 @@ in
|
||||||
swayidle = {
|
swayidle = {
|
||||||
enable = true;
|
enable = true;
|
||||||
events = [
|
events = [
|
||||||
{ event = "after-resume"; command = "${pkgs.sway}/bin/swaymsg 'output * dpms on'"; }
|
{
|
||||||
|
event = "after-resume";
|
||||||
|
command = "${pkgs.sway}/bin/swaymsg 'output * dpms on'";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
timeouts = [
|
timeouts = [
|
||||||
{ timeout = 900; command = swaylockcmd; }
|
{
|
||||||
{ timeout = 1200; command = "${pkgs.sway}/bin/swaymsg 'output * dpms off'"; }
|
timeout = 900;
|
||||||
|
command = swaylockcmd;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = 1200;
|
||||||
|
command = "${pkgs.sway}/bin/swaymsg 'output * dpms off'";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -294,7 +295,7 @@ in
|
||||||
systemd.user.targets.tray = {
|
systemd.user.targets.tray = {
|
||||||
Unit = {
|
Unit = {
|
||||||
Description = "Home Manager System Tray";
|
Description = "Home Manager System Tray";
|
||||||
Requires = [ "graphical-session-pre.target" ];
|
Requires = ["graphical-session-pre.target"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let cfg = config.eboskma.programs.tmux;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.programs.tmux;
|
||||||
|
in {
|
||||||
options.eboskma.programs.tmux = {
|
options.eboskma.programs.tmux = {
|
||||||
enable = mkEnableOption "enable tmux";
|
enable = mkEnableOption "enable tmux";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,62 +1,65 @@
|
||||||
{ lib, pkgs, config, flake-inputs, ... }:
|
|
||||||
with lib;
|
|
||||||
let cfg = config.eboskma.programs.vscode;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
flake-inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.programs.vscode;
|
||||||
|
in {
|
||||||
options.eboskma.programs.vscode.enable = mkEnableOption "enable vscode";
|
options.eboskma.programs.vscode.enable = mkEnableOption "enable vscode";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.vscode;
|
package = pkgs.vscode;
|
||||||
extensions =
|
extensions = with pkgs.vscode-extensions; [
|
||||||
(with pkgs.vscode-extensions; [
|
arrterian.nix-env-selector
|
||||||
arrterian.nix-env-selector
|
bbenoist.nix
|
||||||
bbenoist.nix
|
# brettm12345.nixfmt-vscode
|
||||||
# brettm12345.nixfmt-vscode
|
# aaronduino.nix-lsp
|
||||||
# aaronduino.nix-lsp
|
# aliariff.auto-add-brackets
|
||||||
# aliariff.auto-add-brackets
|
bradlc.vscode-tailwindcss
|
||||||
bradlc.vscode-tailwindcss
|
# bungcip.better-toml
|
||||||
# bungcip.better-toml
|
coolbear.systemd-unit-file
|
||||||
coolbear.systemd-unit-file
|
# dawhite.mustache
|
||||||
# dawhite.mustache
|
dbaeumer.vscode-eslint
|
||||||
dbaeumer.vscode-eslint
|
denoland.vscode-deno
|
||||||
denoland.vscode-deno
|
# dlasagno.rasi
|
||||||
# dlasagno.rasi
|
# dprint.dprint
|
||||||
# dprint.dprint
|
editorconfig.editorconfig
|
||||||
editorconfig.editorconfig
|
esbenp.prettier-vscode
|
||||||
esbenp.prettier-vscode
|
# EugenWiens.bitbake
|
||||||
# EugenWiens.bitbake
|
elixir-lsp.vscode-elixir-ls # this is the one by Jake Becker, not the deprecated one
|
||||||
elixir-lsp.vscode-elixir-ls # this is the one by Jake Becker, not the deprecated one
|
# kumar-harsh.graphql-for-vscode
|
||||||
# kumar-harsh.graphql-for-vscode
|
matklad.rust-analyzer
|
||||||
matklad.rust-analyzer
|
# monokai.theme-monokai-pro-vscode
|
||||||
# monokai.theme-monokai-pro-vscode
|
ms-azuretools.vscode-docker
|
||||||
ms-azuretools.vscode-docker
|
ms-python.python
|
||||||
ms-python.python
|
ms-python.vscode-pylance
|
||||||
ms-python.vscode-pylance
|
ms-toolsai.jupyter
|
||||||
ms-toolsai.jupyter
|
# ms-toolsai.jupyter-keymap
|
||||||
# ms-toolsai.jupyter-keymap
|
# ms-toolsai.jupyter-renderers
|
||||||
# ms-toolsai.jupyter-renderers
|
# ms-vscode-remote.remote-containers
|
||||||
# ms-vscode-remote.remote-containers
|
ms-vscode-remote.remote-ssh
|
||||||
ms-vscode-remote.remote-ssh
|
# ms-vscode-remote.remote-ssh-edit
|
||||||
# ms-vscode-remote.remote-ssh-edit
|
# ms-vscode.cmake-tools
|
||||||
# ms-vscode.cmake-tools
|
ms-vscode.cpptools
|
||||||
ms-vscode.cpptools
|
# msaraiva.surface
|
||||||
# msaraiva.surface
|
# pgourlain.erlang
|
||||||
# pgourlain.erlang
|
# phoenixframework.phoenix
|
||||||
# phoenixframework.phoenix
|
rubymaniac.vscode-paste-and-indent
|
||||||
rubymaniac.vscode-paste-and-indent
|
# surajbarkale.ninja
|
||||||
# surajbarkale.ninja
|
timonwong.shellcheck
|
||||||
timonwong.shellcheck
|
# twxs.cmake
|
||||||
# twxs.cmake
|
vadimcn.vscode-lldb
|
||||||
vadimcn.vscode-lldb
|
# vscode-icons-team.vscode-icons
|
||||||
# vscode-icons-team.vscode-icons
|
vscodevim.vim
|
||||||
vscodevim.vim
|
wholroyd.jinja
|
||||||
wholroyd.jinja
|
xaver.clang-format
|
||||||
xaver.clang-format
|
zxh404.vscode-proto3
|
||||||
zxh404.vscode-proto3
|
];
|
||||||
]);
|
|
||||||
|
|
||||||
keybindings = [
|
keybindings = [
|
||||||
{
|
{
|
||||||
|
@ -73,7 +76,7 @@ in
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
userSettings = (builtins.fromJSON (builtins.readFile ./settings.json));
|
userSettings = builtins.fromJSON (builtins.readFile ./settings.json);
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ lib, pkgs, config, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.programs.waybar;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.programs.waybar;
|
||||||
|
in {
|
||||||
options.eboskma.programs.waybar.enable = mkEnableOption "Enable waybar";
|
options.eboskma.programs.waybar.enable = mkEnableOption "Enable waybar";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
@ -137,7 +140,7 @@ in
|
||||||
phone = "";
|
phone = "";
|
||||||
portable = "";
|
portable = "";
|
||||||
car = "";
|
car = "";
|
||||||
default = [ "奄" "奔" "墳" ];
|
default = ["奄" "奔" "墳"];
|
||||||
};
|
};
|
||||||
on-click = "pavucontrol";
|
on-click = "pavucontrol";
|
||||||
};
|
};
|
||||||
|
@ -169,199 +172,196 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
style =
|
style = ''
|
||||||
''
|
@keyframes blink-warning {
|
||||||
@keyframes blink-warning {
|
70% {
|
||||||
70% {
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
to {
|
|
||||||
color: white;
|
|
||||||
background-color: orange;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes blink-critical {
|
|
||||||
70% {
|
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
to {
|
to {
|
||||||
color: white;
|
color: white;
|
||||||
background-color: red;
|
background-color: orange;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
* {
|
@keyframes blink-critical {
|
||||||
border: none;
|
70% {
|
||||||
border-radius: 0;
|
|
||||||
min-height: 0;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#waybar {
|
|
||||||
background: #323232;
|
|
||||||
color: white;
|
color: white;
|
||||||
font-family: "MesloLGM Nerd Font", sans-serif;
|
}
|
||||||
font-size: 13px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery,
|
to {
|
||||||
#clock,
|
color: white;
|
||||||
#cpu,
|
background-color: red;
|
||||||
#custom-keyboard-layout,
|
}
|
||||||
#memory,
|
}
|
||||||
#mode,
|
|
||||||
#network,
|
|
||||||
#pulseaudio,
|
|
||||||
#temperature,
|
|
||||||
#tray,
|
|
||||||
#custom-now_playing,
|
|
||||||
#idle_inhibitor {
|
|
||||||
padding-left: 10px;
|
|
||||||
padding-right: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery {
|
* {
|
||||||
animation-timing-function: linear;
|
border: none;
|
||||||
animation-iteration-count: infinite;
|
border-radius: 0;
|
||||||
animation-direction: alternate;
|
min-height: 0;
|
||||||
}
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
#battery.warning {
|
#waybar {
|
||||||
color: orange;
|
background: #323232;
|
||||||
}
|
color: white;
|
||||||
|
font-family: "MesloLGM Nerd Font", sans-serif;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
#battery.critical {
|
#battery,
|
||||||
color: red;
|
#clock,
|
||||||
}
|
#cpu,
|
||||||
|
#custom-keyboard-layout,
|
||||||
|
#memory,
|
||||||
|
#mode,
|
||||||
|
#network,
|
||||||
|
#pulseaudio,
|
||||||
|
#temperature,
|
||||||
|
#tray,
|
||||||
|
#custom-now_playing,
|
||||||
|
#idle_inhibitor {
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
#battery.warning.discharging {
|
#battery {
|
||||||
animation-name: blink-warning;
|
animation-timing-function: linear;
|
||||||
animation-duration: 3s;
|
animation-iteration-count: infinite;
|
||||||
}
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
#battery.critical.discharging {
|
#battery.warning {
|
||||||
animation-name: blink-critical;
|
color: orange;
|
||||||
animation-duration: 2s;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
#clock {
|
#battery.critical {
|
||||||
font-weight: bold;
|
color: red;
|
||||||
}
|
}
|
||||||
|
|
||||||
#cpu {
|
#battery.warning.discharging {
|
||||||
|
animation-name: blink-warning;
|
||||||
|
animation-duration: 3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical.discharging {
|
||||||
|
animation-name: blink-critical;
|
||||||
|
animation-duration: 2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu {
|
||||||
|
/* No styles */
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu.warning {
|
||||||
|
color: orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu.critical {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory {
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory.warning {
|
||||||
|
color: orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory.critical {
|
||||||
|
color: red;
|
||||||
|
animation-name: blink-critical;
|
||||||
|
animation-duration: 2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mode {
|
||||||
|
background: #64727D;
|
||||||
|
border-top: 2px solid white;
|
||||||
|
/* To compensate for the top border and still have vertical centering */
|
||||||
|
padding-bottom: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network {
|
||||||
/* No styles */
|
/* No styles */
|
||||||
}
|
}
|
||||||
|
|
||||||
#cpu.warning {
|
#network.disconnected {
|
||||||
color: orange;
|
color: orange;
|
||||||
}
|
}
|
||||||
|
|
||||||
#cpu.critical {
|
#pulseaudio {
|
||||||
color: red;
|
/* No styles */
|
||||||
}
|
}
|
||||||
|
|
||||||
#memory {
|
#pulseaudio.muted {
|
||||||
animation-timing-function: linear;
|
/* No styles */
|
||||||
animation-iteration-count: infinite;
|
}
|
||||||
animation-direction: alternate;
|
|
||||||
}
|
|
||||||
|
|
||||||
#memory.warning {
|
#custom-spotify {
|
||||||
color: orange;
|
color: rgb(102, 220, 105);
|
||||||
}
|
}
|
||||||
|
|
||||||
#memory.critical {
|
#temperature {
|
||||||
color: red;
|
/* No styles */
|
||||||
animation-name: blink-critical;
|
}
|
||||||
animation-duration: 2s;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mode {
|
#temperature.critical {
|
||||||
background: #64727D;
|
color: red;
|
||||||
border-top: 2px solid white;
|
}
|
||||||
/* To compensate for the top border and still have vertical centering */
|
|
||||||
padding-bottom: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#network {
|
#tray {
|
||||||
/* No styles */
|
/* No styles */
|
||||||
}
|
}
|
||||||
|
|
||||||
#network.disconnected {
|
#window {
|
||||||
color: orange;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pulseaudio {
|
|
||||||
/* No styles */
|
|
||||||
}
|
|
||||||
|
|
||||||
#pulseaudio.muted {
|
|
||||||
/* No styles */
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-spotify {
|
|
||||||
color: rgb(102, 220, 105);
|
|
||||||
}
|
|
||||||
|
|
||||||
#temperature {
|
|
||||||
/* No styles */
|
|
||||||
}
|
|
||||||
|
|
||||||
#temperature.critical {
|
|
||||||
color: red;
|
|
||||||
}
|
|
||||||
|
|
||||||
#tray {
|
|
||||||
/* No styles */
|
|
||||||
}
|
|
||||||
|
|
||||||
#window {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
border-top: 2px solid transparent;
|
|
||||||
/* To compensate for the top border and still have vertical centering */
|
|
||||||
padding-bottom: 2px;
|
|
||||||
padding-left: 10px;
|
|
||||||
padding-right: 10px;
|
|
||||||
color: #888888;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.focused {
|
|
||||||
border-color: #4c7899;
|
|
||||||
color: white;
|
|
||||||
background-color: #285577;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.urgent {
|
|
||||||
border-color: #c9545d;
|
|
||||||
color: #c9545d;
|
|
||||||
}
|
|
||||||
|
|
||||||
#idle_inhibitor {
|
|
||||||
background-color: transparent;
|
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
#idle_inhibitor.activated {
|
#workspaces button {
|
||||||
background-color: #c9545d;
|
border-top: 2px solid transparent;
|
||||||
color: #ffffff;
|
/* To compensate for the top border and still have vertical centering */
|
||||||
}
|
padding-bottom: 2px;
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
color: #888888;
|
||||||
|
}
|
||||||
|
|
||||||
#custom-now_playing {
|
#workspaces button.focused {
|
||||||
font-weight: bold;
|
border-color: #4c7899;
|
||||||
}
|
color: white;
|
||||||
'';
|
background-color: #285577;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
border-color: #c9545d;
|
||||||
|
color: #c9545d;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor {
|
||||||
|
background-color: transparent;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor.activated {
|
||||||
|
background-color: #c9545d;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-now_playing {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,19 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.programs.zathura;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
options.eboskma.programs.zathura = { enable = mkEnableOption "activate zathura"; };
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.programs.zathura;
|
||||||
|
in {
|
||||||
|
options.eboskma.programs.zathura = {enable = mkEnableOption "activate zathura";};
|
||||||
|
|
||||||
config = mkIf (cfg.enable) {
|
config = mkIf (cfg.enable) {
|
||||||
programs.zathura = {
|
programs.zathura = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
extraConfig = (builtins.readFile ./theme);
|
extraConfig = builtins.readFile ./theme;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
14
krops.nix
14
krops.nix
|
@ -4,11 +4,13 @@ let
|
||||||
};
|
};
|
||||||
|
|
||||||
lib = import "${krops}/lib";
|
lib = import "${krops}/lib";
|
||||||
pkgs = import "${krops}/pkgs" { };
|
pkgs = import "${krops}/pkgs" {};
|
||||||
source = name:
|
source = name:
|
||||||
lib.evalSource [{
|
lib.evalSource [
|
||||||
machine-config.file = toString ./.;
|
{
|
||||||
}];
|
machine-config.file = toString ./.;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
command = targetPath: ''
|
command = targetPath: ''
|
||||||
nix-shell -p git --run '
|
nix-shell -p git --run '
|
||||||
|
@ -23,9 +25,7 @@ let
|
||||||
source = source name;
|
source = source name;
|
||||||
target = target;
|
target = target;
|
||||||
};
|
};
|
||||||
|
in rec {
|
||||||
in
|
|
||||||
rec {
|
|
||||||
# Deployments
|
# Deployments
|
||||||
|
|
||||||
# Run with:
|
# Run with:
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ self, ... }:
|
{self, ...}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../users/root
|
../../users/root
|
||||||
|
@ -24,15 +23,17 @@
|
||||||
|
|
||||||
interfaces = {
|
interfaces = {
|
||||||
eth0 = {
|
eth0 = {
|
||||||
ipv4.addresses = [{
|
ipv4.addresses = [
|
||||||
address = "10.0.0.202";
|
{
|
||||||
prefixLength = 24;
|
address = "10.0.0.202";
|
||||||
}];
|
prefixLength = 24;
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
defaultGateway = "10.0.0.1";
|
defaultGateway = "10.0.0.1";
|
||||||
nameservers = [ "10.0.0.254" ];
|
nameservers = ["10.0.0.254"];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.noXlibs = true;
|
environment.noXlibs = true;
|
||||||
|
@ -41,8 +42,8 @@
|
||||||
|
|
||||||
sops.defaultSopsFile = ./secrets.yaml;
|
sops.defaultSopsFile = ./secrets.yaml;
|
||||||
sops.secrets = {
|
sops.secrets = {
|
||||||
drone = { };
|
drone = {};
|
||||||
drone-runner = { };
|
drone-runner = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
system.stateVersion = "21.11";
|
system.stateVersion = "21.11";
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
(modulesPath + "/virtualisation/lxc-container.nix")
|
(modulesPath + "/virtualisation/lxc-container.nix")
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ self, ... }:
|
{self, ...}: {
|
||||||
{
|
imports = [./hardware-configuration.nix ../../users/erwin ../../users/root];
|
||||||
imports = [ ./hardware-configuration.nix ../../users/erwin ../../users/root ];
|
|
||||||
|
|
||||||
eboskma = {
|
eboskma = {
|
||||||
# backscrub.enable = true;
|
# backscrub.enable = true;
|
||||||
|
@ -29,9 +28,9 @@
|
||||||
};
|
};
|
||||||
networking = {
|
networking = {
|
||||||
enable = true;
|
enable = true;
|
||||||
dhcpInterfaces = [ "enp4s0" ];
|
dhcpInterfaces = ["enp4s0"];
|
||||||
hosts = {
|
hosts = {
|
||||||
"10.0.0.252" = [ "pve.datarift.nl" ];
|
"10.0.0.252" = ["pve.datarift.nl"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
nix-common = {
|
nix-common = {
|
||||||
|
|
|
@ -1,39 +1,38 @@
|
||||||
# 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, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[
|
lib,
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
pkgs,
|
||||||
];
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-amd" "apple-mfi-fastcharge" ];
|
boot.kernelModules = ["kvm-amd" "apple-mfi-fastcharge"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{
|
device = "/dev/disk/by-uuid/42065c7e-d0aa-4de8-a913-014cf59d48ac";
|
||||||
device = "/dev/disk/by-uuid/42065c7e-d0aa-4de8-a913-014cf59d48ac";
|
fsType = "ext4";
|
||||||
fsType = "ext4";
|
};
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{
|
device = "/dev/disk/by-uuid/4064-A1BE";
|
||||||
device = "/dev/disk/by-uuid/4064-A1BE";
|
fsType = "vfat";
|
||||||
fsType = "vfat";
|
};
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/home" =
|
fileSystems."/home" = {
|
||||||
{
|
device = "/dev/disk/by-uuid/36d7ee19-f591-4c29-b7da-cafd9bf2c7f6";
|
||||||
device = "/dev/disk/by-uuid/36d7ee19-f591-4c29-b7da-cafd9bf2c7f6";
|
fsType = "ext4";
|
||||||
fsType = "ext4";
|
};
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [{device = "/dev/disk/by-uuid/d93788f7-1b94-4687-8313-055d17f42b7e";}];
|
||||||
[{ device = "/dev/disk/by-uuid/d93788f7-1b94-4687-8313-055d17f42b7e"; }];
|
|
||||||
|
|
||||||
# high-resolution display
|
# high-resolution display
|
||||||
hardware.video.hidpi.enable = lib.mkDefault true;
|
hardware.video.hidpi.enable = lib.mkDefault true;
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ self, ... }:
|
{self, ...}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../users/root
|
../../users/root
|
||||||
|
@ -24,15 +23,17 @@
|
||||||
|
|
||||||
interfaces = {
|
interfaces = {
|
||||||
eth0 = {
|
eth0 = {
|
||||||
ipv4.addresses = [{
|
ipv4.addresses = [
|
||||||
address = "10.0.0.251";
|
{
|
||||||
prefixLength = 24;
|
address = "10.0.0.251";
|
||||||
}];
|
prefixLength = 24;
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
defaultGateway = "10.0.0.1";
|
defaultGateway = "10.0.0.1";
|
||||||
nameservers = [ "10.0.0.254" ];
|
nameservers = ["10.0.0.254"];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.noXlibs = true;
|
environment.noXlibs = true;
|
||||||
|
@ -40,7 +41,7 @@
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
|
||||||
sops.defaultSopsFile = ./secrets.yaml;
|
sops.defaultSopsFile = ./secrets.yaml;
|
||||||
sops.secrets = { };
|
sops.secrets = {};
|
||||||
|
|
||||||
system.stateVersion = "21.11";
|
system.stateVersion = "21.11";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
(modulesPath + "/virtualisation/lxc-container.nix")
|
(modulesPath + "/virtualisation/lxc-container.nix")
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ self, ... }:
|
{self, ...}: {
|
||||||
{
|
imports = [./hardware-configuration.nix];
|
||||||
imports = [ ./hardware-configuration.nix ];
|
|
||||||
|
|
||||||
eboskma = {
|
eboskma = {
|
||||||
desktop = {
|
desktop = {
|
||||||
|
|
|
@ -1,32 +1,31 @@
|
||||||
# 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, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[
|
lib,
|
||||||
(modulesPath + "/profiles/qemu-guest.nix")
|
pkgs,
|
||||||
];
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
|
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ ];
|
boot.kernelModules = [];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{
|
device = "/dev/disk/by-label/nixos";
|
||||||
device = "/dev/disk/by-label/nixos";
|
fsType = "ext4";
|
||||||
fsType = "ext4";
|
};
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{
|
device = "/dev/disk/by-label/boot";
|
||||||
device = "/dev/disk/by-label/boot";
|
fsType = "vfat";
|
||||||
fsType = "vfat";
|
};
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices =
|
|
||||||
[{ device = "/dev/disk/by-label/swap"; }];
|
|
||||||
|
|
||||||
|
swapDevices = [{device = "/dev/disk/by-label/swap";}];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ self, ... }:
|
{self, ...}: {
|
||||||
{
|
imports = [./hardware-configuration.nix];
|
||||||
imports = [ ./hardware-configuration.nix ];
|
|
||||||
|
|
||||||
eboskma = {
|
eboskma = {
|
||||||
base = {
|
base = {
|
||||||
|
|
|
@ -1,32 +1,31 @@
|
||||||
# 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, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[
|
lib,
|
||||||
(modulesPath + "/profiles/qemu-guest.nix")
|
pkgs,
|
||||||
];
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
|
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk"];
|
||||||
boot.initrd.kernelModules = [ "kvm-amd" ];
|
boot.initrd.kernelModules = ["kvm-amd"];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = ["kvm-amd"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{
|
device = "/dev/disk/by-label/nixos";
|
||||||
device = "/dev/disk/by-label/nixos";
|
fsType = "ext4";
|
||||||
fsType = "ext4";
|
};
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{
|
device = "/dev/disk/by-label/boot";
|
||||||
device = "/dev/disk/by-label/boot";
|
fsType = "vfat";
|
||||||
fsType = "vfat";
|
};
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices =
|
|
||||||
[{ device = "/dev/disk/by-label/swap"; }];
|
|
||||||
|
|
||||||
|
swapDevices = [{device = "/dev/disk/by-label/swap";}];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,18 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.backscrub;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.backscrub;
|
||||||
|
in {
|
||||||
options.eboskma.backscrub = {
|
options.eboskma.backscrub = {
|
||||||
enable = mkEnableOption "enable v4l2loopback kernel module";
|
enable = mkEnableOption "enable v4l2loopback kernel module";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf (cfg.enable) {
|
config = mkIf (cfg.enable) {
|
||||||
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
|
boot.extraModulePackages = [config.boot.kernelPackages.v4l2loopback];
|
||||||
# Register a v4l2loopback device at boot
|
# Register a v4l2loopback device at boot
|
||||||
boot.kernelModules = [
|
boot.kernelModules = [
|
||||||
"v4l2loopback"
|
"v4l2loopback"
|
||||||
|
@ -22,6 +25,6 @@ in
|
||||||
options v4l2loopback card_label="VirtualCam"
|
options v4l2loopback card_label="VirtualCam"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ backscrub ];
|
environment.systemPackages = with pkgs; [backscrub];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.base;
|
|
||||||
qmkUdevRules = (builtins.readFile ./qmk.rules);
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.base;
|
||||||
|
qmkUdevRules = builtins.readFile ./qmk.rules;
|
||||||
|
in {
|
||||||
options.eboskma.base = {
|
options.eboskma.base = {
|
||||||
kernel = mkOption {
|
kernel = mkOption {
|
||||||
description = "which kernel to run";
|
description = "which kernel to run";
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.bluetooth;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.bluetooth;
|
||||||
|
in {
|
||||||
options.eboskma.bluetooth = {
|
options.eboskma.bluetooth = {
|
||||||
enable = mkEnableOption "activate bluetooth";
|
enable = mkEnableOption "activate bluetooth";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,10 +1,15 @@
|
||||||
{ lib, pkgs, config, inputs, self-overlay, ... }:
|
{
|
||||||
with lib;
|
lib,
|
||||||
let
|
pkgs,
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
self-overlay,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
cfg = config.eboskma.desktop;
|
cfg = config.eboskma.desktop;
|
||||||
bt = config.eboskma.bluetooth;
|
bt = config.eboskma.bluetooth;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
# imports = [ ../../users/erwin.nix ../../users/root.nix ];
|
# imports = [ ../../users/erwin.nix ../../users/root.nix ];
|
||||||
|
|
||||||
options.eboskma.desktop = {
|
options.eboskma.desktop = {
|
||||||
|
@ -38,7 +43,7 @@ in
|
||||||
EDITOR = "${pkgs.neovim}/bin/nvim";
|
EDITOR = "${pkgs.neovim}/bin/nvim";
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs.config = { allowUnfree = true; };
|
nixpkgs.config = {allowUnfree = true;};
|
||||||
|
|
||||||
home.stateVersion = "21.11";
|
home.stateVersion = "21.11";
|
||||||
|
|
||||||
|
@ -79,38 +84,39 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs;
|
||||||
bandwhich
|
[
|
||||||
bitwarden
|
bandwhich
|
||||||
bottom
|
bitwarden
|
||||||
# inputs.cq-flake.packages.${pkgs.system}.cq-editor
|
bottom
|
||||||
fd
|
# inputs.cq-flake.packages.${pkgs.system}.cq-editor
|
||||||
ffmpeg
|
fd
|
||||||
ffmpeg.bin
|
ffmpeg
|
||||||
git
|
ffmpeg.bin
|
||||||
gnome.nautilus
|
git
|
||||||
imagemagick
|
gnome.nautilus
|
||||||
imv
|
imagemagick
|
||||||
iotop
|
imv
|
||||||
(jetbrains.clion.override { jdk = pkgs.jetbrains.jdk; })
|
iotop
|
||||||
mpv
|
(jetbrains.clion.override {jdk = pkgs.jetbrains.jdk;})
|
||||||
nomachine-client
|
mpv
|
||||||
pamedia
|
nomachine-client
|
||||||
pass
|
pamedia
|
||||||
quintom-cursor-theme
|
pass
|
||||||
procs
|
quintom-cursor-theme
|
||||||
ripgrep
|
procs
|
||||||
signal-desktop
|
ripgrep
|
||||||
steam
|
signal-desktop
|
||||||
steamcmd
|
steam
|
||||||
steam-tui
|
steamcmd
|
||||||
tdesktop
|
steam-tui
|
||||||
unzip
|
tdesktop
|
||||||
xdg-utils
|
unzip
|
||||||
wireshark
|
xdg-utils
|
||||||
wl-clipboard
|
wireshark
|
||||||
] ++
|
wl-clipboard
|
||||||
(with gst_all_1; [ gstreamer gstreamer.dev gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav gst-vaapi ]);
|
]
|
||||||
|
++ (with gst_all_1; [gstreamer gstreamer.dev gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav gst-vaapi]);
|
||||||
|
|
||||||
xdg = {
|
xdg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -147,7 +153,7 @@ in
|
||||||
|
|
||||||
i18n.inputMethod = {
|
i18n.inputMethod = {
|
||||||
enabled = "fcitx5";
|
enabled = "fcitx5";
|
||||||
fcitx5.addons = with pkgs; [ fcitx5-m17n fcitx5-gtk fcitx5-configtool ];
|
fcitx5.addons = with pkgs; [fcitx5-m17n fcitx5-gtk fcitx5-configtool];
|
||||||
};
|
};
|
||||||
|
|
||||||
gtk = {
|
gtk = {
|
||||||
|
@ -236,13 +242,13 @@ in
|
||||||
portal = {
|
portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wlr.enable = true;
|
wlr.enable = true;
|
||||||
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
|
extraPortals = with pkgs; [xdg-desktop-portal-gtk];
|
||||||
gtkUsePortal = true;
|
gtkUsePortal = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
dbus.packages = [ pkgs.gcr ];
|
dbus.packages = [pkgs.gcr];
|
||||||
avahi.publish.workstation = true;
|
avahi.publish.workstation = true;
|
||||||
gvfs.enable = true;
|
gvfs.enable = true;
|
||||||
};
|
};
|
||||||
|
@ -259,7 +265,7 @@ in
|
||||||
updateWtmp = true;
|
updateWtmp = true;
|
||||||
startSession = true;
|
startSession = true;
|
||||||
};
|
};
|
||||||
pki.certificates = [ (builtins.readFile ./horus-ca.pem) ];
|
pki.certificates = [(builtins.readFile ./horus-ca.pem)];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
|
@ -278,6 +284,5 @@ in
|
||||||
environment.etc = {
|
environment.etc = {
|
||||||
"X11/xkb".source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
|
"X11/xkb".source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
{ lib, pkgs, config, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.docker;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
options.eboskma.docker = { enable = mkEnableOption "activate docker"; };
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.docker;
|
||||||
|
in {
|
||||||
|
options.eboskma.docker = {enable = mkEnableOption "activate docker";};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
environment.systemPackages = with pkgs; [docker-compose];
|
||||||
environment.systemPackages = with pkgs; [ docker-compose ];
|
|
||||||
|
|
||||||
virtualisation.docker = {
|
virtualisation.docker = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -19,8 +20,6 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
users.extraUsers.${config.eboskma.var.mainUser}.extraGroups =
|
users.extraUsers.${config.eboskma.var.mainUser}.extraGroups = ["docker"];
|
||||||
[ "docker" ];
|
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.drone;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.drone;
|
||||||
|
in {
|
||||||
options.eboskma.drone = {
|
options.eboskma.drone = {
|
||||||
enable = mkEnableOption "activate drone CI";
|
enable = mkEnableOption "activate drone CI";
|
||||||
};
|
};
|
||||||
|
@ -15,8 +18,8 @@ in
|
||||||
drone = {
|
drone = {
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
image = "drone/drone:2";
|
image = "drone/drone:2";
|
||||||
ports = [ "8100:80" ];
|
ports = ["8100:80"];
|
||||||
volumes = [ "drone_data:/data" ];
|
volumes = ["drone_data:/data"];
|
||||||
environmentFiles = [
|
environmentFiles = [
|
||||||
/var/run/secrets/drone
|
/var/run/secrets/drone
|
||||||
];
|
];
|
||||||
|
@ -25,7 +28,7 @@ in
|
||||||
drone-runner-docker = {
|
drone-runner-docker = {
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
image = "drone/drone-runner-docker:1";
|
image = "drone/drone-runner-docker:1";
|
||||||
ports = [ "3000:3000" ];
|
ports = ["3000:3000"];
|
||||||
volumes = [
|
volumes = [
|
||||||
"/var/run/docker.sock:/var/run/docker.sock"
|
"/var/run/docker.sock:/var/run/docker.sock"
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
{ lib, pkgs, config, ... }:
|
{
|
||||||
with lib;
|
lib,
|
||||||
let
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
cfg = config.eboskma.element-web;
|
cfg = config.eboskma.element-web;
|
||||||
matrixClientConfig = pkgs.writeText "element-web.json" (builtins.readFile ./element-web.json);
|
matrixClientConfig = pkgs.writeText "element-web.json" (builtins.readFile ./element-web.json);
|
||||||
in
|
in {
|
||||||
{
|
options.eboskma.element-web = {enable = mkEnableOption "activate element-web";};
|
||||||
|
|
||||||
options.eboskma.element-web = { enable = mkEnableOption "activate element-web"; };
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
eboskma.docker.enable = true;
|
eboskma.docker.enable = true;
|
||||||
|
|
||||||
virtualisation.oci-containers.containers = {
|
virtualisation.oci-containers.containers = {
|
||||||
|
|
|
@ -1,19 +1,20 @@
|
||||||
{ lib, pkgs, config, ... }:
|
|
||||||
with lib;
|
|
||||||
let cfg = config.eboskma.fonts;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
options.eboskma.fonts = { enable = mkEnableOption "activate fonts"; };
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.fonts;
|
||||||
|
in {
|
||||||
|
options.eboskma.fonts = {enable = mkEnableOption "activate fonts";};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
|
|
||||||
fontDir.enable = true;
|
fontDir.enable = true;
|
||||||
|
|
||||||
fonts = with pkgs; [
|
fonts = with pkgs; [
|
||||||
(nerdfonts.override { fonts = [ "CascadiaCode" "DroidSansMono" "FantasqueSansMono" "FiraCode" "Iosevka" "JetBrainsMono" "Meslo" "Noto" "SourceCodePro" ]; })
|
(nerdfonts.override {fonts = ["CascadiaCode" "DroidSansMono" "FantasqueSansMono" "FiraCode" "Iosevka" "JetBrainsMono" "Meslo" "Noto" "SourceCodePro"];})
|
||||||
dejavu_fonts
|
dejavu_fonts
|
||||||
google-fonts
|
google-fonts
|
||||||
kochi-substitute
|
kochi-substitute
|
||||||
|
@ -26,10 +27,10 @@ in
|
||||||
|
|
||||||
fontconfig = {
|
fontconfig = {
|
||||||
defaultFonts = {
|
defaultFonts = {
|
||||||
serif = [ "Recursive Sans Casual Static Medium" ];
|
serif = ["Recursive Sans Casual Static Medium"];
|
||||||
sansSerif = [ "Recursive Sans Linear Static Medium" ];
|
sansSerif = ["Recursive Sans Linear Static Medium"];
|
||||||
monospace = [ "Iosevka Nerd Font" ];
|
monospace = ["Iosevka Nerd Font"];
|
||||||
emoji = [ "Noto Color Emoji" ];
|
emoji = ["Noto Color Emoji"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let cfg = config.eboskma.gnome;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.gnome;
|
||||||
|
in {
|
||||||
options.eboskma.gnome.enable = mkEnableOption "activate gnome support settings";
|
options.eboskma.gnome.enable = mkEnableOption "activate gnome support settings";
|
||||||
|
|
||||||
config = mkIf (cfg.enable) {
|
config = mkIf (cfg.enable) {
|
||||||
|
|
|
@ -1,65 +1,68 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.greetd;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.greetd;
|
||||||
|
in {
|
||||||
options.eboskma.greetd = {
|
options.eboskma.greetd = {
|
||||||
enable = mkEnableOption "enable greetd";
|
enable = mkEnableOption "enable greetd";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf (cfg.enable)
|
config = mkIf (cfg.enable)
|
||||||
{
|
{
|
||||||
services.greetd = {
|
services.greetd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
restart = true;
|
restart = true;
|
||||||
settings = {
|
settings = {
|
||||||
default_session = {
|
default_session = {
|
||||||
command = "${pkgs.sway}/bin/sway --config /etc/greetd/sway-config";
|
command = "${pkgs.sway}/bin/sway --config /etc/greetd/sway-config";
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
environment.systemPackages = with pkgs; [ greetd.gtkgreet quintom-cursor-theme papirus-icon-theme arc-theme ];
|
};
|
||||||
|
environment.systemPackages = with pkgs; [greetd.gtkgreet quintom-cursor-theme papirus-icon-theme arc-theme];
|
||||||
|
|
||||||
environment.etc = {
|
environment.etc = {
|
||||||
"greetd/sway-config" = {
|
"greetd/sway-config" = {
|
||||||
text = ''
|
text = ''
|
||||||
# `-l` activates layer-shell mode. Notice that `swaymsg exit` will run after gtkgreet.
|
# `-l` activates layer-shell mode. Notice that `swaymsg exit` will run after gtkgreet.
|
||||||
exec "${pkgs.greetd.gtkgreet}/bin/gtkgreet -l; swaymsg exit"
|
exec "${pkgs.greetd.gtkgreet}/bin/gtkgreet -l; swaymsg exit"
|
||||||
bindsym Mod4+shift+e exec swaynag \
|
bindsym Mod4+shift+e exec swaynag \
|
||||||
-t warning \
|
-t warning \
|
||||||
-m 'What do you want to do?' \
|
-m 'What do you want to do?' \
|
||||||
-b 'Poweroff' 'systemctl poweroff' \
|
-b 'Poweroff' 'systemctl poweroff' \
|
||||||
-b 'Reboot' 'systemctl reboot'
|
-b 'Reboot' 'systemctl reboot'
|
||||||
include /etc/sway/config.d/*
|
include /etc/sway/config.d/*
|
||||||
'';
|
'';
|
||||||
user = "greeter";
|
user = "greeter";
|
||||||
group = "greeter";
|
group = "greeter";
|
||||||
};
|
};
|
||||||
"greetd/environments" = {
|
"greetd/environments" = {
|
||||||
text = ''
|
text = ''
|
||||||
${pkgs.sway}/bin/sway
|
${pkgs.sway}/bin/sway
|
||||||
${pkgs.bash}/bin/bash
|
${pkgs.bash}/bin/bash
|
||||||
'';
|
'';
|
||||||
user = "greeter";
|
user = "greeter";
|
||||||
group = "greeter";
|
group = "greeter";
|
||||||
};
|
};
|
||||||
"sway/config.d/systemd-env.conf" = {
|
"sway/config.d/systemd-env.conf" = {
|
||||||
text = ''
|
text = ''
|
||||||
exec_always --no-startup-id systemctl --user import-environment _JAVA_AWT_WM_NONREPARENTING MOZ_ENABLE_WAYLAND MOZ_DBUS_REMOTE QT_QPA_PLATFORM QT_WAYLAND_DISABLE_WINDOWDECORATION QT_QPA_PLATFORMTHEME SDL_VIDEODRIVER SSH_AUTH_SOCK
|
exec_always --no-startup-id systemctl --user import-environment _JAVA_AWT_WM_NONREPARENTING MOZ_ENABLE_WAYLAND MOZ_DBUS_REMOTE QT_QPA_PLATFORM QT_WAYLAND_DISABLE_WINDOWDECORATION QT_QPA_PLATFORMTHEME SDL_VIDEODRIVER SSH_AUTH_SOCK
|
||||||
exec_always --no-startup-id dbus-update-activation-environment --systemd _JAVA_AWT_WM_NONREPARENTING MOZ_ENABLE_WAYLAND MOZ_DBUS_REMOTE QT_QPA_PLATFORM QT_WAYLAND_DISABLE_WINDOWDECORATION QT_QPA_PLATFORMTHEME SDL_VIDEODRIVER SSH_AUTH_SOCK
|
exec_always --no-startup-id dbus-update-activation-environment --systemd _JAVA_AWT_WM_NONREPARENTING MOZ_ENABLE_WAYLAND MOZ_DBUS_REMOTE QT_QPA_PLATFORM QT_WAYLAND_DISABLE_WINDOWDECORATION QT_QPA_PLATFORMTHEME SDL_VIDEODRIVER SSH_AUTH_SOCK
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
"xdg/gtk-3.0/settings.ini" = {
|
"xdg/gtk-3.0/settings.ini" = {
|
||||||
text = generators.toINI { } {
|
text = generators.toINI {} {
|
||||||
Settings = {
|
Settings = {
|
||||||
gtk-theme-name = "Arc-Dark";
|
gtk-theme-name = "Arc-Dark";
|
||||||
gtk-icon-theme-name = "Papirus-Dark";
|
gtk-icon-theme-name = "Papirus-Dark";
|
||||||
gtk-cursor-theme-name = "Quintom_Ink";
|
gtk-cursor-theme-name = "Quintom_Ink";
|
||||||
gtk-application-prefer-dark-theme = "true";
|
gtk-application-prefer-dark-theme = "true";
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.livebook;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.livebook;
|
||||||
|
in {
|
||||||
options.eboskma.livebook = {
|
options.eboskma.livebook = {
|
||||||
enable = mkEnableOption "Start a livebook container";
|
enable = mkEnableOption "Start a livebook container";
|
||||||
dataDir = mkOption {
|
dataDir = mkOption {
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let cfg = config.eboskma.networking;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.networking;
|
||||||
|
in {
|
||||||
options.eboskma.networking = {
|
options.eboskma.networking = {
|
||||||
enable = mkEnableOption "activate networing settings";
|
enable = mkEnableOption "activate networing settings";
|
||||||
|
|
||||||
|
@ -21,31 +25,31 @@ in
|
||||||
networking = {
|
networking = {
|
||||||
networkmanager.enable = true;
|
networkmanager.enable = true;
|
||||||
interfaces = listToAttrs (builtins.map
|
interfaces = listToAttrs (builtins.map
|
||||||
(iface: {
|
(iface: {
|
||||||
name = iface;
|
name = iface;
|
||||||
value = { useDHCP = true; };
|
value = {useDHCP = true;};
|
||||||
})
|
})
|
||||||
cfg.dhcpInterfaces);
|
cfg.dhcpInterfaces);
|
||||||
hosts = cfg.hosts;
|
hosts = cfg.hosts;
|
||||||
|
|
||||||
firewall = {
|
firewall = {
|
||||||
trustedInterfaces = [ "lo" ];
|
trustedInterfaces = ["lo"];
|
||||||
interfaces = listToAttrs (builtins.map
|
interfaces = listToAttrs (builtins.map
|
||||||
(iface: {
|
(iface: {
|
||||||
name = iface;
|
name = iface;
|
||||||
value = {
|
value = {
|
||||||
allowedTCPPorts = [
|
allowedTCPPorts = [
|
||||||
# Horus System V2
|
# Horus System V2
|
||||||
12345
|
12345
|
||||||
5555
|
5555
|
||||||
5556
|
5556
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
cfg.dhcpInterfaces);
|
cfg.dhcpInterfaces);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
users.extraUsers.${config.eboskma.var.mainUser}.extraGroups = [ "networkmanager" ];
|
users.extraUsers.${config.eboskma.var.mainUser}.extraGroups = ["networkmanager"];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
nmap
|
nmap
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.nginx-proxy-manager;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
options.eboskma.nginx-proxy-manager = { enable = mkEnableOption "Nginx Proxy Manager"; };
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.nginx-proxy-manager;
|
||||||
|
in {
|
||||||
|
options.eboskma.nginx-proxy-manager = {enable = mkEnableOption "Nginx Proxy Manager";};
|
||||||
|
|
||||||
config = mkIf (cfg.enable) {
|
config = mkIf (cfg.enable) {
|
||||||
eboskma.docker.enable = true;
|
eboskma.docker.enable = true;
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
{ lib, pkgs, config, ... }:
|
|
||||||
with lib;
|
|
||||||
let cfg = config.eboskma.nix-common;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.nix-common;
|
||||||
|
in {
|
||||||
options.eboskma.nix-common = {
|
options.eboskma.nix-common = {
|
||||||
enable = mkEnableOption "activate nix-common";
|
enable = mkEnableOption "activate nix-common";
|
||||||
disable-cache = mkEnableOption "no not use binary cache";
|
disable-cache = mkEnableOption "no not use binary cache";
|
||||||
|
@ -16,12 +20,12 @@ in
|
||||||
nix = {
|
nix = {
|
||||||
package = pkgs.nixFlakes;
|
package = pkgs.nixFlakes;
|
||||||
extraOptions = ''
|
extraOptions = ''
|
||||||
experimental-features = nix-command flakes
|
experimental-features = nix-command flakes
|
||||||
'';
|
'';
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
allowed-users = [ "root" ];
|
allowed-users = ["root"];
|
||||||
substituters = [
|
substituters = [
|
||||||
"https://nix-community.cachix.org"
|
"https://nix-community.cachix.org"
|
||||||
];
|
];
|
||||||
|
@ -29,7 +33,6 @@ in
|
||||||
trusted-public-keys = [
|
trusted-public-keys = [
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
];
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
gc = {
|
gc = {
|
||||||
|
@ -37,7 +40,6 @@ in
|
||||||
dates = "weekly";
|
dates = "weekly";
|
||||||
options = "--delete-older-than=30d";
|
options = "--delete-older-than=30d";
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ lib, pkgs, config, ... }:
|
|
||||||
with lib;
|
|
||||||
let cfg = config.eboskma.var;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.var;
|
||||||
|
in {
|
||||||
options.eboskma.var.mainUser = lib.mkOption {
|
options.eboskma.var.mainUser = lib.mkOption {
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
default = "erwin";
|
default = "erwin";
|
||||||
|
@ -19,5 +22,4 @@ in
|
||||||
System type
|
System type
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let cfg = config.eboskma.sound;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.sound;
|
||||||
|
in {
|
||||||
options.eboskma.sound.enable = mkEnableOption "activate sound settings";
|
options.eboskma.sound.enable = mkEnableOption "activate sound settings";
|
||||||
|
|
||||||
config = mkIf (cfg.enable) {
|
config = mkIf (cfg.enable) {
|
||||||
|
@ -17,10 +21,10 @@ in
|
||||||
config = {
|
config = {
|
||||||
bluez-monitor.rules = [
|
bluez-monitor.rules = [
|
||||||
{
|
{
|
||||||
matches = [{ "device.name" = "~bluez_card.*"; }];
|
matches = [{"device.name" = "~bluez_card.*";}];
|
||||||
actions = {
|
actions = {
|
||||||
"update-props" = {
|
"update-props" = {
|
||||||
"bluez5.reconnect-profiles" = [ "hfp_hf" "hsp_hs" "a2dp_sink" ];
|
"bluez5.reconnect-profiles" = ["hfp_hf" "hsp_hs" "a2dp_sink"];
|
||||||
"bluez5.msbc-support" = true;
|
"bluez5.msbc-support" = true;
|
||||||
"bluez5.sbc-xq-support" = true;
|
"bluez5.sbc-xq-support" = true;
|
||||||
};
|
};
|
||||||
|
@ -28,8 +32,8 @@ in
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
matches = [
|
matches = [
|
||||||
{ "node.name" = "~bluez_input.*"; }
|
{"node.name" = "~bluez_input.*";}
|
||||||
{ "node.name" = "~bluez_output.*"; }
|
{"node.name" = "~bluez_output.*";}
|
||||||
];
|
];
|
||||||
actions = {
|
actions = {
|
||||||
"node.pause-on-idle" = false;
|
"node.pause-on-idle" = false;
|
||||||
|
@ -43,8 +47,8 @@ in
|
||||||
|
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ pavucontrol ];
|
environment.systemPackages = with pkgs; [pavucontrol];
|
||||||
|
|
||||||
users.extraUsers.${config.eboskma.var.mainUser}.extraGroups = [ "audio" ];
|
users.extraUsers.${config.eboskma.var.mainUser}.extraGroups = ["audio"];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.eboskma.systemd;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.eboskma.systemd;
|
||||||
|
in {
|
||||||
options.eboskma.systemd = {
|
options.eboskma.systemd = {
|
||||||
enable = mkEnableOption "activate systemd settings";
|
enable = mkEnableOption "activate systemd settings";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
final: prev: rec {
|
final: prev: rec {
|
||||||
rofi-wayland = prev.pkgs.callPackage ../pkgs/rofi-wayland { };
|
rofi-wayland = prev.pkgs.callPackage ../pkgs/rofi-wayland {};
|
||||||
nix-plugins = prev.pkgs.callPackage ../pkgs/nix-plugins { };
|
nix-plugins = prev.pkgs.callPackage ../pkgs/nix-plugins {};
|
||||||
lunarvim = prev.pkgs.callPackage ../pkgs/lunarvim { };
|
lunarvim = prev.pkgs.callPackage ../pkgs/lunarvim {};
|
||||||
backscrub = prev.pkgs.callPackage ../pkgs/backscrub
|
backscrub = prev.pkgs.callPackage ../pkgs/backscrub
|
||||||
{
|
{
|
||||||
inherit (prev.pkgs) gcc cmake opencv curl stdenv git tensorflow-lite flatbuffers;
|
inherit (prev.pkgs) gcc cmake opencv curl stdenv git tensorflow-lite flatbuffers;
|
||||||
};
|
};
|
||||||
onnx-runtime = prev.pkgs.callPackage ../pkgs/onnx-runtime { inherit (prev.pkgs) stdenv; };
|
onnx-runtime = prev.pkgs.callPackage ../pkgs/onnx-runtime {inherit (prev.pkgs) stdenv;};
|
||||||
obs-backgroundremoval = prev.pkgs.callPackage ../pkgs/obs-backgroundremoval { inherit (prev.pkgs) stdenv fetchFromGitHub cmake obs-studio opencv onnx-runtime; };
|
obs-backgroundremoval = prev.pkgs.callPackage ../pkgs/obs-backgroundremoval {inherit (prev.pkgs) stdenv fetchFromGitHub cmake obs-studio opencv onnx-runtime;};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,14 @@
|
||||||
{ stdenv, fetchFromGitHub, cmake, opencv, gcc, curl, git, tensorflow-lite, flatbuffers }:
|
{
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
cmake,
|
||||||
|
opencv,
|
||||||
|
gcc,
|
||||||
|
curl,
|
||||||
|
git,
|
||||||
|
tensorflow-lite,
|
||||||
|
flatbuffers,
|
||||||
|
}:
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "backscrub";
|
name = "backscrub";
|
||||||
pname = "backscrub";
|
pname = "backscrub";
|
||||||
|
@ -11,7 +21,7 @@ stdenv.mkDerivation {
|
||||||
sha256 = "14gd77m7dy0wg15y0i8zhki8cm7np2spx7yi162b2xqaav04b1cj";
|
sha256 = "14gd77m7dy0wg15y0i8zhki8cm7np2spx7yi162b2xqaav04b1cj";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ gcc cmake git ];
|
nativeBuildInputs = [gcc cmake git];
|
||||||
buildInputs = [ opencv curl tensorflow-lite flatbuffers ];
|
buildInputs = [opencv curl tensorflow-lite flatbuffers];
|
||||||
patches = [ ./fix-cmake-for-nixos.patch ];
|
patches = [./fix-cmake-for-nixos.patch];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,37 +1,36 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}:
|
||||||
with pkgs;
|
with pkgs; let
|
||||||
let
|
nvim-customized = wrapNeovim neovim-unwrapped {};
|
||||||
nvim-customized = wrapNeovim neovim-unwrapped { };
|
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "lunarvim";
|
pname = "lunarvim";
|
||||||
version = "0.0.1";
|
version = "0.0.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "LunarVim";
|
owner = "LunarVim";
|
||||||
repo = "LunarVim";
|
repo = "LunarVim";
|
||||||
rev = "0e531891b1dfd04fa02a22b48ce075120b512277";
|
rev = "0e531891b1dfd04fa02a22b48ce075120b512277";
|
||||||
sha256 = "0yfr3vh8p1s9wy21s6bgpp6kp6s9pqlb6k66s76sa22vz4sjiyxb";
|
sha256 = "0yfr3vh8p1s9wy21s6bgpp6kp6s9pqlb6k66s76sa22vz4sjiyxb";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper nvim-customized ];
|
nativeBuildInputs = [makeWrapper nvim-customized];
|
||||||
buildInputs = [ nvim-customized ];
|
buildInputs = [nvim-customized];
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
echo "hello"
|
echo "hello"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp -r $(pwd) $out/lvim
|
cp -r $(pwd) $out/lvim
|
||||||
export shim="$out/lvim/utils/bin/lvim"
|
export shim="$out/lvim/utils/bin/lvim"
|
||||||
substituteInPlace "$shim" \
|
substituteInPlace "$shim" \
|
||||||
--replace "exec nvim" "exec ${nvim-customized}/bin/nvim"
|
--replace "exec nvim" "exec ${nvim-customized}/bin/nvim"
|
||||||
chmod +x "$shim"
|
chmod +x "$shim"
|
||||||
makeWrapper "$shim" "$out/bin/lvim" \
|
makeWrapper "$shim" "$out/bin/lvim" \
|
||||||
--set LUNARVIM_RUNTIME_DIR "$out" \
|
--set LUNARVIM_RUNTIME_DIR "$out" \
|
||||||
--prefix PATH : ${lib.makeBinPath [ fzf git ripgrep ]}
|
--prefix PATH : ${lib.makeBinPath [fzf git ripgrep]}
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,13 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, nixUnstable, cmake, pkg-config, boost, nlohmann_json }:
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
nixUnstable,
|
||||||
|
cmake,
|
||||||
|
pkg-config,
|
||||||
|
boost,
|
||||||
|
nlohmann_json,
|
||||||
|
}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "nix-plugins";
|
pname = "nix-plugins";
|
||||||
version = "d0df32b31f3054180741adf5865fd56d6731c572";
|
version = "d0df32b31f3054180741adf5865fd56d6731c572";
|
||||||
|
@ -11,9 +19,9 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "sha256-Zbc0iq5ZAr73B+NJvpBHm9GIJhb9qrq0vFmV/ucNT5I=";
|
sha256 = "sha256-Zbc0iq5ZAr73B+NJvpBHm9GIJhb9qrq0vFmV/ucNT5I=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
nativeBuildInputs = [cmake pkg-config];
|
||||||
|
|
||||||
buildInputs = [ nixUnstable boost nlohmann_json ];
|
buildInputs = [nixUnstable boost nlohmann_json];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Collection of miscellaneous plugins for the nix expression language";
|
description = "Collection of miscellaneous plugins for the nix expression language";
|
||||||
|
|
|
@ -1,4 +1,12 @@
|
||||||
{ fetchFromGitHub, stdenv, cmake, obs-studio, opencv, onnx-runtime, git }:
|
{
|
||||||
|
fetchFromGitHub,
|
||||||
|
stdenv,
|
||||||
|
cmake,
|
||||||
|
obs-studio,
|
||||||
|
opencv,
|
||||||
|
onnx-runtime,
|
||||||
|
git,
|
||||||
|
}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "obs-backgroundremoval";
|
pname = "obs-backgroundremoval";
|
||||||
version = "0.4.0";
|
version = "0.4.0";
|
||||||
|
@ -10,9 +18,9 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "TI1FlhE0+JL50gAZCSsI+g8savX8GRQkH3jYli/66hQ=";
|
sha256 = "TI1FlhE0+JL50gAZCSsI+g8savX8GRQkH3jYli/66hQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cmakeFlags = [ "-DGIT_TAG=v${version}" ];
|
cmakeFlags = ["-DGIT_TAG=v${version}"];
|
||||||
patches = [ ./cmake_set_version.patch ];
|
patches = [./cmake_set_version.patch];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake git ];
|
nativeBuildInputs = [cmake git];
|
||||||
buildInputs = [ opencv onnx-runtime obs-studio ];
|
buildInputs = [opencv onnx-runtime obs-studio];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv }:
|
{stdenv}:
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "onnx-runtime";
|
pname = "onnx-runtime";
|
||||||
version = "1.7.0";
|
version = "1.7.0";
|
||||||
|
|
|
@ -1,51 +1,51 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}:
|
||||||
with pkgs;
|
with pkgs;
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "rofi-wayland-unwrapped";
|
pname = "rofi-wayland-unwrapped";
|
||||||
version = "1.7.3";
|
version = "1.7.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lbonn";
|
owner = "lbonn";
|
||||||
repo = "rofi";
|
repo = "rofi";
|
||||||
rev = "${version}+wayland1";
|
rev = "${version}+wayland1";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
sha256 = "1h6lh4lrkxzs6iy2rzn5g71dnz6qck4j8cxpgy1ja179vrnj1sf7";
|
sha256 = "1h6lh4lrkxzs6iy2rzn5g71dnz6qck4j8cxpgy1ja179vrnj1sf7";
|
||||||
};
|
};
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
patchShebangs "script"
|
patchShebangs "script"
|
||||||
# root not present in build /etc/passwd
|
# root not present in build /etc/passwd
|
||||||
sed -i 's/~root/~nobody/g' test/helper-expand.c
|
sed -i 's/~root/~nobody/g' test/helper-expand.c
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja pkgconfig ];
|
nativeBuildInputs = [meson ninja pkgconfig];
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
libxkbcommon
|
libxkbcommon
|
||||||
pango
|
pango
|
||||||
cairo
|
cairo
|
||||||
git
|
git
|
||||||
bison
|
bison
|
||||||
flex
|
flex
|
||||||
librsvg
|
librsvg
|
||||||
check
|
check
|
||||||
libstartup_notification
|
libstartup_notification
|
||||||
xorg.libxcb
|
xorg.libxcb
|
||||||
xorg.xcbutil
|
xorg.xcbutil
|
||||||
xorg.xcbutilwm
|
xorg.xcbutilwm
|
||||||
xcb-util-cursor
|
xcb-util-cursor
|
||||||
xcbutilxrm
|
xcbutilxrm
|
||||||
which
|
which
|
||||||
wayland-protocols
|
wayland-protocols
|
||||||
wayland
|
wayland
|
||||||
];
|
];
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Window switcher, run dialog and dmenu replacement";
|
description = "Window switcher, run dialog and dmenu replacement";
|
||||||
homepage = "https://github.com/davatorium/rofi";
|
homepage = "https://github.com/davatorium/rofi";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ c0deaddict ];
|
maintainers = with maintainers; [c0deaddict];
|
||||||
platforms = with platforms; linux;
|
platforms = with platforms; linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
users.users.erwin = {
|
users.users.erwin = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
home = "/home/erwin";
|
home = "/home/erwin";
|
||||||
extraGroups = [ "wheel" "adm" "audio" "video" ];
|
extraGroups = ["wheel" "adm" "audio" "video"];
|
||||||
shell = pkgs.fish;
|
shell = pkgs.fish;
|
||||||
openssh.authorizedKeys.keyFiles = [
|
openssh.authorizedKeys.keyFiles = [
|
||||||
(pkgs.fetchurl {
|
(pkgs.fetchurl {
|
||||||
|
@ -13,5 +12,5 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
nix.settings.allowed-users = [ "erwin" ];
|
nix.settings.allowed-users = ["erwin"];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
users.users.root = {
|
users.users.root = {
|
||||||
openssh.authorizedKeys.keyFiles = [
|
openssh.authorizedKeys.keyFiles = [
|
||||||
(pkgs.fetchurl {
|
(pkgs.fetchurl {
|
||||||
|
|
Loading…
Reference in a new issue