Improve repo structure

This commit is contained in:
Paul-Henri Froidmont 2021-07-16 21:09:58 +02:00
parent fdc4148540
commit 62f200ba03
Signed by: phfroidmont
GPG key ID: BE948AFD7E7873BE
294 changed files with 499 additions and 516 deletions

View file

@ -1,22 +0,0 @@
{ config, lib, pkgs, ... }:
{
hardware.opengl.driSupport32Bit = true;
home-manager.users.froidmpa = { pkgs, config, ... }: {
nixpkgs.config = {
allowUnfree = true;
packageOverrides = super:
let self = super.pkgs; in
{
lutris-unwrapped = super.lutris-unwrapped.overridePythonAttrs (oldAttrs: rec {
patches = [
./lutris_sort_new_with_model_fix.patch
];
});
};
};
home.packages = with pkgs; [
steam
dolphinEmu
];
};
}

View file

@ -1,120 +0,0 @@
{ config, lib, pkgs, ... }:
{
home.packages = with pkgs; [
zsh-syntax-highlighting
ranger
R
tldr
thefuck
atool
linuxPackages.perf
];
programs = {
neovim = {
enable = true;
vimAlias = true;
plugins = with pkgs; [
vimPlugins.gruvbox-community
vimPlugins.vim-airline
vimPlugins.vim-airline-themes
vimPlugins.vim-gitgutter
vimPlugins.nerdtree
vimPlugins.nerdtree-git-plugin
vimPlugins.ctrlp-vim
vimPlugins.tabular
];
extraConfig = ''
let g:gruvbox_italic=1
colorscheme gruvbox
set background=dark
let g:airline_powerline_fonts = 1
autocmd VimEnter * hi Normal ctermbg=NONE guibg=NONE
"Toggle NERDTree with Ctrl-N
map <C-n> :NERDTreeToggle<CR>
"Show hidden files in NERDTree
let NERDTreeShowHidden=1
set number relativenumber
" Run xrdb whenever Xdefaults or Xresources are updated.
autocmd BufWritePost ~/.Xresources,~/.Xdefaults !xrdb %
'';
};
bat.enable = true;
jq.enable = true;
fzf.enable = true;
lesspipe.enable = true;
zathura.enable = true;
pazi.enable = true;
htop = {
enable = true;
hideUserlandThreads = true;
highlightBaseName = true;
fields = [ "PID" "USER" "M_RESIDENT" "M_SHARE" "STATE" "PERCENT_CPU" "PERCENT_MEM" "IO_RATE" "TIME" "COMM" ];
meters.left = [ "LeftCPUs" "Memory" "Swap" ];
meters.right = [ "RightCPUs" "Tasks" "LoadAverage" "Uptime" ];
};
broot = {
enable = true;
enableZshIntegration = true;
};
command-not-found.enable = true;
zsh = {
enable = true;
history = {
save = 50000;
size = 50000;
};
enableAutosuggestions = true;
initExtra = ''
autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
[[ -n "$key[Up]" ]] && bindkey -- "$key[Up]" up-line-or-beginning-search
[[ -n "$key[Down]" ]] && bindkey -- "$key[Down]" down-line-or-beginning-search
eval $(thefuck --alias)
'';
oh-my-zsh = {
enable = true;
plugins = [
"git"
];
theme = "robbyrussell";
};
plugins = [
{
name = "zsh-syntax-highlighting";
file = "share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh";
src = "${pkgs.zsh-syntax-highlighting}";
}
];
};
direnv = {
enable = true;
enableNixDirenvIntegration = true;
enableZshIntegration = true;
nix-direnv = {
enable = true;
enableFlakes = true;
};
};
};
home.file.".config/ranger" = {
source = ./files/ranger;
recursive = true;
};
home.file.".config/ranger/plugins" = {
source = builtins.fetchGit {
url = "git://github.com/phfroidmont/ranger_devicons.git";
rev = "e02b6a3203411b76616a0e4328245bf8b47c5dcc";
};
recursive = true;
};
}

View file

@ -1,19 +0,0 @@
{ config, lib, pkgs, ... }:
{
nixpkgs.config.allowUnfree = true;
home.packages = with pkgs; [
jdk
jetbrains.idea-community
jetbrains.idea-ultimate
maven
sbt
geckodriver
];
services.gpg-agent = {
enable = true;
enableSshSupport = false;
pinentryFlavor = "gtk2";
};
programs.gpg.enable = true;
}

View file

@ -1,13 +0,0 @@
{ config, lib, pkgs, ... }:
{
imports = [
./cli.nix
./xmonad.nix
./gui.nix
./dev.nix
];
home.packages = with pkgs; [
i3lock
];
}

View file

@ -1,25 +0,0 @@
{ config, lib, pkgs, ... }:
{
nixpkgs.config.packageOverrides = pkgs: {
nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
inherit pkgs;
};
};
home.packages = with pkgs; [
firefox
brave
keepassxc
krita
element-desktop
mpv
mumble
libreoffice-fresh
thunderbird
portfolio
transmission-remote-gtk
monero-gui
];
services.nextcloud-client.enable = true;
services.udiskie.enable = true;
}

View file

@ -1,207 +0,0 @@
{ config, lib, pkgs, ... }:
{
xsession = {
enable = true;
windowManager.xmonad = {
enable = true;
enableContribAndExtras = true;
config = ./files/xmonad.hs;
};
initExtra = ''
keepassxc &
'';
numlock.enable = true;
};
nixpkgs.config.packageOverrides = pkgs: {
ncmpcpp = pkgs.ncmpcpp.override { visualizerSupport = true; };
firefox = pkgs.firefox.override { pkcs11Modules = [ pkgs.eid-mw ]; };
};
home = {
sessionVariables = {
EDITOR = "vim";
QT_AUTO_SCREEN_SCALE_FACTOR = "0";
};
packages = with pkgs; [
haskellPackages.xmobar
ncmpcpp
mpc_cli
pulsemixer
feh
xorg.xbacklight
xorg.xinit
xorg.xwininfo
xorg.xkill
scrot
numix-gtk-theme
# Ranger preview utils
w3m
xclip
odt2txt
];
keyboard = {
layout = "fr";
options = [ "caps:escape" ];
};
file = {
".wallpaper.png".source = ./files/wallpaper.png;
".xmonad/xmobarrc".source = ./files/xmobarrc;
".config/ncmpcpp" = {
source = ./files/ncmpcpp;
recursive = true;
};
".xmonad/scripts" = {
source = ./files/scripts;
recursive = true;
};
".themes/oomox-gruvmox-dark-medium-default" = {
source = ./files/oomox-gruvmox-dark-medium-default;
recursive = true;
};
};
};
gtk = {
enable = true;
theme.name = "oomox-gruvmox-dark-medium-default";
iconTheme.name = "oomox-gruvmox-dark-medium-default";
};
qt = {
enable = true;
platformTheme = "gtk";
};
services = {
mpd = {
enable = true;
network.listenAddress = "any";
musicDirectory = "${config.home.homeDirectory}/Nextcloud/Media/Music";
playlistDirectory = "${config.home.homeDirectory}/Nextcloud/Playlists";
extraConfig = ''
max_output_buffer_size "16384"
auto_update "yes"
audio_output {
type "pulse"
name "pulse audio"
device "pulse"
mixer_type "hardware"
}
audio_output {
type "fifo"
name "toggle_visualizer"
path "/tmp/mpd.fifo"
format "44100:16:2"
}
'';
};
stalonetray = {
enable = true;
config = {
geometry = "1x1-5+0";
background = "#000000";
transparent = true;
grow_gravity = "E";
icon_gravity = "E";
icon_size = "24";
kludges = "force_icons_size";
};
};
unclutter.enable = true;
pasystray.enable = true;
dunst = {
enable = true;
settings = {
global = {
monitor = 0;
geometry = "350x5-30+50";
transparency = 10;
font = "monospace 14";
idle_threshold = 120;
allow_markup = "yes";
format = "<b>%s</b>\n%b";
show_age_threshold = 300;
word_wrap = "yes";
sticky_history = "yes";
sort = "yes";
};
frame = {
width = 3;
color = "#ebdbb2";
};
shortcuts = {
close = "ctrl+space";
close_all = "ctrl+shift+space";
history = "ctrl+grave";
context = "ctrl+shift+period";
};
urgency_low = {
foreground = "#ebdbb2";
background = "#32302f";
timeout = 10;
};
urgency_normal = {
foreground = "#ebdbb2";
background = "#32302f";
timeout = 10;
};
urgency_critical = {
foreground = "#ebdbb2";
background = "#32302f";
timeout = 10;
};
};
};
screen-locker = {
enable = true;
inactiveInterval = 5;
lockCmd = "${pkgs.i3lock}/bin/i3lock -e -f -c 000000 -i ~/.wallpaper.png";
};
};
programs = {
rofi = {
enable = true;
theme = "gruvbox-dark";
terminal = "urxvt";
};
urxvt = {
enable = true;
package = pkgs.rxvt_unicode-with-plugins;
fonts = [ "xft:monospace:size=12:antialias=true" ];
scroll = {
bar.enable = false;
lines = 65535;
};
keybindings = {
"Shift-Control-C" = "eval:selection_to_clipboard";
"Shift-Control-V" = "eval:paste_clipboard";
};
extraConfig = {
"perl-ext-common" = "default,clipboard,matcher,resize-font";
"background" = "rgba:28ff/28ff/28ff/cf00";
"foreground" = "#ebdbb2";
"color0" = "#282828";
"color8" = "#928374";
"color1" = "#cc241d";
"color9" = "#fb4934";
"color2" = "#98971a";
"color10" = "#b8bb26";
"color3" = "#d79921";
"color11" = "#fabd2f";
"color4" = "#458588";
"color12" = "#83a598";
"color5" = "#b16286";
"color13" = "#d3869b";
"color6" = "#689d6a";
"color14" = "#8ec07c";
"color7" = "#a89984";
"color15" = "#ebdbb2";
"termName" = "rxvt-256color";
"letterSpace" = "-1";
"internalBorder" = "10";
"depth" = "32";
"resize-font.smaller" = "C-Down";
"resize-font.bigger" = "C-Up";
};
};
};
}

