Compare commits
No commits in common. "37a8134c23a87dc1a4ed03abb5847f96c6db744d" and "c7e2263d644d7db92aa87b757cb713965aa20a8a" have entirely different histories.
37a8134c23
...
c7e2263d64
|
@ -1,9 +1,6 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# TODO Surely there's more elegant?
|
# TODO Surely there's more elegant?
|
||||||
|
|
||||||
nix-channel --add https://nixos.org/channels/nixos-23.05 nixpkgs
|
nix-channel --add https://nixos.org/channels/nixos-23.05 nixpkgs
|
||||||
nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.05.tar.gz home-manager
|
nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.05.tar.gz home-manager
|
||||||
# First commit before 23.05 release date:
|
nix-channel --add https://github.com/NixOS/nixos-hardware/archive/master.tar.gz nixos-hardware
|
||||||
nix-channel --add https://github.com/NixOS/nixos-hardware/archive/468a7a108108908c7a35d6549f1e1f0236a9448a.tar.gz nixos-hardware
|
|
||||||
nix-channel --update
|
|
||||||
|
|
|
@ -7,6 +7,4 @@
|
||||||
|
|
||||||
networking.hostName = "curacao";
|
networking.hostName = "curacao";
|
||||||
frogeye.extra = true;
|
frogeye.extra = true;
|
||||||
frogeye.desktop.xorg = true;
|
|
||||||
frogeye.dev.docker = true;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,11 +8,5 @@
|
||||||
home.homeDirectory = "/home/gnix";
|
home.homeDirectory = "/home/gnix";
|
||||||
|
|
||||||
frogeye.extra = true;
|
frogeye.extra = true;
|
||||||
frogeye.desktop.xorg = true;
|
|
||||||
frogeye.desktop.nixGLIntel = true;
|
frogeye.desktop.nixGLIntel = true;
|
||||||
frogeye.dev.ansible.enable = true;
|
|
||||||
frogeye.dev.c.enable = true;
|
|
||||||
frogeye.dev.docker.enable = true;
|
|
||||||
frogeye.dev.fpga.enable = true;
|
|
||||||
frogeye.dev.python.enable = true;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -394,16 +394,19 @@ in
|
||||||
wget
|
wget
|
||||||
curl
|
curl
|
||||||
python3Packages.pip
|
python3Packages.pip
|
||||||
|
ansible # TODO Reevaluate
|
||||||
|
|
||||||
# shell
|
# shell
|
||||||
zsh-completions
|
zsh-completions
|
||||||
nix-zsh-completions
|
nix-zsh-completions
|
||||||
zsh-history-substring-search
|
zsh-history-substring-search
|
||||||
|
antigen # TODO Reevaluate
|
||||||
powerline-go
|
powerline-go
|
||||||
|
|
||||||
# terminal essentials
|
# terminal essentials
|
||||||
moreutils
|
moreutils
|
||||||
man
|
man
|
||||||
|
visidata
|
||||||
# nodePackages.insect # FIXME Don't install on aarch64
|
# nodePackages.insect # FIXME Don't install on aarch64
|
||||||
# TODO Use whatever replaces insect
|
# TODO Use whatever replaces insect
|
||||||
translate-shell
|
translate-shell
|
||||||
|
@ -435,6 +438,7 @@ in
|
||||||
speedtest-cli
|
speedtest-cli
|
||||||
|
|
||||||
# multimedia toolbox
|
# multimedia toolbox
|
||||||
|
ffmpeg
|
||||||
sox
|
sox
|
||||||
imagemagick
|
imagemagick
|
||||||
|
|
||||||
|
@ -461,28 +465,23 @@ in
|
||||||
# Favourite commands
|
# Favourite commands
|
||||||
PAGER = "${pkgs.coreutils}/bin/less";
|
PAGER = "${pkgs.coreutils}/bin/less";
|
||||||
EDITOR = "${pkgs.neovim}/bin/nvim";
|
EDITOR = "${pkgs.neovim}/bin/nvim";
|
||||||
|
VISUAL = "${pkgs.neovim}/bin/nvim";
|
||||||
# Extra config
|
BROWSER = "${config.programs.qutebrowser.package}/bin/qutebrowser";
|
||||||
|
} // direnv // {
|
||||||
BOOT9_PATH = "${config.xdg.dataHome}/citra-emu/sysdata/boot9.bin";
|
BOOT9_PATH = "${config.xdg.dataHome}/citra-emu/sysdata/boot9.bin";
|
||||||
CCACHE_CONFIGPATH = "${config.xdg.configHome}/ccache.conf";
|
CCACHE_CONFIGPATH = "${config.xdg.configHome}/ccache.conf";
|
||||||
# INPUTRC = "${config.xdg.configHome}/inputrc"; # UPST Will use programs.readline, but doesn't allow path setting
|
# INPUTRC = "${config.xdg.configHome}/inputrc"; # UPST Will use programs.readline, but doesn't allow path setting
|
||||||
LESSHISTFILE = "${config.xdg.stateHome}/lesshst";
|
LESSHISTFILE = "${config.xdg.stateHome}/lesshst";
|
||||||
NODE_REPL_HISTORY = "${config.xdg.cacheHome}/node_repl_history";
|
NODE_REPL_HISTORY = "${config.xdg.cacheHome}/node_repl_history";
|
||||||
PYTHONSTARTUP = "${config.xdg.configHome}/pythonstartup.py";
|
PYTHONSTARTUP = "${config.xdg.configHome}/pythonstartup.py";
|
||||||
|
RXVT_SOCKET = "${config.xdg.stateHome}/urxvtd"; # Used to want -$HOME suffix, hopefullt this isn't needed
|
||||||
# TODO I think we're not using the urxvt daemon on purpose?
|
# TODO I think we're not using the urxvt daemon on purpose?
|
||||||
# TODO this should be desktop only, as a few things are too.
|
# TODO this should be desktop only, as a few things are too.
|
||||||
SCREENRC = "${config.xdg.configHome}/screenrc";
|
SCREENRC = "${config.xdg.configHome}/screenrc";
|
||||||
SQLITE_HISTFILE = "${config.xdg.stateHome}/sqlite_history";
|
SQLITE_HISTFILE = "${config.xdg.stateHome}/sqlite_history";
|
||||||
YARN_DISABLE_SELF_UPDATE_CHECK = "true"; # This also disable the creation of a ~/.yarnrc file
|
YARN_DISABLE_SELF_UPDATE_CHECK = "true"; # This also disable the creation of a ~/.yarnrc file
|
||||||
} // lib.optionalAttrs config.frogeye.desktop.xorg {
|
|
||||||
# Favourite commands
|
|
||||||
VISUAL = "${pkgs.neovim}/bin/nvim";
|
|
||||||
BROWSER = "${config.programs.qutebrowser.package}/bin/qutebrowser";
|
|
||||||
|
|
||||||
# Extra config
|
|
||||||
RXVT_SOCKET = "${config.xdg.stateHome}/urxvtd"; # Used to want -$HOME suffix, hopefullt this isn't needed
|
|
||||||
# XAUTHORITY = "${config.xdg.configHome}/Xauthority"; # Disabled as this causes lock-ups with DMs
|
# XAUTHORITY = "${config.xdg.configHome}/Xauthority"; # Disabled as this causes lock-ups with DMs
|
||||||
} // direnv;
|
};
|
||||||
# TODO Session variables only get reloaded on login I think.
|
# TODO Session variables only get reloaded on login I think.
|
||||||
sessionPath = [
|
sessionPath = [
|
||||||
"$HOME/.local/bin"
|
"$HOME/.local/bin"
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,9 +1,17 @@
|
||||||
{ pkgs, config, ... }: {
|
{ pkgs, ... }: {
|
||||||
# TODO Maybe should be per-directory dotenv
|
# TODO Separate in diffrent packages once the structure is finalized...
|
||||||
# Or not, for neovim
|
# or connvert into per-directory requirements
|
||||||
|
|
||||||
# Always on
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
# Ansible
|
||||||
|
ansible
|
||||||
|
ansible-lint
|
||||||
|
|
||||||
|
# C/C++
|
||||||
|
cmake
|
||||||
|
clang
|
||||||
|
ccache
|
||||||
|
gdb
|
||||||
|
|
||||||
# Common
|
# Common
|
||||||
perf-tools
|
perf-tools
|
||||||
git
|
git
|
||||||
|
@ -11,6 +19,17 @@
|
||||||
yq
|
yq
|
||||||
universal-ctags
|
universal-ctags
|
||||||
highlight
|
highlight
|
||||||
|
zeal-qt6 # Offline documentation
|
||||||
|
|
||||||
|
# Docker
|
||||||
|
docker
|
||||||
|
docker-compose
|
||||||
|
|
||||||
|
# FPGA
|
||||||
|
yosys
|
||||||
|
verilog
|
||||||
|
# ghdl # TODO Not on aarch64
|
||||||
|
gtkwave # TODO Display server only
|
||||||
|
|
||||||
# Network
|
# Network
|
||||||
socat
|
socat
|
||||||
|
@ -18,49 +37,13 @@
|
||||||
whois
|
whois
|
||||||
nmap
|
nmap
|
||||||
tcpdump
|
tcpdump
|
||||||
|
wireshark-qt # TODO Display server only
|
||||||
|
|
||||||
# nix
|
# nix
|
||||||
nix
|
nix
|
||||||
|
|
||||||
# Always on (graphical)
|
|
||||||
] ++ lib.optionals config.frogeye.desktop.xorg [
|
|
||||||
# Common
|
|
||||||
zeal-qt6 # Offline documentation
|
|
||||||
|
|
||||||
# Network
|
|
||||||
wireshark-qt
|
|
||||||
|
|
||||||
# Ansible
|
|
||||||
] ++ lib.optionals config.frogeye.dev.ansible [
|
|
||||||
ansible
|
|
||||||
ansible-lint
|
|
||||||
|
|
||||||
# C/C++
|
|
||||||
] ++ lib.optionals config.frogeye.dev.c [
|
|
||||||
cmake
|
|
||||||
clang
|
|
||||||
ccache
|
|
||||||
gdb
|
|
||||||
|
|
||||||
# Docker
|
|
||||||
] ++ lib.optionals config.frogeye.dev.docker [
|
|
||||||
docker
|
|
||||||
docker-compose
|
|
||||||
|
|
||||||
# FPGA
|
|
||||||
] ++ lib.optionals config.frogeye.dev.fpga [
|
|
||||||
verilog
|
|
||||||
# ghdl # TODO Not on aarch64
|
|
||||||
|
|
||||||
# FPGA (graphical)
|
|
||||||
] ++ lib.optionals (config.frogeye.desktop.xorg && config.frogeye.dev.fpga) [
|
|
||||||
yosys
|
|
||||||
gtkwave
|
|
||||||
|
|
||||||
# Python
|
# Python
|
||||||
] ++ lib.optionals config.frogeye.dev.python [
|
|
||||||
python3Packages.ipython
|
python3Packages.ipython
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,57 +1,44 @@
|
||||||
{ pkgs, lib, config, ... }:
|
{ pkgs, lib, config, ... }:
|
||||||
{
|
{
|
||||||
config = lib.mkIf config.frogeye.extra {
|
home.packages = with pkgs; lib.mkIf config.frogeye.extra [
|
||||||
programs = {
|
# android tools
|
||||||
pandoc.enable = true;
|
android-tools
|
||||||
};
|
|
||||||
home.packages = with pkgs; ([
|
|
||||||
# android tools
|
|
||||||
android-tools
|
|
||||||
|
|
||||||
# downloading
|
# multimedia editors
|
||||||
yt-dlp
|
gimp
|
||||||
megatools
|
inkscape
|
||||||
# transmission TODO Collision if both transmissions are active?
|
darktable
|
||||||
|
blender
|
||||||
|
puddletag
|
||||||
|
musescore
|
||||||
|
audacity
|
||||||
|
|
||||||
# Multimedia toolbox
|
# downloading
|
||||||
ffmpeg
|
yt-dlp
|
||||||
|
megatools
|
||||||
|
# transmission TODO Collision if both transmissions are active?
|
||||||
|
transmission-qt
|
||||||
|
|
||||||
# documents
|
# wine
|
||||||
visidata
|
wine
|
||||||
texlive.combined.scheme-full
|
# TODO wine-gecko wine-mono lib32-libpulse (?)
|
||||||
pdftk
|
|
||||||
hunspell
|
|
||||||
hunspellDicts.en_GB-ize
|
|
||||||
hunspellDicts.en_US
|
|
||||||
hunspellDicts.fr-moderne
|
|
||||||
hunspellDicts.nl_NL
|
|
||||||
# TODO libreoffice-extension-languagetool or libreoffice-extension-grammalecte-fr
|
|
||||||
|
|
||||||
] ++ lib.optionals config.frogeye.desktop.xorg [
|
# documents
|
||||||
|
pandoc
|
||||||
|
texlive.combined.scheme-full
|
||||||
|
pdftk
|
||||||
|
hunspell
|
||||||
|
hunspellDicts.en_GB-ize
|
||||||
|
hunspellDicts.en_US
|
||||||
|
hunspellDicts.fr-moderne
|
||||||
|
hunspellDicts.nl_NL
|
||||||
|
# TODO libreoffice-extension-languagetool or libreoffice-extension-grammalecte-fr
|
||||||
|
|
||||||
# multimedia editors
|
# gaming
|
||||||
gimp
|
steam
|
||||||
inkscape
|
yuzu-mainline
|
||||||
darktable
|
minecraft
|
||||||
blender
|
# TODO factorio
|
||||||
puddletag
|
];
|
||||||
musescore
|
|
||||||
audacity
|
|
||||||
|
|
||||||
# downloading
|
|
||||||
transmission-qt
|
|
||||||
|
|
||||||
# FIXME Below not on aarch64
|
|
||||||
# wine
|
|
||||||
wine
|
|
||||||
# TODO wine-gecko wine-mono lib32-libpulse (?)
|
|
||||||
|
|
||||||
# gaming
|
|
||||||
steam
|
|
||||||
yuzu-mainline
|
|
||||||
minecraft
|
|
||||||
# TODO factorio
|
|
||||||
|
|
||||||
]);
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,7 +167,7 @@ in
|
||||||
jsonls.enable = true; # JSON
|
jsonls.enable = true; # JSON
|
||||||
lua-ls.enable = true; # Lua (for Neovim debugging)
|
lua-ls.enable = true; # Lua (for Neovim debugging)
|
||||||
# FIXME perlls
|
# FIXME perlls
|
||||||
pylsp = lib.mkIf config.frogeye.dev.python {
|
pylsp = {
|
||||||
# Python
|
# Python
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.plugins = {
|
settings.plugins = {
|
||||||
|
@ -288,14 +288,10 @@ in
|
||||||
|
|
||||||
# Language-specific
|
# Language-specific
|
||||||
tcomment_vim # Language-aware (un)commenting
|
tcomment_vim # Language-aware (un)commenting
|
||||||
] ++ lib.optionals config.frogeye.extra [
|
|
||||||
vim-LanguageTool # Check grammar for human languages
|
vim-LanguageTool # Check grammar for human languages
|
||||||
] ++ lib.optionals config.programs.pandoc.enable [
|
|
||||||
vim-pandoc # Pandoc-specific stuff because there's no LSP for it
|
vim-pandoc # Pandoc-specific stuff because there's no LSP for it
|
||||||
vim-pandoc-syntax
|
vim-pandoc-syntax
|
||||||
] ++ lib.optionals config.frogeye.dev.c [
|
|
||||||
nvim-dap # Debug Adapter Protocol client
|
nvim-dap # Debug Adapter Protocol client
|
||||||
] ++ lib.optionals config.frogeye.dev.ansible [
|
|
||||||
ansible-vim # FIXME See if it doesn't require to do ./UltiSnips/generate.sh
|
ansible-vim # FIXME See if it doesn't require to do ./UltiSnips/generate.sh
|
||||||
];
|
];
|
||||||
extraConfigLua = lib.strings.concatMapStringsSep "\n" (f: builtins.readFile f) [
|
extraConfigLua = lib.strings.concatMapStringsSep "\n" (f: builtins.readFile f) [
|
||||||
|
@ -327,12 +323,10 @@ in
|
||||||
inoremap <silent><expr> <C-f> compe#scroll({ 'delta': +4 })
|
inoremap <silent><expr> <C-f> compe#scroll({ 'delta': +4 })
|
||||||
inoremap <silent><expr> <C-d> compe#scroll({ 'delta': -4 })
|
inoremap <silent><expr> <C-d> compe#scroll({ 'delta': -4 })
|
||||||
|
|
||||||
'' + lib.optionalString config.frogeye.extra ''
|
|
||||||
" languagetool
|
" languagetool
|
||||||
let g:languagetool_cmd = "${pkgs.languagetool}/bin/languagetool-commandline"
|
let g:languagetool_cmd = "${pkgs.languagetool}/bin/languagetool-commandline"
|
||||||
" TODO Doesn't work
|
" TODO Doesn't work
|
||||||
|
|
||||||
'' + lib.optionalString config.programs.pandoc.enable ''
|
|
||||||
" vim-pandox
|
" vim-pandox
|
||||||
let g:pandoc#modules#disabled = ["folding"]
|
let g:pandoc#modules#disabled = ["folding"]
|
||||||
let g:pandoc#spell#enabled = 0
|
let g:pandoc#spell#enabled = 0
|
||||||
|
|
|
@ -2,25 +2,6 @@
|
||||||
{
|
{
|
||||||
options.frogeye = {
|
options.frogeye = {
|
||||||
extra = lib.mkEnableOption "Big software";
|
extra = lib.mkEnableOption "Big software";
|
||||||
desktop = {
|
desktop.nixGLIntel = lib.mkEnableOption "Enable nixGLIntel/nixVulkanIntel for windows manager";
|
||||||
xorg = lib.mkEnableOption "Enable X11 support";
|
|
||||||
nixGLIntel = lib.mkEnableOption "Enable nixGLIntel/nixVulkanIntel for windows manager";
|
|
||||||
};
|
|
||||||
dev = {
|
|
||||||
ansible = lib.mkEnableOption "Ansible dev stuff";
|
|
||||||
c = lib.mkEnableOption "C/C++ dev stuff";
|
|
||||||
docker = lib.mkEnableOption "Docker dev stuff";
|
|
||||||
fpga = lib.mkEnableOption "FPGA dev stuff";
|
|
||||||
python = lib.mkEnableOption "Python dev stuff";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = {
|
|
||||||
frogeye = {
|
|
||||||
dev = {
|
|
||||||
ansible = lib.mkDefault true;
|
|
||||||
python = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +1,17 @@
|
||||||
{ pkgs, lib, config, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
config = lib.mkIf config.frogeye.desktop.xorg {
|
# Enable the X11 windowing system
|
||||||
# Enable the X11 windowing system
|
services.xserver.enable = true;
|
||||||
|
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = true;
|
windowManager.i3.enable = true;
|
||||||
windowManager.i3.enable = true;
|
displayManager.defaultSession = "none+i3";
|
||||||
displayManager.defaultSession = "none+i3";
|
|
||||||
|
|
||||||
# Keyboard layout
|
# Keyboard layout
|
||||||
extraLayouts.qwerty-fr = {
|
extraLayouts.qwerty-fr = {
|
||||||
description = "QWERTY-fr";
|
description = "QWERTY-fr";
|
||||||
languages = [ "fr" ];
|
languages = [ "fr" ];
|
||||||
symbolsFile = "${pkgs.stdenv.mkDerivation {
|
symbolsFile = "${pkgs.stdenv.mkDerivation {
|
||||||
name = "qwerty-fr-keypad";
|
name = "qwerty-fr-keypad";
|
||||||
src = builtins.fetchGit {
|
src = builtins.fetchGit {
|
||||||
url = "https://github.com/qwerty-fr/qwerty-fr.git";
|
url = "https://github.com/qwerty-fr/qwerty-fr.git";
|
||||||
|
@ -27,12 +26,11 @@
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
}}/linux/us_qwerty-fr";
|
}}/linux/us_qwerty-fr";
|
||||||
};
|
|
||||||
layout = "qwerty-fr";
|
|
||||||
};
|
};
|
||||||
|
layout = "qwerty-fr";
|
||||||
# Enable sound
|
|
||||||
sound.enable = true;
|
|
||||||
hardware.pulseaudio.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Enable sound
|
||||||
|
sound.enable = true;
|
||||||
|
hardware.pulseaudio.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,9 @@
|
||||||
{ pkgs, config, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
<nixos-hardware/pine64/pinebook-pro>
|
# <nixos-hardware/pine64/pinebook-pro>
|
||||||
<nixpkgs/nixos/modules/installer/sd-card/sd-image-aarch64.nix>
|
<nixpkgs/nixos/modules/installer/sd-card/sd-image-aarch64.nix>
|
||||||
./os/loader.nix
|
./os/loader.nix
|
||||||
];
|
];
|
||||||
# nixos-hardware use latest kernel by default. This obviously runs quickly out of sync with zfs packages.
|
|
||||||
# zfs packages are included despite me asking anything zfs, probably they're in the image for installation purposes?
|
|
||||||
boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;
|
|
||||||
|
|
||||||
networking.hostName = "pindakaas";
|
networking.hostName = "pindakaas";
|
||||||
|
|
||||||
frogeye.extra = false; # FIXME Not working yet
|
|
||||||
frogeye.desktop.xorg = true;
|
|
||||||
frogeye.dev.docker = true;
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue