Merge pull request 'remove riscv cross compiling and workarounds' (#107) from update-flake into main

Reviewed-on: #107
This commit is contained in:
Charlotte 🦝 Delenk 2023-06-24 23:32:30 +00:00
commit dd5c3bfac8
Signed by: gitea-bot
GPG key ID: C9974EDF9932B558
13 changed files with 176 additions and 239 deletions

View file

@ -19,17 +19,9 @@
./tailscale.nix
];
services.openssh.enable = true;
environment.systemPackages = with pkgs;
[
git
]
++ (
if system != "riscv64-linux"
then [
kitty.terminfo
]
else []
);
environment.systemPackages = with pkgs; [
git
];
networking.firewall.allowedTCPPorts = [22];
networking.firewall.allowedUDPPortRanges = [
{

View file

@ -111,6 +111,7 @@ in {
environment.systemPackages = with pkgs; [
pinentry-qt
dolphinEmuMaster
kitty.terminfo
];
programs.gnupg.agent.pinentryFlavor = "qt";

View file

@ -23,10 +23,12 @@ desktop: {pkgs, ...}: {
initExtra =
''
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
''
+ (
if pkgs.system != "riscv64-linux"
if desktop
then ''
test -n "$KITTY_INSTALLATION_DIR" || export KITTY_INSTALLATION_DIR=${pkgs.kitty}/lib/kitty
export KITTY_SHELL_INTEGRATION=enabled
autoload -Uz -- "$KITTY_INSTALLATION_DIR"/shell-integration/zsh/kitty-integration
@ -57,7 +59,7 @@ desktop: {pkgs, ...}: {
less = "bat";
}
// (
if pkgs.system != "riscv64-linux"
if desktop
then {
icat = "${pkgs.kitty}/bin/kitty +kitten icat";
d = "${pkgs.kitty}/bin/kitty +kitten diff";

View file

@ -179,33 +179,4 @@
"/ip4/0.0.0.0/tcp/5001"
"/ip6/::/tcp/5001"
]; # Only exposed over the tailed scale
# Remove when https://nixpk.gs/pr-tracker.html?pr=235815 hits
nixpkgs.overlays = [
(self: super: {
util-linux = super.util-linux.overrideAttrs (super: {
patches =
super.patches
++ [
# FIXME: backport bcache detection fixes, remove in next release
(self.fetchpatch {
url = "https://github.com/util-linux/util-linux/commit/158639a2a4c6e646fd4fa0acb5f4743e65daa415.diff";
hash = "sha256-9F1OQFxKuI383u6MVy/UM15B6B+tkZFRwuDbgoZrWME=";
})
(self.fetchpatch {
url = "https://github.com/util-linux/util-linux/commit/00a19fb8cdfeeae30a6688ac6b490e80371b2257.diff";
hash = "sha256-w1S6IKSoL6JhVew9t6EemNRc/nrJQ5oMqFekcx0kno8=";
})
];
});
inherit (nixpkgs.legacyPackages.x86_64-linux) e2fsprogs openldap;
hydra-unstable = nix-packages.packages.x86_64-linux.hydra-unstable.overrideAttrs (super: {
doCheck = false;
doInstallCheck = false;
checkPhase = "true";
installCheckPhase = "true";
});
hydra = self.hydra-unstable;
})
];
}

View file

@ -16,5 +16,4 @@ desktop: {pkgs, ...}: {
};
delta.enable = true;
};
programs.gitui.enable = desktop;
}

View file

@ -6,7 +6,7 @@
x86_64-linux-pkgs = import nixpkgs {system = "x86_64-linux";};
in {
home.packages = with pkgs; [
x86_64-linux-pkgs.anki-bin
anki
mdcat
gimp
krita

View file

@ -1,59 +1,45 @@
{pkgs, ...}: {
lspconfigPath = with pkgs;
[
nodePackages.bash-language-server
clang
clang-tools
cmake-language-server
dhall-lsp-server
nodePackages.dockerfile-language-server-nodejs
elixir-ls
gopls
nodePackages.vscode-css-languageserver-bin
nodePackages.vscode-html-languageserver-bin
nodePackages.vscode-json-languageserver
lua-language-server
nil
pyright
nodePackages.typescript
nodePackages.typescript-language-server
nodePackages.vim-language-server
]
++ (
if pkgs.system != "riscv64-linux"
then
with pkgs; [
haskell-language-server
ltex-ls
marksman
]
else []
);
lspconfig =
{
bashls = {};
clangd = {};
cmake = {};
cssls = {};
dhall_lsp_server = {};
dockerls = {};
elixirls.cmd = ["elixir-ls"];
gopls = {};
html = {};
jsonls = {};
lua_ls = {};
nil_ls = {};
pyright = {};
tsserver = {};
vimls = {};
}
// (
if pkgs.system != "riscv64-linux"
then {
hls.filetypes = ["haskell" "lhaskell" "cabal"];
ltex = {};
marksman = {};
}
else {}
);
lspconfigPath = with pkgs; [
nodePackages.bash-language-server
clang
clang-tools
cmake-language-server
dhall-lsp-server
nodePackages.dockerfile-language-server-nodejs
elixir-ls
gopls
nodePackages.vscode-css-languageserver-bin
nodePackages.vscode-html-languageserver-bin
nodePackages.vscode-json-languageserver
lua-language-server
nil
pyright
nodePackages.typescript
nodePackages.typescript-language-server
nodePackages.vim-language-server
haskell-language-server
ltex-ls
marksman
];
lspconfig = {
bashls = {};
clangd = {};
cmake = {};
cssls = {};
dhall_lsp_server = {};
dockerls = {};
elixirls.cmd = ["elixir-ls"];
gopls = {};
html = {};
jsonls = {};
lua_ls = {};
nil_ls = {};
pyright = {};
tsserver = {};
vimls = {};
hls.filetypes = ["haskell" "lhaskell" "cabal"];
ltex = {};
marksman = {};
};
}

View file

@ -1,13 +1,15 @@
{pkgs, ...}: {
output.plugins =
if pkgs.system != "riscv64-linux"
then (with pkgs.vimPlugins; [pkgs.vimPlugins.nvim-treesitter.withAllGrammars])
then with pkgs.vimPlugins; [pkgs.vimPlugins.nvim-treesitter.withAllGrammars]
else [];
plugin.setup."nvim-treesitter.configs" =
plugin.setup =
if pkgs.system != "riscv64-linux"
then {
highlight.enable = true;
highlight.disable = ["bash"];
"nvim-treesitter.configs" = {
highlight.enable = true;
highlight.disable = ["bash"];
};
}
else {};
}

View file

@ -5,12 +5,13 @@
}: {
systemd.packages = [pkgs.tgt];
systemd.services."tgtd".wantedBy = ["multi-user.target"];
systemd.services.tgtd.serviceConfig.execStartPost = "${pkgs.tgt}/bin/tgtadm --op new --mode logicalunit --tid 1 --lun 1 -b /export/vf2.img";
networking.firewall.interfaces."br0".allowedTCPPorts = [860 3260];
environment.etc."tgt/targets.conf".text = ''
default-driver iscsi
<target iqn.2022-06.rs.chir:rs.chir.int.nas.windows>
backing-store /dev/tank/iscsi/windows
<target iqn.2023-06.rs.chir:rs.chir.int.nas.vf2>
backing-store /expport/vf2.img
</target>
'';
}

View file

@ -19,7 +19,7 @@
nixpkgs.config.allowUnsupportedSystem = true;
nixpkgs.overlays = [
(import ../overlays/riscv.nix)
(import ../overlays/riscv.nix args)
];
nix.settings.substituters = lib.mkForce [
@ -28,71 +28,8 @@
"https://hydra.int.chir.rs"
];
boot = {
supportedFilesystems = lib.mkForce ["vfat" "ext4" "nfs"];
kernelPackages = pkgs.linuxPackagesFor (pkgs.vf2Kernel.override {
kernelPatches = with pkgs; [
# https://lore.kernel.org/all/20230524000012.15028-1-andre.przywara@arm.com/
rec {
name = "axp15060-1.patch";
patch = fetchpatch {
inherit name;
url = "https://lore.kernel.org/all/20230524000012.15028-2-andre.przywara@arm.com/raw";
hash = "sha256-kj4vQaT4CV29EHv8MtuTgM/semIPDdv2dmveo/X27vU=";
};
}
rec {
name = "axp15060-2.patch";
patch = fetchpatch {
inherit name;
url = "https://lore.kernel.org/all/20230524000012.15028-3-andre.przywara@arm.com/raw";
hash = "sha256-QCPQyKqoapMtqEDB9QgAuXA7n8e1OtG+YlIgeSQBxXM=";
};
}
rec {
name = "axp15060-3.patch";
patch = fetchpatch {
inherit name;
url = "https://lore.kernel.org/all/20230524000012.15028-4-andre.przywara@arm.com/raw";
hash = "sha256-SpKDm4PXR6qs7kX5SGVpFF/EPBijMhX1NsFUHrlCynM=";
};
}
];
argsOverride = {
structuredExtraConfig = with lib.kernel; {
CPU_FREQ = yes;
CPUFREQ_DT = yes;
CPUFREQ_DT_PLATDEV = yes;
DMADEVICES = yes;
GPIO_SYSFS = yes;
HIBERNATION = yes;
NO_HZ_IDLE = yes;
POWER_RESET_GPIO_RESTART = yes;
PROC_KCORE = yes;
PWM = yes;
PWM_STARFIVE_PTC = yes;
RD_GZIP = yes;
SENSORS_SFCTEMP = yes;
SERIAL_8250_DW = yes;
SIFIVE_CCACHE = yes;
SIFIVE_PLIC = yes;
RTC_DRV_STARFIVE = yes;
SPI_PL022 = yes;
SPI_PL022_STARFIVE = yes;
I2C = yes;
MFD_AXP20X = yes;
MFD_AXP20X_I2C = yes;
REGULATOR_AXP20X = yes;
# FATAL: modpost: drivers/gpu/drm/verisilicon/vs_drm: struct of_device_id is not terminated with a NULL entry!
DRM_VERISILICON = no;
PL330_DMA = no;
};
preferBuiltin = true;
};
});
supportedFilesystems = lib.mkForce ["vfat" "ext4"];
kernelPackages = pkgs.linuxPackagesFor pkgs.vf2Kernel;
kernelParams = [
"console=tty0"
"console=ttyS0,115200"
@ -100,28 +37,29 @@
"boot.shell_on_fail"
];
consoleLogLevel = 7;
initrd.availableKernelModules = [
"dw_mmc-starfive"
"motorcomm"
"dwmac-starfive"
"cdns3-starfive"
"jh7110-trng"
"jh7110-crypto"
"phy-jh7110-usb"
"phy-starfive-dphy-rx"
"clk-starfive-jh7110-aon"
"clk-starfive-jh7110-stg"
# "clk-starfive-jh7110-vout"
"clk-starfive-jh7110-isp"
# "clk-starfive-jh7100-audio"
"phy-jh7110-pcie"
"pcie-starfive"
"nvme"
"nfsv4"
];
initrd.extraUtilsCommands = ''
copy_bin_and_libs ${pkgs.nfs-utils}/bin/mount.nfs
'';
initrd = {
network.enable = true;
network.flushBeforeStage2 = false;
availableKernelModules = [
"dw_mmc-starfive"
"motorcomm"
"dwmac-starfive"
"cdns3-starfive"
"jh7110-trng"
"jh7110-crypto"
"phy-jh7110-usb"
"phy-starfive-dphy-rx"
"clk-starfive-jh7110-aon"
"clk-starfive-jh7110-stg"
# "clk-starfive-jh7110-vout"
"clk-starfive-jh7110-isp"
# "clk-starfive-jh7100-audio"
"phy-jh7110-pcie"
"pcie-starfive"
"nvme"
"nfsv4"
];
};
blacklistedKernelModules = [
"clk-starfive-jh7110-vout"
];
@ -134,6 +72,11 @@
fi
done
'';
iscsi-initiator = {
discoverPortal = "192.168.2.1";
name = "iqn.2023-06.rs.chir:rs.chir.int.vf2";
target = "iqn.2023-06.rs.chir:rs.chir.int.nas.vf2";
};
};
fileSystems = {
@ -148,8 +91,6 @@
options = ["nofail" "local_lock=all" "nfsvers=4.2"];
};
};
boot.initrd.network.enable = true;
boot.initrd.network.flushBeforeStage2 = false;
hardware.deviceTree.name = "starfive/jh7110-starfive-visionfive-2-v1.3b.dtb";
system.stateVersion = "23.05";
home-manager.users.darkkirb = import ./home-manager/darkkirb.nix {
@ -182,16 +123,16 @@
system.autoUpgrade.allowReboot = true;
services.tailscale.useRoutingFeatures = "server";
boot.kernel.sysctl."net.ipv4.conf.all.forwarding" = true;
networking.useNetworkd = lib.mkForce false;
networking.interfaces.end0.useDHCP = true;
nixpkgs = {
buildPlatform.config = "x86_64-linux";
hostPlatform.config = "riscv64-linux";
pkgs = lib.mkForce (import nixpkgs {
system = "x86_64-linux";
crossSystem = "riscv64-linux";
inherit (config.nixpkgs) config overlays;
});
services.openiscsi = {
name = "iqn.2023-06.rs.chir:rs.chir.int.vf2";
discoverPortal = "192.168.2.1";
enable = true;
};
nix.settings.post-build-hook = lib.mkForce "true";
boot.binfmt.emulatedSystems = [
"x86_64-linux"
];
}

View file

@ -830,11 +830,11 @@
},
"haskell-flake": {
"locked": {
"lastModified": 1686160859,
"narHash": "sha256-UE+0TQHyPxF8jhbLEeqvNQAy7B79bBix/rpFrf5nsn0=",
"lastModified": 1686848176,
"narHash": "sha256-JUQ/Oqmp7yOhGiXCWzHqK05F6HEQu3Fyb/AxtSYGkSQ=",
"owner": "srid",
"repo": "haskell-flake",
"rev": "908a59167f78035a123ab71ed77af79bed519771",
"rev": "c5e908e1c959100416c2df35411bd363fac71406",
"type": "github"
},
"original": {
@ -865,11 +865,11 @@
]
},
"locked": {
"lastModified": 1686715156,
"narHash": "sha256-91S5sWEDREACTu7411J9dhHVGgK9eSeGz4bGCuu/kLo=",
"lastModified": 1687041769,
"narHash": "sha256-lPDVNMrDF/hOVy+P8pEtKzvSN/Akk9RbDcyNuvW1T+M=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "5db22bce05c776057fdb289da17f6c12049c4624",
"rev": "edf9cf65238609db16680be74fe28d4d4858476e",
"type": "github"
},
"original": {
@ -902,11 +902,11 @@
"hosts-list": {
"flake": false,
"locked": {
"lastModified": 1686756130,
"narHash": "sha256-nOlBYW+Jx2QIyL97EaB3ZGAbO58+/IbXrKqndhB4AmM=",
"lastModified": 1687024865,
"narHash": "sha256-4KEIC4buY2L2NFdIQVpkZPc26QRfVerQRsY2XqKTjNI=",
"owner": "StevenBlack",
"repo": "hosts",
"rev": "f731939d98c0e9975aa78a0d708d10aed08c3da5",
"rev": "6b64d2e573869b88c5c688a776b84f0062bfb7ab",
"type": "github"
},
"original": {
@ -1226,11 +1226,11 @@
]
},
"locked": {
"lastModified": 1686768467,
"narHash": "sha256-Zsdfr/nr7IqFPYeiAajjKPbtm8Qv63HQn9KcNeuWGfc=",
"lastModified": 1687068046,
"narHash": "sha256-Snh69PYUR8E56W6QtB210mhd9WiWs9umuQzpMOOOXN0=",
"ref": "main",
"rev": "fc9f56b6144cff24b4d52fd7d223b7f22387054f",
"revCount": 912,
"rev": "a9d8644c34f0b9821a4db5703a360824c1ca29be",
"revCount": 914,
"type": "git",
"url": "https://git.chir.rs/darkkirb/nix-packages.git"
},
@ -1378,11 +1378,11 @@
},
"nixos-hardware_2": {
"locked": {
"lastModified": 1686452266,
"narHash": "sha256-zLKiX0iu6jZFeZDpR1gE6fNyMr8eiM8GLnj9SoUCjFs=",
"lastModified": 1686838567,
"narHash": "sha256-aqKCUD126dRlVSKV6vWuDCitfjFrZlkwNuvj5LtjRRU=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "2a807ad6e8dc458db08588b78cc3c0f0ec4ff321",
"rev": "429f232fe1dc398c5afea19a51aad6931ee0fb89",
"type": "github"
},
"original": {
@ -1553,11 +1553,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1686755311,
"narHash": "sha256-DZveYTRML61VhdI0atj88NbIqQ8hh+qQAL/PyMYkZaE=",
"lastModified": 1687067358,
"narHash": "sha256-72Q/fToYtFauPR4+cjzrn1QsAfvwBktXKmGarBQnBrE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ad394839cae4c574fed34b058ff38b2d04f906e4",
"rev": "d7bc334a6cb316952aa0187590e15ea589743cd9",
"type": "github"
},
"original": {
@ -1583,11 +1583,11 @@
},
"nur_2": {
"locked": {
"lastModified": 1686732300,
"narHash": "sha256-7wwhRQ4X5vZF8c6xCL9FuF1meGvjmjg5uSb6DMZo7nE=",
"lastModified": 1687061392,
"narHash": "sha256-NYwmbCnNfxkEI8kkDFjvIfA+yWqe4ief4J9CVTGbC18=",
"owner": "nix-community",
"repo": "NUR",
"rev": "7ea3c0a513ce7538c139876763f5c9c87c4f1d99",
"rev": "dc059a33ffca01b284fb75a37f1f3445c348147a",
"type": "github"
},
"original": {
@ -1658,11 +1658,11 @@
]
},
"locked": {
"lastModified": 1686709572,
"narHash": "sha256-WRLfZK8p8mfhdghO4Ot9mcGkU4fMNlpYuJ9/D3HwCes=",
"lastModified": 1687055571,
"narHash": "sha256-UvLoO6u5n9TzY80BpM4DaacxvyJl7u9mm9CA72d309g=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "2d7fe187eff3a98254e8115c85bb67739693f221",
"rev": "2de557c780dcb127128ae987fca9d6c2b0d7dc0f",
"type": "github"
},
"original": {
@ -1706,11 +1706,11 @@
]
},
"locked": {
"lastModified": 1686453485,
"narHash": "sha256-75iPAcS6xuw4SNfqLmFCi9wWG1JmDNKaC8l3WJUkmDk=",
"lastModified": 1687058111,
"narHash": "sha256-xDSn/APfAdJinHV4reTfplX5XnLsJSGdVwHpmdgP9Mo=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "cb85e297937af1bd1434cf5f85a3f86a21dc8207",
"rev": "1634d2da53f079e7f5924efa7a96511cd9596f81",
"type": "github"
},
"original": {

View file

@ -235,9 +235,8 @@ rec {
};
packages.riscv64-linux = let
pkgs = import nixpkgs {
system = "x86_64-linux";
crossSystem = "riscv64-linux";
overlays = [self.overlays.riscv64-linux];
system = "riscv64-linux";
overlays = [self.overlays.riscv64-linux (import ./overlays/riscv.nix args)];
config.allowUnfree = true;
};
in {

View file

@ -1,6 +1,49 @@
self: prev: {
pandoc = prev.writeScriptBin "pandoc" "true";
args: self: prev: let
pkgsX86 = import args.nixpkgs {
system = "x86_64-linux";
crossSystem = "riscv64-linux";
overlays = [args.self.overlays.riscv64-linux];
config.allowUnfree = true;
};
lib = pkgsX86.lib;
in {
pandoc = self.writeScriptBin "pandoc" "true";
inherit (pkgsX86) gccgo gfortran nix;
inherit (args.attic.packages.x86_64-linux) attic-client;
meson = prev.meson.overrideAttrs (_: {
doCheck = false;
doInstallCheck = false;
});
libarchive = prev.libarchive.overrideAttrs (_: {
doCheck = false;
doInstallCheck = false;
});
openldap = prev.openldap.overrideAttrs (_: {
doCheck = false;
doInstallCheck = false;
});
bind = prev.bind.overrideAttrs (_: {
doCheck = false;
doInstallCheck = false;
});
restic = prev.restic.overrideAttrs (_: {
doCheck = false;
doInstallCheck = false;
});
libopus = prev.libopus.overrideAttrs (_: {
mesonFlags = [
(lib.mesonBool "fixed-point" false)
(lib.mesonBool "custom-modes" true)
(lib.mesonEnable "intrinsics" false)
(lib.mesonEnable "rtcd" false)
(lib.mesonEnable "asm" false)
(lib.mesonEnable "docs" false)
];
doCheck = false;
doInstallCheck = false;
});
openexr = prev.openexr.overrideAttrs (_: {
doCheck = false;
doInstallCheck = false;
});
}