View file

@ -11,14 +11,18 @@
modules = modules =
[ [
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ ./hardware/desktop.nix
imports = [ ./profiles/base.nix
./hosts/nixos-desktop/configuration.nix ./users
]; ({
networking.hostName = "nixos-desktop";
# Allow to externally control MPD
networking.firewall.allowedTCPPorts = [ 6600 ];
system.configurationRevision = nixpkgs.lib.mkIf (self ? rev) self.rev;
nix.registry.nixpkgs.flake = nixpkgs; nix.registry.nixpkgs.flake = nixpkgs;
}
system.stateVersion = "19.09";
})
]; ];
}; };

50
hardware/desktop.nix Normal file
View file

@ -0,0 +1,50 @@
{ config, lib, pkgs, modulesPath, ... }:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot = {
initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "sd_mod" ];
initrd.kernelModules = [ "amdgpu" ];
kernelModules = [ "kvm-amd" ];
extraModulePackages = [ ];
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
};
fileSystems."/" =
{
device = "/dev/disk/by-uuid/f1e21558-88e6-413e-b56a-04e0b25e9ddd";
fsType = "ext4";
};
fileSystems."/boot" =
{
device = "/dev/disk/by-uuid/CCD1-0415";
fsType = "vfat";
};
fileSystems."/home/froidmpa/Nextcloud" = {
device = "/dev/disk/by-uuid/a4ba8b21-ea33-4487-b6f6-9bb7470a0acb";
fsType = "ext4";
};
swapDevices =
[{ device = "/dev/disk/by-uuid/f714775c-b5af-4c0c-8330-999b43db4794"; }];
nix.maxJobs = lib.mkDefault 16;
networking.interfaces.enp31s0.useDHCP = true;
services.xserver.videoDrivers = [ "amdgpu" ];
hardware.opengl = {
driSupport = true;
driSupport32Bit = true;
extraPackages = with pkgs; [
rocm-opencl-icd
rocm-opencl-runtime
];
};
}

View file

