mirror of
https://github.com/eRgo35/nix-config.git
synced 2026-02-04 13:06:13 +01:00
alejandra and dwm xf86 keys
This commit is contained in:
24
flake.nix
24
flake.nix
@@ -8,7 +8,7 @@
|
|||||||
# at the same time. Here's an working example:
|
# at the same time. Here's an working example:
|
||||||
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
|
||||||
# Also see the 'unstable-packages' overlay at 'overlays/default.nix'.
|
# Also see the 'unstable-packages' overlay at 'overlays/default.nix'.
|
||||||
|
|
||||||
# Home manager
|
# Home manager
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-23.11";
|
url = "github:nix-community/home-manager/release-23.11";
|
||||||
@@ -28,25 +28,25 @@
|
|||||||
url = "github:hyprwm/hyprland";
|
url = "github:hyprwm/hyprland";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
hyprwm-contrib = {
|
hyprwm-contrib = {
|
||||||
url = "github:hyprwm/contrib";
|
url = "github:hyprwm/contrib";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
hyprland-plugins = {
|
hyprland-plugins = {
|
||||||
url = "github:hyprwm/hyprland-plugins";
|
url = "github:hyprwm/hyprland-plugins";
|
||||||
inputs.hyprland.follows = "hyprland";
|
inputs.hyprland.follows = "hyprland";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
nixpkgs-unstable,
|
nixpkgs-unstable,
|
||||||
home-manager,
|
home-manager,
|
||||||
...
|
...
|
||||||
} @ inputs: let
|
} @ inputs: let
|
||||||
inherit (self) outputs;
|
inherit (self) outputs;
|
||||||
# Supported systems for your flake packages, shell, etc.
|
# Supported systems for your flake packages, shell, etc.
|
||||||
systems = [
|
systems = [
|
||||||
@@ -75,7 +75,7 @@
|
|||||||
# Reusable home-manager modules you might want to export
|
# Reusable home-manager modules you might want to export
|
||||||
# These are usually stuff you would upstream into home-manager
|
# These are usually stuff you would upstream into home-manager
|
||||||
homeManagerModules = import ./modules/home-manager;
|
homeManagerModules = import ./modules/home-manager;
|
||||||
|
|
||||||
# NixOS configuration entrypoint
|
# NixOS configuration entrypoint
|
||||||
# Available through 'nixos-rebuild --flake .#hostname'
|
# Available through 'nixos-rebuild --flake .#hostname'
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
@@ -83,14 +83,14 @@
|
|||||||
specialArgs = {inherit inputs outputs;};
|
specialArgs = {inherit inputs outputs;};
|
||||||
modules = [
|
modules = [
|
||||||
# > Main NixOS configuration file <
|
# > Main NixOS configuration file <
|
||||||
./hosts/zion/configuration.nix
|
./hosts/zion/configuration.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
thor = nixpkgs.lib.nixosSystem {
|
thor = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {inherit inputs outputs;};
|
specialArgs = {inherit inputs outputs;};
|
||||||
modules = [
|
modules = [
|
||||||
# > Main NixOS configuration file <
|
# > Main NixOS configuration file <
|
||||||
./hosts/thor/configuration.nix
|
./hosts/thor/configuration.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,38 +2,38 @@
|
|||||||
myAliases = {
|
myAliases = {
|
||||||
".." = "cd ..";
|
".." = "cd ..";
|
||||||
"cd.." = "cd ..";
|
"cd.." = "cd ..";
|
||||||
|
|
||||||
ls = "command eza";
|
ls = "command eza";
|
||||||
grep = "grep --color=auto";
|
grep = "grep --color=auto";
|
||||||
fgrep = "fgrep --color=auto";
|
fgrep = "fgrep --color=auto";
|
||||||
egrep = "egrep --color=auto";
|
egrep = "egrep --color=auto";
|
||||||
|
|
||||||
l="eza -G --icons";
|
l = "eza -G --icons";
|
||||||
ll="eza -l --icons";
|
ll = "eza -l --icons";
|
||||||
lg="eza -lG";
|
lg = "eza -lG";
|
||||||
lall="eza -lahF --icons --git";
|
lall = "eza -lahF --icons --git";
|
||||||
lalg="eza -laGhF --icons --git";
|
lalg = "eza -laGhF --icons --git";
|
||||||
latree="eza -laGghHT --git --icons";
|
latree = "eza -laGghHT --git --icons";
|
||||||
la = "eza -la --git --icons";
|
la = "eza -la --git --icons";
|
||||||
lsd = "eza -laD";
|
lsd = "eza -laD";
|
||||||
|
|
||||||
cls="clear";
|
cls = "clear";
|
||||||
# df="df -ahiT --total";
|
# df="df -ahiT --total";
|
||||||
userlist="cut -d: -f1 /etc/passwd";
|
userlist = "cut -d: -f1 /etc/passwd";
|
||||||
free="free -mt";
|
free = "free -mt";
|
||||||
du="du -ach | sort -h";
|
du = "du -ach | sort -h";
|
||||||
ps="ps auxf";
|
ps = "ps auxf";
|
||||||
|
|
||||||
sudo="sudo ";
|
sudo = "sudo ";
|
||||||
reload="exec $SHELL -l";
|
reload = "exec $SHELL -l";
|
||||||
|
|
||||||
xclip = "xclip -selection c";
|
xclip = "xclip -selection c";
|
||||||
|
|
||||||
mkdir="mkdir -pv";
|
mkdir = "mkdir -pv";
|
||||||
psmem="ps -e -orss=,args= | sort -b -k1 -nr";
|
psmem = "ps -e -orss=,args= | sort -b -k1 -nr";
|
||||||
psmem10="ps -e -orss=,args= | sort -b -k1 -nr | head -10";
|
psmem10 = "ps -e -orss=,args= | sort -b -k1 -nr | head -10";
|
||||||
pscpu="ps -e -o pcpu,cpu,nice,state,cputime,args|sort -k1,1n -nr";
|
pscpu = "ps -e -o pcpu,cpu,nice,state,cputime,args|sort -k1,1n -nr";
|
||||||
pscpu10="ps -e -o pcpu,cpu,nice,state,cputime,args|sort -k1,1n -nr | head -10";
|
pscpu10 = "ps -e -o pcpu,cpu,nice,state,cputime,args|sort -k1,1n -nr | head -10";
|
||||||
|
|
||||||
gua = "git remote | xargs -L1 git push --all";
|
gua = "git remote | xargs -L1 git push --all";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
let cli = import ./aliases.nix; in
|
let
|
||||||
{
|
cli = import ./aliases.nix;
|
||||||
|
in {
|
||||||
programs.bash = {
|
programs.bash = {
|
||||||
enable = true;
|
enable = true;
|
||||||
shellAliases = cli.myAliases;
|
shellAliases = cli.myAliases;
|
||||||
|
|||||||
@@ -12,9 +12,9 @@
|
|||||||
bc
|
bc
|
||||||
bottom
|
bottom
|
||||||
ncdu
|
ncdu
|
||||||
ltex-ls
|
ltex-ls
|
||||||
nil
|
nil
|
||||||
alejandra
|
alejandra
|
||||||
timer
|
timer
|
||||||
jq
|
jq
|
||||||
diffsitter
|
diffsitter
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "Michał Czyż";
|
userName = "Michał Czyż";
|
||||||
userEmail = "mike@c2yz.com";
|
userEmail = "mike@c2yz.com";
|
||||||
signing = {
|
signing = {
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
{config, pkgs, ...}: let
|
{
|
||||||
cli = import ../aliases.nix;
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cli = import ../aliases.nix;
|
||||||
in {
|
in {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
];
|
];
|
||||||
@@ -12,7 +16,7 @@ in {
|
|||||||
history.path = "${config.xdg.dataHome}/zsh/history";
|
history.path = "${config.xdg.dataHome}/zsh/history";
|
||||||
|
|
||||||
shellAliases = cli.myAliases;
|
shellAliases = cli.myAliases;
|
||||||
|
|
||||||
plugins = [
|
plugins = [
|
||||||
{
|
{
|
||||||
name = "powerlevel10k";
|
name = "powerlevel10k";
|
||||||
@@ -20,13 +24,13 @@ in {
|
|||||||
file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
|
file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
enableAutosuggestions = true;
|
enableAutosuggestions = true;
|
||||||
|
|
||||||
syntaxHighlighting = {
|
syntaxHighlighting = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
historySubstringSearch = {
|
historySubstringSearch = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,9 +1,13 @@
|
|||||||
{lib, pkgs, config, ...}: {
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# dconf.settings."org/gnome/desktop/interface".color-scheme =
|
# dconf.settings."org/gnome/desktop/interface".color-scheme =
|
||||||
# if config.colorscheme.variant == "dark"
|
# if config.colorscheme.variant == "dark"
|
||||||
# then "prefer-dark"
|
# then "prefer-dark"
|
||||||
# else if config.colorscheme.variant == "light"
|
# else if config.colorscheme.variant == "light"
|
||||||
@@ -11,5 +15,4 @@
|
|||||||
# else "default";
|
# else "default";
|
||||||
|
|
||||||
# xdg.portal.enable = true;
|
# xdg.portal.enable = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,5 @@
|
|||||||
services.betterlockscreen = {
|
services.betterlockscreen = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.unstable.betterlockscreen;
|
package = pkgs.unstable.betterlockscreen;
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
./easyeffects.nix
|
./easyeffects.nix
|
||||||
./theming.nix
|
./theming.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
dmenu
|
dmenu
|
||||||
st
|
st
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
xorg.libxcb
|
xorg.libxcb
|
||||||
xorg.libXft
|
xorg.libXft
|
||||||
xorg.libXinerama
|
xorg.libXinerama
|
||||||
xorg.xinit
|
xorg.xinit
|
||||||
xorg.xinput
|
xorg.xinput
|
||||||
brightnessctl
|
brightnessctl
|
||||||
xclip
|
xclip
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
lf
|
lf
|
||||||
pamixer
|
pamixer
|
||||||
w3m
|
w3m
|
||||||
bat
|
bat
|
||||||
efibootmgr
|
efibootmgr
|
||||||
eww
|
eww
|
||||||
fontconfig
|
fontconfig
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
source = ./.xinitrc;
|
source = ./.xinitrc;
|
||||||
};
|
};
|
||||||
".zprofile" = {
|
".zprofile" = {
|
||||||
source = ./.zprofile;
|
source = ./.zprofile;
|
||||||
};
|
};
|
||||||
".config/picom/black_to_transparent.frag" = {
|
".config/picom/black_to_transparent.frag" = {
|
||||||
source = ./black_to_transparent.frag;
|
source = ./black_to_transparent.frag;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
services.picom = {
|
services.picom = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.unstable.picom;
|
package = pkgs.unstable.picom;
|
||||||
backend = "glx";
|
backend = "glx";
|
||||||
|
|
||||||
shadow = true;
|
shadow = true;
|
||||||
shadowOpacity = 0.2;
|
shadowOpacity = 0.2;
|
||||||
@@ -56,16 +56,16 @@
|
|||||||
|
|
||||||
# xprop | grep -i 'class'
|
# xprop | grep -i 'class'
|
||||||
opacity-rule = [
|
opacity-rule = [
|
||||||
"90:class_g = 'neovide'"
|
"90:class_g = 'neovide'"
|
||||||
"90:class_g = 'code-oss'"
|
"90:class_g = 'code-oss'"
|
||||||
"90:class_g = 'discord'"
|
"90:class_g = 'discord'"
|
||||||
"90:class_g = 'Emacs'"
|
"90:class_g = 'Emacs'"
|
||||||
"90:class_g = 'TelegramDesktop'"
|
"90:class_g = 'TelegramDesktop'"
|
||||||
"90:class_g = 'Spotify'"
|
"90:class_g = 'Spotify'"
|
||||||
"90:class_g = 'easyeffects'"
|
"90:class_g = 'easyeffects'"
|
||||||
"90:class_g = 'kitty'"
|
"90:class_g = 'kitty'"
|
||||||
"90:class_g = 'Nemo'"
|
"90:class_g = 'Nemo'"
|
||||||
"97:class_g = 'firefox'"
|
"97:class_g = 'firefox'"
|
||||||
];
|
];
|
||||||
|
|
||||||
# Exclude conditions for background blur.
|
# Exclude conditions for background blur.
|
||||||
@@ -95,5 +95,5 @@
|
|||||||
#"nordify.glsl:class_g = 'miru'"
|
#"nordify.glsl:class_g = 'miru'"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
{lib, config, pkgs, ...}: {
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
# enable gtk
|
# enable gtk
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
# xdhp = pkgs.inputs.hyprland.xdg-desktop-portal-hyprland.override {inherit hyprland;};
|
# xdhp = pkgs.inputs.hyprland.xdg-desktop-portal-hyprland.override {inherit hyprland;};
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
../common
|
../common
|
||||||
../common/wayland-wm
|
../common/wayland-wm
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -26,18 +26,18 @@ in {
|
|||||||
xdg-desktop-portal-hyprland
|
xdg-desktop-portal-hyprland
|
||||||
];
|
];
|
||||||
|
|
||||||
# wayland.windowManger.hyprland = {
|
# wayland.windowManger.hyprland = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
# # package = hyprland;
|
# # package = hyprland;
|
||||||
# systemd = {
|
# systemd = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
# # Same as default but stop graphical-session too
|
# # Same as default but stop graphical-session too
|
||||||
# extraCommands = lib.mkBefore [
|
# extraCommands = lib.mkBefore [
|
||||||
# "systemctl --user stop graphical-session.target"
|
# "systemctl --user stop graphical-session.target"
|
||||||
# "systemctl --user start hyprland-session.target"
|
# "systemctl --user start hyprland-session.target"
|
||||||
# ];
|
# ];
|
||||||
# };
|
# };
|
||||||
#
|
#
|
||||||
# #TODO: Add hyprland config
|
# #TODO: Add hyprland config
|
||||||
# };
|
# };
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
theme = "Gruvbox Dark";
|
theme = "Gruvbox Dark";
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
confirm_os_window_close = 0;
|
confirm_os_window_close = 0;
|
||||||
detect_urls = true;
|
detect_urls = true;
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
{inputs, pkgs, ...}: {
|
{
|
||||||
|
inputs,
|
||||||
nixpkgs.overlays = [
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
nixpkgs.overlays = [
|
||||||
inputs.neovim-nightly-overlay.overlay
|
inputs.neovim-nightly-overlay.overlay
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
terminal = "screen-256color";
|
terminal = "screen-256color";
|
||||||
baseIndex = 1;
|
baseIndex = 1;
|
||||||
plugins = with pkgs.tmuxPlugins; [
|
plugins = with pkgs.tmuxPlugins; [
|
||||||
sensible
|
sensible
|
||||||
vim-tmux-navigator
|
vim-tmux-navigator
|
||||||
gruvbox
|
gruvbox
|
||||||
yank
|
yank
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
# This is your home-manager configuration file
|
# This is your home-manager configuration file
|
||||||
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
|
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
|
||||||
{
|
{
|
||||||
inputs,
|
inputs,
|
||||||
outputs,
|
outputs,
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
# You can also split up your configuration and import pieces of it here:
|
# You can also split up your configuration and import pieces of it here:
|
||||||
# ./nvim.nix
|
# ./nvim.nix
|
||||||
./features/cli
|
./features/cli
|
||||||
./features/desktop/dwm
|
./features/desktop/dwm
|
||||||
./features/kitty.nix
|
./features/kitty.nix
|
||||||
./features/neovim.nix
|
./features/neovim.nix
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
./features/neovide.nix
|
./features/neovide.nix
|
||||||
./features/emacs.nix
|
./features/emacs.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
colorScheme = inputs.nix-colors.colorSchemes.gruvbox-dark-medium;
|
colorScheme = inputs.nix-colors.colorSchemes.gruvbox-dark-medium;
|
||||||
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
@@ -76,10 +76,10 @@
|
|||||||
|
|
||||||
# The home.packages option allows you to install Nix packages into your
|
# The home.packages option allows you to install Nix packages into your
|
||||||
# environment.
|
# environment.
|
||||||
home.packages = (with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# > graphics <
|
# > graphics <
|
||||||
tuxpaint
|
tuxpaint
|
||||||
krita
|
krita
|
||||||
|
|
||||||
# > terminal <
|
# > terminal <
|
||||||
kitty
|
kitty
|
||||||
@@ -122,11 +122,11 @@
|
|||||||
lunarvim
|
lunarvim
|
||||||
evolution
|
evolution
|
||||||
rstudio
|
rstudio
|
||||||
|
|
||||||
# > gaming <
|
# > gaming <
|
||||||
prismlauncher
|
prismlauncher
|
||||||
classicube
|
classicube
|
||||||
steam
|
steam
|
||||||
|
|
||||||
# > development <
|
# > development <
|
||||||
clang
|
clang
|
||||||
@@ -140,10 +140,10 @@
|
|||||||
boost
|
boost
|
||||||
gcc-unwrapped
|
gcc-unwrapped
|
||||||
gcc.cc.lib
|
gcc.cc.lib
|
||||||
|
|
||||||
docker
|
docker
|
||||||
docker-compose
|
docker-compose
|
||||||
]);
|
];
|
||||||
|
|
||||||
services.gnome-keyring = {
|
services.gnome-keyring = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -153,9 +153,9 @@
|
|||||||
"pkcs11"
|
"pkcs11"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
EDITOR = "nvim";
|
EDITOR = "nvim";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
|
|||||||
@@ -12,9 +12,9 @@
|
|||||||
./services.nix
|
./services.nix
|
||||||
./users.nix
|
./users.nix
|
||||||
./docker.nix
|
./docker.nix
|
||||||
|
./x.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
# You can add overlays here
|
# You can add overlays here
|
||||||
overlays = [
|
overlays = [
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# This will add each flake input as a registry
|
# This will add each flake input as a registry
|
||||||
# To make nix3 commands consistent with your flake
|
# To make nix3 commands consistent with your flake
|
||||||
nix.registry = (lib.mapAttrs (_: flake: {inherit flake;})) ((lib.filterAttrs (_: lib.isType "flake")) inputs);
|
nix.registry = (lib.mapAttrs (_: flake: {inherit flake;})) ((lib.filterAttrs (_: lib.isType "flake")) inputs);
|
||||||
@@ -75,7 +75,7 @@
|
|||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
# Enables wireless support via wpa_supplicant
|
# Enables wireless support via wpa_supplicant
|
||||||
# networking.wireless.enable = true;
|
# networking.wireless.enable = true;
|
||||||
|
|
||||||
# Configure network proxy if necessary
|
# Configure network proxy if necessary
|
||||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
randomizedDelaySec = "45min";
|
randomizedDelaySec = "45min";
|
||||||
};
|
};
|
||||||
|
|
||||||
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.
|
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||||
# wget
|
# wget
|
||||||
ntfs3g
|
ntfs3g
|
||||||
@@ -27,9 +27,9 @@
|
|||||||
unstable.nh
|
unstable.nh
|
||||||
nix-output-monitor
|
nix-output-monitor
|
||||||
nvd
|
nvd
|
||||||
]);
|
];
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
nerdfonts
|
nerdfonts
|
||||||
noto-fonts
|
noto-fonts
|
||||||
noto-fonts-cjk
|
noto-fonts-cjk
|
||||||
|
|||||||
@@ -6,9 +6,8 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
|
||||||
# I use zsh btw
|
# I use zsh btw
|
||||||
environment.shells = with pkgs; [ bash zsh ];
|
environment.shells = with pkgs; [bash zsh];
|
||||||
users.defaultUserShell = pkgs.zsh;
|
users.defaultUserShell = pkgs.zsh;
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
|
|
||||||
@@ -40,11 +39,11 @@
|
|||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
# started in user sessions.
|
# started in user sessions.
|
||||||
programs.mtr.enable = true;
|
programs.mtr.enable = true;
|
||||||
programs.gnupg.agent = {
|
programs.gnupg.agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableSSHSupport = true;
|
enableSSHSupport = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# This setups a SSH server. Very important if you're setting up a headless system.
|
# This setups a SSH server. Very important if you're setting up a headless system.
|
||||||
# Feel free to remove if you don't need it.
|
# Feel free to remove if you don't need it.
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDfqPj+a2gmoUl3TuGSZxf0zRBabVWvXRrjLF7sFlqjMbfkx428F3L7C8OC3Z9XDT4ysbpgWcPuVKNtK5kkKGjSLHAgB2CgvD15K11Q+ag1+uyePaiOypZYJewvv1hhqU5IrVcxUbTsbREH/IsdQSlNSuyNFIr3oFnrff5iKEKEwEvSDeiqpqRh56pAkF6Kb15aYqZO7X9rbfoa8Sgj3VJXN0181lXMjXkNsYVa3gDmKv89C6qutg+KOpHlXgn4AfIRcCw8ik6OGBEfi/gUeb3SYpD+7undNLyloxCbGwHQ40IdoqPatyhTNS4jm9kb+Tno4hj0pbLHZSUdXgGaSfGx1W0MVVY0mm0Hu7EmYDBHUTfmPmPxnolWh8UH+XdkNPnwZfyZlyBcVVkVzog1ZCs1i9Y6oS1ZIbzuz+WxBPPDIHMRdmxv6+PMc5kZyrpuX1PgFb7Xt5cRNAL5/wywoi9Z45SS7qP9zNSb443UaaXzUatqnlawZ0GS0qXJh3ljwJ8= mike@odin"
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDfqPj+a2gmoUl3TuGSZxf0zRBabVWvXRrjLF7sFlqjMbfkx428F3L7C8OC3Z9XDT4ysbpgWcPuVKNtK5kkKGjSLHAgB2CgvD15K11Q+ag1+uyePaiOypZYJewvv1hhqU5IrVcxUbTsbREH/IsdQSlNSuyNFIr3oFnrff5iKEKEwEvSDeiqpqRh56pAkF6Kb15aYqZO7X9rbfoa8Sgj3VJXN0181lXMjXkNsYVa3gDmKv89C6qutg+KOpHlXgn4AfIRcCw8ik6OGBEfi/gUeb3SYpD+7undNLyloxCbGwHQ40IdoqPatyhTNS4jm9kb+Tno4hj0pbLHZSUdXgGaSfGx1W0MVVY0mm0Hu7EmYDBHUTfmPmPxnolWh8UH+XdkNPnwZfyZlyBcVVkVzog1ZCs1i9Y6oS1ZIbzuz+WxBPPDIHMRdmxv6+PMc5kZyrpuX1PgFb7Xt5cRNAL5/wywoi9Z45SS7qP9zNSb443UaaXzUatqnlawZ0GS0qXJh3ljwJ8= mike@odin"
|
||||||
];
|
];
|
||||||
extraGroups = [ "networkmanager" "wheel" "docker" "libvirtd" ];
|
extraGroups = ["networkmanager" "wheel" "docker" "libvirtd"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
28
hosts/common/x.nix
Normal file
28
hosts/common/x.nix
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
services.udisks2.enable = true;
|
||||||
|
security.polkit.enable = true;
|
||||||
|
services.upower.enable = config.powerManagement.enable;
|
||||||
|
services.gvfs.enable = true;
|
||||||
|
|
||||||
|
services.autorandr = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
autorandr
|
||||||
|
xorg.xrandr
|
||||||
|
xorg.libX11
|
||||||
|
xorg.libX11.dev
|
||||||
|
xorg.libXft
|
||||||
|
xorg.libXinerama
|
||||||
|
xorg.xbacklight
|
||||||
|
pulseaudioFull
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
# Edit this configuration file to define what should be installed on
|
# Edit this configuration file to define what should be installed on
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
{
|
{
|
||||||
inputs,
|
inputs,
|
||||||
outputs,
|
outputs,
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
# You can import other NixOS modules here
|
# You can import other NixOS modules here
|
||||||
imports = [
|
imports = [
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
layout = "pl";
|
layout = "pl";
|
||||||
xkbVariant = "";
|
xkbVariant = "";
|
||||||
|
libinput.enable = true;
|
||||||
|
|
||||||
displayManager = {
|
displayManager = {
|
||||||
lightdm = {
|
lightdm = {
|
||||||
@@ -20,7 +21,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
windowManager = {
|
windowManager = {
|
||||||
dwm = {
|
dwm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -29,7 +30,7 @@
|
|||||||
owner = "eRgo35";
|
owner = "eRgo35";
|
||||||
repo = "dwm";
|
repo = "dwm";
|
||||||
rev = "a1725eb3c64d27864972a976c8ee18d63a8d9dad";
|
rev = "a1725eb3c64d27864972a976c8ee18d63a8d9dad";
|
||||||
sha256 = "sha256-sY6qFqfkfGtLmi+7mownx3bolM2mVNdhS9VUO6KimKk=";
|
sha256 = "sha256-sY6qFqfkfGtLmi+7mownx3bolM2mVNdhS9VUO6KimKk=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -42,11 +43,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = (with pkgs; [
|
|
||||||
autorandr
|
|
||||||
xorg.xrandr
|
|
||||||
]);
|
|
||||||
|
|
||||||
services.autorandr = {
|
services.autorandr = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,31 +1,40 @@
|
|||||||
# 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,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usb_storage" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
boot.kernelParams = [ "resume=/var/swapfile" "resume_offset=16230400" ];
|
boot.kernelParams = ["resume=/var/swapfile" "resume_offset=16230400"];
|
||||||
boot.resumeDevice = "/dev/disk/by-uuid/9bf8fe18-8b72-4e43-a472-546260574b1e";
|
boot.resumeDevice = "/dev/disk/by-uuid/9bf8fe18-8b72-4e43-a472-546260574b1e";
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/9bf8fe18-8b72-4e43-a472-546260574b1e";
|
device = "/dev/disk/by-uuid/9bf8fe18-8b72-4e43-a472-546260574b1e";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/09BA-3F6F";
|
device = "/dev/disk/by-uuid/09BA-3F6F";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ { device = "/var/swapfile"; size = 32 * 1024; } ];
|
swapDevices = [
|
||||||
|
{
|
||||||
|
device = "/var/swapfile";
|
||||||
|
size = 32 * 1024;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
# 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
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
inputs,
|
inputs,
|
||||||
outputs,
|
outputs,
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
# You can import other NixOS modules here
|
# You can import other NixOS modules here
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
# ./users.nix
|
# ./users.nix
|
||||||
../common
|
../common
|
||||||
./gui.nix
|
./gui.nix
|
||||||
|
|
||||||
# nvidia drivers
|
# nvidia drivers
|
||||||
./nvidia.nix
|
./nvidia.nix
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
--output $RIGHT --mode 2560x1440 --rate 74.92 --pos 4480x0
|
--output $RIGHT --mode 2560x1440 --rate 74.92 --pos 4480x0
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
windowManager = {
|
windowManager = {
|
||||||
dwm = {
|
dwm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
owner = "eRgo35";
|
owner = "eRgo35";
|
||||||
repo = "dwm";
|
repo = "dwm";
|
||||||
rev = "a1725eb3c64d27864972a976c8ee18d63a8d9dad";
|
rev = "a1725eb3c64d27864972a976c8ee18d63a8d9dad";
|
||||||
sha256 = "sha256-sY6qFqfkfGtLmi+7mownx3bolM2mVNdhS9VUO6KimKk=";
|
sha256 = "sha256-sY6qFqfkfGtLmi+7mownx3bolM2mVNdhS9VUO6KimKk=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
enable = false;
|
enable = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
xrandrHeads = [
|
xrandrHeads = [
|
||||||
{
|
{
|
||||||
output = "HDMI-0";
|
output = "HDMI-0";
|
||||||
@@ -65,12 +65,6 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = (with pkgs; [
|
|
||||||
autorandr
|
|
||||||
xorg.xrandr
|
|
||||||
]);
|
|
||||||
|
|
||||||
|
|
||||||
services.autorandr = {
|
services.autorandr = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultTarget = "zion";
|
defaultTarget = "zion";
|
||||||
|
|||||||
@@ -1,31 +1,35 @@
|
|||||||
# 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,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = ["kvm-amd"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/8af14034-1aec-4b6f-b8c4-de13e6987ac5";
|
device = "/dev/disk/by-uuid/8af14034-1aec-4b6f-b8c4-de13e6987ac5";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/CEC7-B082";
|
device = "/dev/disk/by-uuid/CEC7-B082";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [
|
||||||
[ { device = "/dev/disk/by-uuid/00a782e1-71c2-4121-8608-9ed1104d6aa5"; }
|
{device = "/dev/disk/by-uuid/00a782e1-71c2-4121-8608-9ed1104d6aa5";}
|
||||||
];
|
];
|
||||||
|
|
||||||
# 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
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:{
|
}: {
|
||||||
# Enable OpenGL
|
# Enable OpenGL
|
||||||
hardware.opengl = {
|
hardware.opengl = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -17,13 +17,12 @@
|
|||||||
services.xserver.videoDrivers = ["nvidia"];
|
services.xserver.videoDrivers = ["nvidia"];
|
||||||
|
|
||||||
hardware.nvidia = {
|
hardware.nvidia = {
|
||||||
|
|
||||||
# Modesetting is required.
|
# Modesetting is required.
|
||||||
modesetting.enable = true;
|
modesetting.enable = true;
|
||||||
|
|
||||||
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
||||||
# Enable this if you have graphical corruption issues or application crashes after waking
|
# Enable this if you have graphical corruption issues or application crashes after waking
|
||||||
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
|
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
|
||||||
# of just the bare essentials.
|
# of just the bare essentials.
|
||||||
powerManagement.enable = false;
|
powerManagement.enable = false;
|
||||||
|
|
||||||
@@ -33,15 +32,15 @@
|
|||||||
|
|
||||||
# Use the NVidia open source kernel module (not to be confused with the
|
# Use the NVidia open source kernel module (not to be confused with the
|
||||||
# independent third-party "nouveau" open source driver).
|
# independent third-party "nouveau" open source driver).
|
||||||
# Support is limited to the Turing and later architectures. Full list of
|
# Support is limited to the Turing and later architectures. Full list of
|
||||||
# supported GPUs is at:
|
# supported GPUs is at:
|
||||||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||||
# Only available from driver 515.43.04+
|
# Only available from driver 515.43.04+
|
||||||
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
||||||
open = false;
|
open = false;
|
||||||
|
|
||||||
# Enable the Nvidia settings menu,
|
# Enable the Nvidia settings menu,
|
||||||
# accessible via `nvidia-settings`.
|
# accessible via `nvidia-settings`.
|
||||||
nvidiaSettings = true;
|
nvidiaSettings = true;
|
||||||
|
|
||||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
# This one brings our custom packages from the 'pkgs' directory
|
# This one brings our custom packages from the 'pkgs' directory
|
||||||
additions = final: _prev: import ../pkgs {pkgs = final;};
|
additions = final: _prev: import ../pkgs {pkgs = final;};
|
||||||
|
|
||||||
# This one contains whatever you want to overlay
|
# This one contains whatever you want to overlay
|
||||||
# You can change versions, add patches, set compilation flags, anything really.
|
# You can change versions, add patches, set compilation flags, anything really.
|
||||||
# https://nixos.wiki/wiki/Overlays
|
# https://nixos.wiki/wiki/Overlays
|
||||||
modifications = final: prev: {
|
modifications = final: prev: {
|
||||||
# example = prev.example.overrideAttrs (oldAttrs: rec {
|
# example = prev.example.overrideAttrs (oldAttrs: rec {
|
||||||
# ...
|
# ...
|
||||||
|
|||||||
@@ -1,3 +1,2 @@
|
|||||||
{ pkgs ? import <nixpkgs> {} }:
|
{pkgs ? import <nixpkgs> {}}:
|
||||||
|
|
||||||
pkgs.callPackage ./papyrus.nix {}
|
pkgs.callPackage ./papyrus.nix {}
|
||||||
|
|||||||
@@ -1,6 +1,19 @@
|
|||||||
{ stdenv, fetchurl, makeDesktopItem, makeWrapper, autoPatchelfHook, fontconfig, freetype, glib, gtk3, jdk17, lib, xorg, zlib, alsaLib }:
|
{
|
||||||
let
|
stdenv,
|
||||||
|
fetchurl,
|
||||||
|
makeDesktopItem,
|
||||||
|
makeWrapper,
|
||||||
|
autoPatchelfHook,
|
||||||
|
fontconfig,
|
||||||
|
freetype,
|
||||||
|
glib,
|
||||||
|
gtk3,
|
||||||
|
jdk17,
|
||||||
|
lib,
|
||||||
|
xorg,
|
||||||
|
zlib,
|
||||||
|
alsaLib,
|
||||||
|
}: let
|
||||||
# Please keep the version x.y.0.z and do not update to x.y.76.z because the
|
# Please keep the version x.y.0.z and do not update to x.y.76.z because the
|
||||||
# source of the latter disappears much faster.
|
# source of the latter disappears much faster.
|
||||||
version = "6.6.0";
|
version = "6.6.0";
|
||||||
@@ -23,102 +36,102 @@ let
|
|||||||
genericName = "SQL Integrated Development Environment";
|
genericName = "SQL Integrated Development Environment";
|
||||||
categories = ["Development"];
|
categories = ["Development"];
|
||||||
};
|
};
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "papyrus";
|
||||||
|
version = "6.6.0";
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
system = "x86_64-linux";
|
||||||
pname = "papyrus";
|
|
||||||
version = "6.6.0";
|
|
||||||
|
|
||||||
system = "x86_64-linux";
|
inherit src;
|
||||||
|
|
||||||
inherit src;
|
nativeBuildInputs = [
|
||||||
|
makeWrapper
|
||||||
|
autoPatchelfHook
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
buildInputs = [
|
||||||
makeWrapper
|
fontconfig
|
||||||
autoPatchelfHook
|
freetype
|
||||||
];
|
glib
|
||||||
|
gtk3
|
||||||
|
jdk17
|
||||||
|
xorg.libX11
|
||||||
|
xorg.libXrender
|
||||||
|
xorg.libXtst
|
||||||
|
zlib
|
||||||
|
alsaLib
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [
|
# Extract and copy executable in $out/bin
|
||||||
fontconfig
|
installPhase = ''
|
||||||
freetype
|
# Remove the bundled Java Runtime Environment as we will use our own.
|
||||||
glib
|
rm -rf jre
|
||||||
gtk3
|
|
||||||
jdk17
|
|
||||||
xorg.libX11
|
|
||||||
xorg.libXrender
|
|
||||||
xorg.libXtst
|
|
||||||
zlib
|
|
||||||
alsaLib
|
|
||||||
];
|
|
||||||
|
|
||||||
# Extract and copy executable in $out/bin
|
# Create the directory where DBeaver will reside within the Nix store.
|
||||||
installPhase = ''
|
mkdir -p $out/
|
||||||
# Remove the bundled Java Runtime Environment as we will use our own.
|
|
||||||
rm -rf jre
|
|
||||||
|
|
||||||
# Create the directory where DBeaver will reside within the Nix store.
|
# Copy all the files from the build directory to the Nix store.
|
||||||
mkdir -p $out/
|
cp -r . $out/Papyrus
|
||||||
|
|
||||||
# Copy all the files from the build directory to the Nix store.
|
# The binaries will be automatically patched by autoPatchelfHook.
|
||||||
cp -r . $out/Papyrus
|
# This adds necessary runtime dependencies to the ELF files.
|
||||||
|
|
||||||
# The binaries will be automatically patched by autoPatchelfHook.
|
# Create a wrapper script for launching DBeaver.
|
||||||
# This adds necessary runtime dependencies to the ELF files.
|
# - Sets Java path
|
||||||
|
# - Sets library path for GTK and X11
|
||||||
|
# - Sets GSettings schema path
|
||||||
|
makeWrapper $out/Papyrus/papyrus $out/bin/Papyrus \
|
||||||
|
--prefix PATH : ${jdk17}/bin \
|
||||||
|
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [glib gtk3 xorg.libXtst]} \
|
||||||
|
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
|
||||||
|
|
||||||
# Create a wrapper script for launching DBeaver.
|
# Create a directory for the desktop entry.
|
||||||
# - Sets Java path
|
mkdir -p $out/share/applications
|
||||||
# - Sets library path for GTK and X11
|
|
||||||
# - Sets GSettings schema path
|
|
||||||
makeWrapper $out/Papyrus/papyrus $out/bin/Papyrus \
|
|
||||||
--prefix PATH : ${jdk17}/bin \
|
|
||||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [glib gtk3 xorg.libXtst]} \
|
|
||||||
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
|
|
||||||
|
|
||||||
# Create a directory for the desktop entry.
|
|
||||||
mkdir -p $out/share/applications
|
|
||||||
|
|
||||||
# Copy the generated desktop entry to the appropriate location.
|
# Copy the generated desktop entry to the appropriate location.
|
||||||
cp ${desktopItem}/share/applications/* $out/share/applications
|
cp ${desktopItem}/share/applications/* $out/share/applications
|
||||||
|
|
||||||
# Create a directory for storing the DBeaver icon.
|
# Create a directory for storing the DBeaver icon.
|
||||||
mkdir -p $out/share/pixmaps
|
mkdir -p $out/share/pixmaps
|
||||||
|
|
||||||
# Symlink the DBeaver icon to the standard location.
|
# Symlink the DBeaver icon to the standard location.
|
||||||
ln -s $out/Papyrus/icon.xpm $out/share/pixmaps/papyrus.xpm
|
ln -s $out/Papyrus/icon.xpm $out/share/pixmaps/papyrus.xpm
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://eclipse.dev/papyrus/index.php";
|
homepage = "https://eclipse.dev/papyrus/index.php";
|
||||||
description = "Open source Model-Based Engineering tool";
|
description = "Open source Model-Based Engineering tool";
|
||||||
# longDescription = ''
|
# longDescription = ''
|
||||||
# Multi-platform database tool for developers, SQL programmers, database
|
# Multi-platform database tool for developers, SQL programmers, database
|
||||||
# administrators and analysts. Supports all popular databases: MySQL,
|
# administrators and analysts. Supports all popular databases: MySQL,
|
||||||
# PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, MS Access,
|
# PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, MS Access,
|
||||||
# Teradata, Firebird, Derby, etc.
|
# Teradata, Firebird, Derby, etc.
|
||||||
# '';
|
# '';
|
||||||
license = licenses.free;
|
license = licenses.free;
|
||||||
platforms = ["x86_64-linux"];
|
platforms = ["x86_64-linux"];
|
||||||
maintainers = [maintainers.eRgo35];
|
maintainers = [maintainers.eRgo35];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
# desktopItem = makeDesktopItem {
|
# desktopItem = makeDesktopItem {
|
||||||
# name = "dbeaver-ee";
|
# name = "dbeaver-ee";
|
||||||
# exec = "dbeaver";
|
# exec = "dbeaver";
|
||||||
# icon = "dbeaver";
|
# icon = "dbeaver";
|
||||||
# desktopName = "dbeaver-ee";
|
# desktopName = "dbeaver-ee";
|
||||||
# comment = "SQL Integrated Development Environment";
|
# comment = "SQL Integrated Development Environment";
|
||||||
# genericName = "SQL Integrated Development Environment";
|
# genericName = "SQL Integrated Development Environment";
|
||||||
# categories = ["Development"];
|
# categories = ["Development"];
|
||||||
# };
|
# };
|
||||||
#
|
#
|
||||||
# # src = pkgs.fetchurl {
|
# # src = pkgs.fetchurl {
|
||||||
# # url = "https://download.eclipse.org/modeling/mdt/papyrus/rcp/2023-12/6.6.0/papyrus-2023-12-6.6.0-linux64.tar.gz";
|
# # url = "https://download.eclipse.org/modeling/mdt/papyrus/rcp/2023-12/6.6.0/papyrus-2023-12-6.6.0-linux64.tar.gz";
|
||||||
# # sha512 = "ab1f1c0192fa7791550ef284c221a5445e02a699f4a82ec9b08f2c4b1f894b387751c37a6c5109f7709afea265126210682a266adb00fb26768057c0321ba802";
|
# # sha512 = "ab1f1c0192fa7791550ef284c221a5445e02a699f4a82ec9b08f2c4b1f894b387751c37a6c5109f7709afea265126210682a266adb00fb26768057c0321ba802";
|
||||||
# # };
|
# # };
|
||||||
|
# # unpackPhase = "tar -xf $src -C $out/bin/papyrus --strip-components=1";
|
||||||
|
#
|
||||||
|
# installPhase = ''
|
||||||
|
# mkdir -p $out/bin
|
||||||
|
# tar -xf $src -C $out/bin --strip-components=1
|
||||||
|
# '';
|
||||||
|
#
|
||||||
|
|
||||||
# # unpackPhase = "tar -xf $src -C $out/bin/papyrus --strip-components=1";
|
|
||||||
#
|
|
||||||
# installPhase = ''
|
|
||||||
# mkdir -p $out/bin
|
|
||||||
# tar -xf $src -C $out/bin --strip-components=1
|
|
||||||
# '';
|
|
||||||
#
|
|
||||||
|
|||||||
@@ -1,4 +1,2 @@
|
|||||||
{ pkgs ? import <nixpkgs> {} }:
|
{pkgs ? import <nixpkgs> {}}:
|
||||||
|
|
||||||
pkgs.callPackage ./tikzuml.nix {}
|
pkgs.callPackage ./tikzuml.nix {}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
{ lib, stdenvNoCC, fetchurl, mkShell }:
|
{
|
||||||
let
|
lib,
|
||||||
pkgs = import <nixpkgs> { };
|
stdenvNoCC,
|
||||||
|
fetchurl,
|
||||||
|
mkShell,
|
||||||
|
}: let
|
||||||
|
pkgs = import <nixpkgs> {};
|
||||||
|
|
||||||
version = "1.0";
|
version = "1.0";
|
||||||
date = "2016-03-29";
|
date = "2016-03-29";
|
||||||
@@ -11,38 +15,38 @@ let
|
|||||||
url = "http://perso.ensta-paristech.fr/~kielbasi/tikzuml/var/files/src/tikzuml-v${version}-${date}.tbz";
|
url = "http://perso.ensta-paristech.fr/~kielbasi/tikzuml/var/files/src/tikzuml-v${version}-${date}.tbz";
|
||||||
sha256 = "0cbc4a20c8ed40162b3b9ab1400b174293ec1ad7508e640ca879e78c45a105d0";
|
sha256 = "0cbc4a20c8ed40162b3b9ab1400b174293ec1ad7508e640ca879e78c45a105d0";
|
||||||
};
|
};
|
||||||
|
|
||||||
tikzuml = { pkgs = [ pkgs.tikzuml ]; };
|
tikzuml = {pkgs = [pkgs.tikzuml];};
|
||||||
|
|
||||||
texpkgs = pkgs.texlive.combine {
|
texpkgs = pkgs.texlive.combine {
|
||||||
inherit (pkgs.texlive) scheme-full;
|
inherit (pkgs.texlive) scheme-full;
|
||||||
inherit tikzuml;
|
inherit tikzuml;
|
||||||
};
|
};
|
||||||
|
in
|
||||||
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
|
pname = "tikz-uml";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
in stdenvNoCC.mkDerivation (finalAttrs: {
|
inherit src;
|
||||||
pname = "tikz-uml";
|
|
||||||
inherit version;
|
|
||||||
|
|
||||||
inherit src;
|
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out/share/texmf-nix/latex/tikz-uml
|
mkdir -p $out/share/texmf-nix/latex/tikz-uml
|
||||||
mkdir -p $out/share/texmf-nix/doc/tikz-uml
|
mkdir -p $out/share/texmf-nix/doc/tikz-uml
|
||||||
cp -prd doc/. $out/share/texmf-nix/doc/tikz-uml
|
cp -prd doc/. $out/share/texmf-nix/doc/tikz-uml
|
||||||
cp -prd tikz-uml.sty $out/share/texmf-nix/latex/tikz-uml/
|
cp -prd tikz-uml.sty $out/share/texmf-nix/latex/tikz-uml/
|
||||||
|
|
||||||
# install -Dm644 "$src/tikzuml-v${version}-${date}/tikz-uml.sty" "$out/share/texmf-nix/tex/latex/tikz-uml/tikz-uml.sty"
|
# install -Dm644 "$src/tikzuml-v${version}-${date}/tikz-uml.sty" "$out/share/texmf-nix/tex/latex/tikz-uml/tikz-uml.sty"
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://perso.ensta-paris.fr/~kielbasi/tikzuml/index.php";
|
homepage = "https://perso.ensta-paris.fr/~kielbasi/tikzuml/index.php";
|
||||||
description = "A LaTeX package for drawing UML diagrams using pgf/tikz";
|
description = "A LaTeX package for drawing UML diagrams using pgf/tikz";
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
maintainers = with maintainers; [ eRgo35 ];
|
maintainers = with maintainers; [eRgo35];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user