@ -1,72 +0,0 @@
{ config, lib, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
../../configs/system.nix
../../configs/network.nix
../../configs/virtualisation.nix
../../configs/games.nix
];
home-manager.users.froidmpa = { pkgs, config, ... }: {
imports = [
../../configs/home/full.nix
];
home.stateVersion = "20.09";
programs.git = {
enable = true;
userName = "Paul-Henri Froidmont";
userEmail = "git.contact-57n2p@froidmont.org";
signing = {
key = "3AC6F170F01133CE393BCD94BE948AFD7E7873BE";
signByDefault = true;
};
};
};
hardware.opengl = {
driSupport = true;
driSupport32Bit = true;
extraPackages = with pkgs; [
rocm-opencl-icd
rocm-opencl-runtime
];
};
environment.systemPackages = with pkgs; [
eid-mw
];
fileSystems."/home/froidmpa/Nextcloud" = {
device = "/dev/disk/by-uuid/a4ba8b21-ea33-4487-b6f6-9bb7470a0acb";
fsType = "ext4";
};
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "nixos-desktop";
networking.interfaces.enp31s0.useDHCP = true;
# Allow to externally control MPD
networking.firewall.allowedTCPPorts = [ 6600 ];
console = {
font = "Lat2-Terminus16";
keyMap = "fr";
};
i18n = {
defaultLocale = "en_US.UTF-8";
};
time.timeZone = "Europe/Amsterdam";
services.xserver.videoDrivers = [ "amdgpu" ];
services.sshd.enable = true;
services.pcscd.enable = true;
system.stateVersion = "19.09";
}

View file

@ -1,27 +0,0 @@
{ config, lib, pkgs, ... }:
{
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ "amdgpu" ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{
device = "/dev/disk/by-uuid/f1e21558-88e6-413e-b56a-04e0b25e9ddd";
fsType = "ext4";
};
fileSystems."/boot" =
{
device = "/dev/disk/by-uuid/CCD1-0415";
fsType = "vfat";
};
swapDevices =
[{ device = "/dev/disk/by-uuid/f714775c-b5af-4c0c-8330-999b43db4794"; }];
nix.maxJobs = lib.mkDefault 16;
# High-DPI console
console.font = lib.mkDefault "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";
}

7
modules/belgian-eid.nix Normal file
View file

@ -0,0 +1,7 @@
{ config, lib, pkgs, ... }:
{
services.pcscd.enable = true;
environment.systemPackages = with pkgs; [
eid-mw
];
}

22
modules/games.nix Normal file
View file

@ -0,0 +1,22 @@
{ config, lib, pkgs, ... }:
{
home-manager.users.froidmpa = { pkgs, config, ... }: {
# nixpkgs.config = {
# allowUnfree = true;
# packageOverrides = super:
# let self = super.pkgs; in
# {
# lutris-unwrapped = super.lutris-unwrapped.overridePythonAttrs (oldAttrs: rec {
# patches = [
# ./lutris_sort_new_with_model_fix.patch
# ];
# });
# };
# };
# home.packages = with pkgs; [
# steam
# dolphinEmu
# ];
};
}

View file

@ -8,9 +8,7 @@
}; };
users.users.froidmpa.extraGroups = [ "docker" "vboxusers" ]; users.users.froidmpa.extraGroups = [ "docker" "vboxusers" ];
home-manager.users.froidmpa = { pkgs, config, ... }: { environment.systemPackages = with pkgs; [
home.packages = with pkgs; [ docker-compose
docker-compose ];
];
};
} }

19
profiles/base.nix Normal file
View file

@ -0,0 +1,19 @@
{ config, lib, pkgs, ... }:
{
imports = [
./../modules/system.nix
./../modules/network.nix
./../modules/virtualisation.nix
./../modules/belgian-eid.nix
./../modules/games.nix
];
time.timeZone = lib.mkDefault "Europe/Amsterdam";
i18n.defaultLocale = lib.mkDefault "en_US.UTF-8";
console = {
font = lib.mkDefault "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";
keyMap = lib.mkDefault "fr";
};
}

214
users/default.nix Normal file
View file

@ -0,0 +1,214 @@
{ config, lib, pkgs, ... }:
{
home-manager.users.froidmpa = { pkgs, config, ... }: {
nixpkgs.config = {
allowUnfree = true;
packageOverrides = pkgs: {
ncmpcpp = pkgs.ncmpcpp.override { visualizerSupport = true; };
firefox = pkgs.firefox.override { pkcs11Modules = [ pkgs.eid-mw ]; };
lutris-unwrapped = pkgs.lutris-unwrapped.overridePythonAttrs (oldAttrs: rec {
patches = [
./lutris_sort_new_with_model_fix.patch
];
});
};
};
xsession = {
enable = true;
windowManager.xmonad = {
enable = true;
enableContribAndExtras = true;
config = ./files/xmonad.hs;
};
initExtra = ''
keepassxc &
'';
numlock.enable = true;
};
services = {
nextcloud-client.enable = true;
udiskie.enable = true;
gpg-agent = {
enable = true;
enableSshSupport = false;
pinentryFlavor = "gtk2";
};
mpd = import ./froidmpa/mpd.nix { inherit config; };
stalonetray = {
enable = true;
config = {
geometry = "1x1-5+0";
background = "#000000";
transparent = true;
grow_gravity = "E";
icon_gravity = "E";
icon_size = "24";
kludges = "force_icons_size";
};
};
unclutter.enable = true;
pasystray.enable = true;
dunst = import ./froidmpa/dunst.nix { };
screen-locker = {
enable = true;
inactiveInterval = 5;
lockCmd = "${pkgs.i3lock}/bin/i3lock -e -f -c 000000 -i ~/.wallpaper.png";
};
};
programs = {
gpg.enable = true;
git = {
enable = true;
userName = "Paul-Henri Froidmont";
userEmail = "git.contact-57n2p@froidmont.org";
signing = {
key = lib.mkDefault "3AC6F170F01133CE393BCD94BE948AFD7E7873BE";
signByDefault = true;
};
};
rofi = {
enable = true;
theme = "gruvbox-dark";
terminal = "urxvt";
};
urxvt = import ./froidmpa/urxvt.nix { inherit pkgs; };
neovim = import ./froidmpa/neovim.nix { inherit pkgs; };
bat.enable = true;
jq.enable = true;
fzf.enable = true;
lesspipe.enable = true;
zathura.enable = true;
pazi.enable = true;
htop = {
enable = true;
hideUserlandThreads = true;
highlightBaseName = true;
fields = [ "PID" "USER" "M_RESIDENT" "M_SHARE" "STATE" "PERCENT_CPU" "PERCENT_MEM" "IO_RATE" "TIME" "COMM" ];
meters.left = [ "LeftCPUs" "Memory" "Swap" ];
meters.right = [ "RightCPUs" "Tasks" "LoadAverage" "Uptime" ];
};
broot = {
enable = true;
enableZshIntegration = true;
};
command-not-found.enable = true;
zsh = import ./froidmpa/zsh.nix { inherit pkgs; };
direnv = {
enable = true;
enableNixDirenvIntegration = true;
enableZshIntegration = true;
nix-direnv = {
enable = true;
enableFlakes = true;
};
};
};
gtk = {
enable = true;
theme.name = "oomox-gruvmox-dark-medium-default";
iconTheme.name = "oomox-gruvmox-dark-medium-default";
};
qt = {
enable = true;
platformTheme = "gtk";
};
home = {
stateVersion = "20.09";
sessionVariables = {
EDITOR = "vim";
QT_AUTO_SCREEN_SCALE_FACTOR = "0";
};
keyboard = {
layout = "fr";
options = [ "caps:escape" ];
};
file = {
".wallpaper.png".source = ./files/wallpaper.png;
".xmonad/xmobarrc".source = ./files/xmobarrc;
".config/ncmpcpp" = {
source = ./files/ncmpcpp;
recursive = true;
};
".xmonad/scripts" = {
source = ./files/scripts;
recursive = true;
};
".themes/oomox-gruvmox-dark-medium-default" = {
source = ./files/oomox-gruvmox-dark-medium-default;
recursive = true;
};
".config/ranger" = {
source = ./files/ranger;
recursive = true;
};
".config/ranger/plugins" = {
source = builtins.fetchGit {
url = "git://github.com/phfroidmont/ranger_devicons.git";
rev = "e02b6a3203411b76616a0e4328245bf8b47c5dcc";
};
recursive = true;
};
};
packages = with pkgs; [
haskellPackages.xmobar
i3lock
ncmpcpp
mpc_cli
pulsemixer
feh
xorg.xbacklight
xorg.xinit
xorg.xwininfo
xorg.xkill
scrot
numix-gtk-theme
# Ranger preview utils
w3m
xclip
odt2txt
firefox
brave
keepassxc
krita
element-desktop
mpv
mumble
libreoffice-fresh
thunderbird
portfolio
transmission-remote-gtk
monero-gui
jdk
jetbrains.idea-community
jetbrains.idea-ultimate
maven
sbt
geckodriver
zsh-syntax-highlighting
ranger
R
tldr
thefuck
atool
linuxPackages.perf
steam
dolphinEmu
];
};
};
}

Some files were not shown because too many files have changed in this diff Show more